about summary refs log tree commit diff
path: root/vendor/modernc.org/libc/errno
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/modernc.org/libc/errno')
-rw-r--r--vendor/modernc.org/libc/errno/capi_darwin_amd64.go7
-rw-r--r--vendor/modernc.org/libc/errno/capi_darwin_arm64.go7
-rw-r--r--vendor/modernc.org/libc/errno/capi_freebsd_386.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_freebsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_freebsd_arm.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_freebsd_arm64.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_illumos_amd64.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_linux_386.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_linux_amd64.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_linux_arm.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_linux_arm64.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_linux_loong64.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_linux_mips64le.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_linux_ppc64le.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_linux_riscv64.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_linux_s390x.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_netbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_netbsd_arm.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_openbsd_386.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_openbsd_amd64.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_openbsd_arm64.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_windows_386.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_windows_amd64.go5
-rw-r--r--vendor/modernc.org/libc/errno/capi_windows_arm64.go5
-rw-r--r--vendor/modernc.org/libc/errno/errno_darwin_amd64.go654
-rw-r--r--vendor/modernc.org/libc/errno/errno_darwin_arm64.go680
-rw-r--r--vendor/modernc.org/libc/errno/errno_freebsd_386.go158
-rw-r--r--vendor/modernc.org/libc/errno/errno_freebsd_amd64.go166
-rw-r--r--vendor/modernc.org/libc/errno/errno_freebsd_arm.go157
-rw-r--r--vendor/modernc.org/libc/errno/errno_freebsd_arm64.go166
-rw-r--r--vendor/modernc.org/libc/errno/errno_illumos_amd64.go167
-rw-r--r--vendor/modernc.org/libc/errno/errno_linux_386.go179
-rw-r--r--vendor/modernc.org/libc/errno/errno_linux_amd64.go187
-rw-r--r--vendor/modernc.org/libc/errno/errno_linux_arm.go177
-rw-r--r--vendor/modernc.org/libc/errno/errno_linux_arm64.go187
-rw-r--r--vendor/modernc.org/libc/errno/errno_linux_loong64.go198
-rw-r--r--vendor/modernc.org/libc/errno/errno_linux_mips64le.go187
-rw-r--r--vendor/modernc.org/libc/errno/errno_linux_ppc64le.go201
-rw-r--r--vendor/modernc.org/libc/errno/errno_linux_riscv64.go187
-rw-r--r--vendor/modernc.org/libc/errno/errno_linux_s390x.go187
-rw-r--r--vendor/modernc.org/libc/errno/errno_netbsd_amd64.go144
-rw-r--r--vendor/modernc.org/libc/errno/errno_netbsd_arm.go141
-rw-r--r--vendor/modernc.org/libc/errno/errno_openbsd_386.go133
-rw-r--r--vendor/modernc.org/libc/errno/errno_openbsd_amd64.go142
-rw-r--r--vendor/modernc.org/libc/errno/errno_openbsd_arm64.go142
-rw-r--r--vendor/modernc.org/libc/errno/errno_windows_386.go361
-rw-r--r--vendor/modernc.org/libc/errno/errno_windows_amd64.go360
-rw-r--r--vendor/modernc.org/libc/errno/errno_windows_arm64.go363
48 files changed, 5748 insertions, 0 deletions
diff --git a/vendor/modernc.org/libc/errno/capi_darwin_amd64.go b/vendor/modernc.org/libc/errno/capi_darwin_amd64.go
new file mode 100644
index 0000000..68fbc75
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_darwin_amd64.go
@@ -0,0 +1,7 @@
+// 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 -ignore-unsupported-alignment -o errno/errno_darwin_amd64.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{
+	"__darwin_check_fd_set_overflow": {},
+}
diff --git a/vendor/modernc.org/libc/errno/capi_darwin_arm64.go b/vendor/modernc.org/libc/errno/capi_darwin_arm64.go
new file mode 100644
index 0000000..ee647cc
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_darwin_arm64.go
@@ -0,0 +1,7 @@
+// 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 -ignore-unsupported-alignment -o errno/errno_darwin_arm64.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{
+	"__darwin_check_fd_set_overflow": {},
+}
diff --git a/vendor/modernc.org/libc/errno/capi_freebsd_386.go b/vendor/modernc.org/libc/errno/capi_freebsd_386.go
new file mode 100644
index 0000000..4e5fd8b
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_freebsd_386.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 -ignore-unsupported-alignment -o errno/errno_freebsd_386.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/errno/capi_freebsd_amd64.go b/vendor/modernc.org/libc/errno/capi_freebsd_amd64.go
new file mode 100644
index 0000000..59d20ad
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_freebsd_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 -ignore-unsupported-alignment -o errno/errno_freebsd_amd64.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/errno/capi_freebsd_arm.go b/vendor/modernc.org/libc/errno/capi_freebsd_arm.go
new file mode 100644
index 0000000..01fe67e
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_freebsd_arm.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 -ignore-unsupported-alignment -o errno/errno_freebsd_arm.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/errno/capi_freebsd_arm64.go b/vendor/modernc.org/libc/errno/capi_freebsd_arm64.go
new file mode 100644
index 0000000..59d20ad
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_freebsd_arm64.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 -ignore-unsupported-alignment -o errno/errno_freebsd_amd64.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/errno/capi_illumos_amd64.go b/vendor/modernc.org/libc/errno/capi_illumos_amd64.go
new file mode 100644
index 0000000..4fe785a
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_illumos_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 -ignore-unsupported-alignment -o errno/errno_illumos_amd64.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/errno/capi_linux_386.go b/vendor/modernc.org/libc/errno/capi_linux_386.go
new file mode 100644
index 0000000..e33ffcb
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_linux_386.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_linux_386.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/errno/capi_linux_amd64.go b/vendor/modernc.org/libc/errno/capi_linux_amd64.go
new file mode 100644
index 0000000..75a9226
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_linux_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 -ignore-unsupported-alignment -o errno/errno_linux_amd64.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/errno/capi_linux_arm.go b/vendor/modernc.org/libc/errno/capi_linux_arm.go
new file mode 100644
index 0000000..1be1b8d
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_linux_arm.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_linux_arm.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/errno/capi_linux_arm64.go b/vendor/modernc.org/libc/errno/capi_linux_arm64.go
new file mode 100644
index 0000000..1759c77
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_linux_arm64.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_linux_arm64.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/errno/capi_linux_loong64.go b/vendor/modernc.org/libc/errno/capi_linux_loong64.go
new file mode 100644
index 0000000..6193b2b
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_linux_loong64.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 -ignore-unsupported-alignment -o errno/errno_linux_loong64.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/errno/capi_linux_mips64le.go b/vendor/modernc.org/libc/errno/capi_linux_mips64le.go
new file mode 100644
index 0000000..75a9226
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_linux_mips64le.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 -ignore-unsupported-alignment -o errno/errno_linux_amd64.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/errno/capi_linux_ppc64le.go b/vendor/modernc.org/libc/errno/capi_linux_ppc64le.go
new file mode 100644
index 0000000..cbfad73
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_linux_ppc64le.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 -ignore-unsupported-alignment -o errno/errno_linux_ppc64le.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/errno/capi_linux_riscv64.go b/vendor/modernc.org/libc/errno/capi_linux_riscv64.go
new file mode 100644
index 0000000..630300a
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_linux_riscv64.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_linux_riscv64.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/errno/capi_linux_s390x.go b/vendor/modernc.org/libc/errno/capi_linux_s390x.go
new file mode 100644
index 0000000..dc03061
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_linux_s390x.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_linux_s390x.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
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 0000000..e8cdbe5
--- /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 -ignore-unsupported-alignment -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_netbsd_arm.go b/vendor/modernc.org/libc/errno/capi_netbsd_arm.go
new file mode 100644
index 0000000..a881394
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_netbsd_arm.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 -ignore-unsupported-alignment -o errno/errno_netbsd_arm.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/errno/capi_openbsd_386.go b/vendor/modernc.org/libc/errno/capi_openbsd_386.go
new file mode 100644
index 0000000..46d0ab0
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_openbsd_386.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 -ignore-unsupported-alignment -o errno/errno_openbsd_386.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/errno/capi_openbsd_amd64.go b/vendor/modernc.org/libc/errno/capi_openbsd_amd64.go
new file mode 100644
index 0000000..d81a2a1
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_openbsd_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 -ignore-unsupported-alignment -o errno/errno_openbsd_amd64.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/errno/capi_openbsd_arm64.go b/vendor/modernc.org/libc/errno/capi_openbsd_arm64.go
new file mode 100644
index 0000000..fd86138
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_openbsd_arm64.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 -ignore-unsupported-alignment -o errno/errno_openbsd_arm64.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
new file mode 100644
index 0000000..ccd54b7
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_windows_386.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 -ignore-unsupported-alignment -o errno/errno_windows_386.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/errno/capi_windows_amd64.go b/vendor/modernc.org/libc/errno/capi_windows_amd64.go
new file mode 100644
index 0000000..88b487f
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_windows_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_windows_amd64.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/errno/capi_windows_arm64.go b/vendor/modernc.org/libc/errno/capi_windows_arm64.go
new file mode 100644
index 0000000..b2a64d7
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/capi_windows_arm64.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_windows_arm64.go -pkgname errno', DO NOT EDIT.
+
+package errno
+
+var CAPI = map[string]struct{}{}
diff --git a/vendor/modernc.org/libc/errno/errno_darwin_amd64.go b/vendor/modernc.org/libc/errno/errno_darwin_amd64.go
new file mode 100644
index 0000000..6b369d2
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_darwin_amd64.go
@@ -0,0 +1,654 @@
+// 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 -ignore-unsupported-alignment -o errno/errno_darwin_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   // errno.h:94:1:
+	EACCES                                 = 13  // errno.h:101:1:
+	EADDRINUSE                             = 48  // errno.h:161:1:
+	EADDRNOTAVAIL                          = 49  // errno.h:162:1:
+	EAFNOSUPPORT                           = 47  // errno.h:160:1:
+	EAGAIN                                 = 35  // errno.h:129:1:
+	EALREADY                               = 37  // errno.h:132:1:
+	EAUTH                                  = 80  // errno.h:213:1:
+	EBADARCH                               = 86  // errno.h:226:1:
+	EBADEXEC                               = 85  // errno.h:225:1:
+	EBADF                                  = 9   // errno.h:96:1:
+	EBADMACHO                              = 88  // errno.h:228:1:
+	EBADMSG                                = 94  // errno.h:240:1:
+	EBADRPC                                = 72  // errno.h:201:1:
+	EBUSY                                  = 16  // errno.h:106:1:
+	ECANCELED                              = 89  // errno.h:231:1:
+	ECHILD                                 = 10  // errno.h:97:1:
+	ECONNABORTED                           = 53  // errno.h:168:1:
+	ECONNREFUSED                           = 61  // errno.h:178:1:
+	ECONNRESET                             = 54  // errno.h:169:1:
+	EDEADLK                                = 11  // errno.h:98:1:
+	EDESTADDRREQ                           = 39  // errno.h:136:1:
+	EDEVERR                                = 83  // errno.h:218:1:
+	EDOM                                   = 33  // errno.h:125:1:
+	EDQUOT                                 = 69  // errno.h:195:1:
+	EEXIST                                 = 17  // errno.h:107:1:
+	EFAULT                                 = 14  // errno.h:102:1:
+	EFBIG                                  = 27  // errno.h:117:1:
+	EFTYPE                                 = 79  // errno.h:212:1:
+	EHOSTDOWN                              = 64  // errno.h:185:1:
+	EHOSTUNREACH                           = 65  // errno.h:187:1:
+	EIDRM                                  = 90  // errno.h:233:1:
+	EILSEQ                                 = 92  // errno.h:235:1:
+	EINPROGRESS                            = 36  // errno.h:131:1:
+	EINTR                                  = 4   // errno.h:91:1:
+	EINVAL                                 = 22  // errno.h:112:1:
+	EIO                                    = 5   // errno.h:92:1:
+	EISCONN                                = 56  // errno.h:171:1:
+	EISDIR                                 = 21  // errno.h:111:1:
+	ELAST                                  = 106 // errno.h:263:1:
+	ELOOP                                  = 62  // errno.h:180:1:
+	EMFILE                                 = 24  // errno.h:114:1:
+	EMLINK                                 = 31  // errno.h:121:1:
+	EMSGSIZE                               = 40  // errno.h:137:1:
+	EMULTIHOP                              = 95  // errno.h:241:1:
+	ENAMETOOLONG                           = 63  // errno.h:181:1:
+	ENEEDAUTH                              = 81  // errno.h:214:1:
+	ENETDOWN                               = 50  // errno.h:165:1:
+	ENETRESET                              = 52  // errno.h:167:1:
+	ENETUNREACH                            = 51  // errno.h:166:1:
+	ENFILE                                 = 23  // errno.h:113:1:
+	ENOATTR                                = 93  // errno.h:237:1:
+	ENOBUFS                                = 55  // errno.h:170:1:
+	ENODATA                                = 96  // errno.h:242:1:
+	ENODEV                                 = 19  // errno.h:109:1:
+	ENOENT                                 = 2   // errno.h:89:1:
+	ENOEXEC                                = 8   // errno.h:95:1:
+	ENOLCK                                 = 77  // errno.h:208:1:
+	ENOLINK                                = 97  // errno.h:243:1:
+	ENOMEM                                 = 12  // errno.h:100:1:
+	ENOMSG                                 = 91  // errno.h:234:1:
+	ENOPOLICY                              = 103 // errno.h:254:1:
+	ENOPROTOOPT                            = 42  // errno.h:139:1:
+	ENOSPC                                 = 28  // errno.h:118:1:
+	ENOSR                                  = 98  // errno.h:244:1:
+	ENOSTR                                 = 99  // errno.h:245:1:
+	ENOSYS                                 = 78  // errno.h:209:1:
+	ENOTBLK                                = 15  // errno.h:104:1:
+	ENOTCONN                               = 57  // errno.h:172:1:
+	ENOTDIR                                = 20  // errno.h:110:1:
+	ENOTEMPTY                              = 66  // errno.h:188:1:
+	ENOTRECOVERABLE                        = 104 // errno.h:257:1:
+	ENOTSOCK                               = 38  // errno.h:135:1:
+	ENOTSUP                                = 45  // errno.h:144:1:
+	ENOTTY                                 = 25  // errno.h:115:1:
+	ENXIO                                  = 6   // errno.h:93:1:
+	EOPNOTSUPP                             = 102 // errno.h:251:1:
+	EOVERFLOW                              = 84  // errno.h:221:1:
+	EOWNERDEAD                             = 105 // errno.h:258:1:
+	EPERM                                  = 1   // errno.h:88:1:
+	EPFNOSUPPORT                           = 46  // errno.h:158:1:
+	EPIPE                                  = 32  // errno.h:122:1:
+	EPROCLIM                               = 67  // errno.h:192:1:
+	EPROCUNAVAIL                           = 76  // errno.h:205:1:
+	EPROGMISMATCH                          = 75  // errno.h:204:1:
+	EPROGUNAVAIL                           = 74  // errno.h:203:1:
+	EPROTO                                 = 100 // errno.h:246:1:
+	EPROTONOSUPPORT                        = 43  // errno.h:140:1:
+	EPROTOTYPE                             = 41  // errno.h:138:1:
+	EPWROFF                                = 82  // errno.h:217:1:
+	EQFULL                                 = 106 // errno.h:262:1:
+	ERANGE                                 = 34  // errno.h:126:1:
+	EREMOTE                                = 71  // errno.h:200:1:
+	EROFS                                  = 30  // errno.h:120:1:
+	ERPCMISMATCH                           = 73  // errno.h:202:1:
+	ESHLIBVERS                             = 87  // errno.h:227:1:
+	ESHUTDOWN                              = 58  // errno.h:174:1:
+	ESOCKTNOSUPPORT                        = 44  // errno.h:142:1:
+	ESPIPE                                 = 29  // errno.h:119:1:
+	ESRCH                                  = 3   // errno.h:90:1:
+	ESTALE                                 = 70  // errno.h:198:1:
+	ETIME                                  = 101 // errno.h:247:1:
+	ETIMEDOUT                              = 60  // errno.h:177:1:
+	ETOOMANYREFS                           = 59  // errno.h:175:1:
+	ETXTBSY                                = 26  // errno.h:116:1:
+	EUSERS                                 = 68  // errno.h:193:1:
+	EWOULDBLOCK                            = 35  // errno.h:130:1:
+	EXDEV                                  = 18  // errno.h:108:1:
+	X_CDEFS_H_                             = 0   // cdefs.h:68:1:
+	X_DARWIN_FEATURE_64_BIT_INODE          = 1   // cdefs.h:745:1:
+	X_DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1   // cdefs.h:771:1:
+	X_DARWIN_FEATURE_UNIX_CONFORMANCE      = 3   // cdefs.h:779:1:
+	X_ERRNO_T                              = 0   // _errno_t.h:29:1:
+	X_FILE_OFFSET_BITS                     = 64  // <builtin>:25:1:
+	X_LP64                                 = 1   // <predefined>:1:1:
+	X_Nonnull                              = 0   // cdefs.h:243:1:
+	X_Null_unspecified                     = 0   // cdefs.h:246:1:
+	X_Nullable                             = 0   // cdefs.h:240:1:
+	X_SYS_ERRNO_H_                         = 0   // errno.h:70: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 */
+
+var X__darwin_check_fd_set_overflow uintptr /* <builtin>:146:5: */
+
+// Copyright (c) 2000 Apple Computer, 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-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) 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.
+//
+//	@(#)errno.h	8.5 (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
+
+// 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.
+
+// In non-ANSI C environments, new programs will want ANSI-only C keywords
+// deleted from the program and old programs will want them left alone.
+// When using a compiler other than gcc, programs using the ANSI C keywords
+// const, inline etc. as normal identifiers should define -DNO_ANSI_KEYWORDS.
+// When using "gcc -traditional", we assume that this is the intent; if
+// __GNUC__ is defined but __STDC__ is not, we leave the new keywords alone.
+
+// __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) 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 */
+
+// Error codes
+
+// 11 was EAGAIN
+
+// math software
+
+// non-blocking and interrupt i/o
+
+// ipc/network software -- argument errors
+
+// ipc/network software -- operational errors
+
+// should be rearranged
+
+// quotas & mush
+
+// Network File System
+
+// Intelligent device errors
+
+// Program loading errors
+
+// This value is only discrete when compiling __DARWIN_UNIX03, or KERNEL
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_darwin_arm64.go b/vendor/modernc.org/libc/errno/errno_darwin_arm64.go
new file mode 100644
index 0000000..392f280
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_darwin_arm64.go
@@ -0,0 +1,680 @@
+// 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 -ignore-unsupported-alignment -o errno/errno_darwin_arm64.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   // errno.h:94:1:
+	EACCES                                 = 13  // errno.h:101:1:
+	EADDRINUSE                             = 48  // errno.h:161:1:
+	EADDRNOTAVAIL                          = 49  // errno.h:162:1:
+	EAFNOSUPPORT                           = 47  // errno.h:160:1:
+	EAGAIN                                 = 35  // errno.h:129:1:
+	EALREADY                               = 37  // errno.h:132:1:
+	EAUTH                                  = 80  // errno.h:213:1:
+	EBADARCH                               = 86  // errno.h:226:1:
+	EBADEXEC                               = 85  // errno.h:225:1:
+	EBADF                                  = 9   // errno.h:96:1:
+	EBADMACHO                              = 88  // errno.h:228:1:
+	EBADMSG                                = 94  // errno.h:240:1:
+	EBADRPC                                = 72  // errno.h:201:1:
+	EBUSY                                  = 16  // errno.h:106:1:
+	ECANCELED                              = 89  // errno.h:231:1:
+	ECHILD                                 = 10  // errno.h:97:1:
+	ECONNABORTED                           = 53  // errno.h:168:1:
+	ECONNREFUSED                           = 61  // errno.h:178:1:
+	ECONNRESET                             = 54  // errno.h:169:1:
+	EDEADLK                                = 11  // errno.h:98:1:
+	EDESTADDRREQ                           = 39  // errno.h:136:1:
+	EDEVERR                                = 83  // errno.h:218:1:
+	EDOM                                   = 33  // errno.h:125:1:
+	EDQUOT                                 = 69  // errno.h:195:1:
+	EEXIST                                 = 17  // errno.h:107:1:
+	EFAULT                                 = 14  // errno.h:102:1:
+	EFBIG                                  = 27  // errno.h:117:1:
+	EFTYPE                                 = 79  // errno.h:212:1:
+	EHOSTDOWN                              = 64  // errno.h:185:1:
+	EHOSTUNREACH                           = 65  // errno.h:187:1:
+	EIDRM                                  = 90  // errno.h:233:1:
+	EILSEQ                                 = 92  // errno.h:235:1:
+	EINPROGRESS                            = 36  // errno.h:131:1:
+	EINTR                                  = 4   // errno.h:91:1:
+	EINVAL                                 = 22  // errno.h:112:1:
+	EIO                                    = 5   // errno.h:92:1:
+	EISCONN                                = 56  // errno.h:171:1:
+	EISDIR                                 = 21  // errno.h:111:1:
+	ELAST                                  = 106 // errno.h:263:1:
+	ELOOP                                  = 62  // errno.h:180:1:
+	EMFILE                                 = 24  // errno.h:114:1:
+	EMLINK                                 = 31  // errno.h:121:1:
+	EMSGSIZE                               = 40  // errno.h:137:1:
+	EMULTIHOP                              = 95  // errno.h:241:1:
+	ENAMETOOLONG                           = 63  // errno.h:181:1:
+	ENEEDAUTH                              = 81  // errno.h:214:1:
+	ENETDOWN                               = 50  // errno.h:165:1:
+	ENETRESET                              = 52  // errno.h:167:1:
+	ENETUNREACH                            = 51  // errno.h:166:1:
+	ENFILE                                 = 23  // errno.h:113:1:
+	ENOATTR                                = 93  // errno.h:237:1:
+	ENOBUFS                                = 55  // errno.h:170:1:
+	ENODATA                                = 96  // errno.h:242:1:
+	ENODEV                                 = 19  // errno.h:109:1:
+	ENOENT                                 = 2   // errno.h:89:1:
+	ENOEXEC                                = 8   // errno.h:95:1:
+	ENOLCK                                 = 77  // errno.h:208:1:
+	ENOLINK                                = 97  // errno.h:243:1:
+	ENOMEM                                 = 12  // errno.h:100:1:
+	ENOMSG                                 = 91  // errno.h:234:1:
+	ENOPOLICY                              = 103 // errno.h:254:1:
+	ENOPROTOOPT                            = 42  // errno.h:139:1:
+	ENOSPC                                 = 28  // errno.h:118:1:
+	ENOSR                                  = 98  // errno.h:244:1:
+	ENOSTR                                 = 99  // errno.h:245:1:
+	ENOSYS                                 = 78  // errno.h:209:1:
+	ENOTBLK                                = 15  // errno.h:104:1:
+	ENOTCONN                               = 57  // errno.h:172:1:
+	ENOTDIR                                = 20  // errno.h:110:1:
+	ENOTEMPTY                              = 66  // errno.h:188:1:
+	ENOTRECOVERABLE                        = 104 // errno.h:257:1:
+	ENOTSOCK                               = 38  // errno.h:135:1:
+	ENOTSUP                                = 45  // errno.h:144:1:
+	ENOTTY                                 = 25  // errno.h:115:1:
+	ENXIO                                  = 6   // errno.h:93:1:
+	EOPNOTSUPP                             = 102 // errno.h:251:1:
+	EOVERFLOW                              = 84  // errno.h:221:1:
+	EOWNERDEAD                             = 105 // errno.h:258:1:
+	EPERM                                  = 1   // errno.h:88:1:
+	EPFNOSUPPORT                           = 46  // errno.h:158:1:
+	EPIPE                                  = 32  // errno.h:122:1:
+	EPROCLIM                               = 67  // errno.h:192:1:
+	EPROCUNAVAIL                           = 76  // errno.h:205:1:
+	EPROGMISMATCH                          = 75  // errno.h:204:1:
+	EPROGUNAVAIL                           = 74  // errno.h:203:1:
+	EPROTO                                 = 100 // errno.h:246:1:
+	EPROTONOSUPPORT                        = 43  // errno.h:140:1:
+	EPROTOTYPE                             = 41  // errno.h:138:1:
+	EPWROFF                                = 82  // errno.h:217:1:
+	EQFULL                                 = 106 // errno.h:262:1:
+	ERANGE                                 = 34  // errno.h:126:1:
+	EREMOTE                                = 71  // errno.h:200:1:
+	EROFS                                  = 30  // errno.h:120:1:
+	ERPCMISMATCH                           = 73  // errno.h:202:1:
+	ESHLIBVERS                             = 87  // errno.h:227:1:
+	ESHUTDOWN                              = 58  // errno.h:174:1:
+	ESOCKTNOSUPPORT                        = 44  // errno.h:142:1:
+	ESPIPE                                 = 29  // errno.h:119:1:
+	ESRCH                                  = 3   // errno.h:90:1:
+	ESTALE                                 = 70  // errno.h:198:1:
+	ETIME                                  = 101 // errno.h:247:1:
+	ETIMEDOUT                              = 60  // errno.h:177:1:
+	ETOOMANYREFS                           = 59  // errno.h:175:1:
+	ETXTBSY                                = 26  // errno.h:116:1:
+	EUSERS                                 = 68  // errno.h:193:1:
+	EWOULDBLOCK                            = 35  // errno.h:130:1:
+	EXDEV                                  = 18  // errno.h:108:1:
+	X_CDEFS_H_                             = 0   // cdefs.h:68:1:
+	X_DARWIN_FEATURE_64_BIT_INODE          = 1   // cdefs.h:774:1:
+	X_DARWIN_FEATURE_ONLY_64_BIT_INODE     = 1   // cdefs.h:784:1:
+	X_DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1   // cdefs.h:800:1:
+	X_DARWIN_FEATURE_ONLY_VERS_1050        = 1   // cdefs.h:792:1:
+	X_DARWIN_FEATURE_UNIX_CONFORMANCE      = 3   // cdefs.h:808:1:
+	X_ERRNO_T                              = 0   // _errno_t.h:29:1:
+	X_FILE_OFFSET_BITS                     = 64  // <builtin>:25:1:
+	X_LP64                                 = 1   // <predefined>:1:1:
+	X_Nonnull                              = 0   // cdefs.h:268:1:
+	X_Null_unspecified                     = 0   // cdefs.h:271:1:
+	X_Nullable                             = 0   // cdefs.h:265:1:
+	X_SYS_ERRNO_H_                         = 0   // errno.h:70: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 */
+
+var X__darwin_check_fd_set_overflow uintptr /* <builtin>:146:5: */
+
+// Copyright (c) 2000 Apple Computer, 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-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) 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.
+//
+//	@(#)errno.h	8.5 (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
+
+// 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.
+
+// In non-ANSI C environments, new programs will want ANSI-only C keywords
+// deleted from the program and old programs will want them left alone.
+// When using a compiler other than gcc, programs using the ANSI C keywords
+// const, inline etc. as normal identifiers should define -DNO_ANSI_KEYWORDS.
+// When using "gcc -traditional", we assume that this is the intent; if
+// __GNUC__ is defined but __STDC__ is not, we leave the new keywords alone.
+
+// __pure2 can be used for functions that are only a function of their scalar
+// arguments (meaning they can't dereference pointers).
+//
+// __stateful_pure can be used for functions that have no side effects,
+// but depend on the state of the memory.
+
+// __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.
+
+// We intentionally define to nothing pointer attributes which do not have an
+// impact on the ABI. __indexable and __bidi_indexable are not defined because
+// of the ABI incompatibility that makes the diagnostic preferable.
+
+// Similarly, we intentionally define to nothing the
+// __ptrcheck_abi_assume_single and __ptrcheck_abi_assume_unsafe_indexable
+// macros because they do not lead to an ABI incompatibility. However, we do not
+// define the indexable and unsafe_indexable ones because the diagnostic is
+// better than the silent ABI break.
+
+// __unsafe_forge intrinsics are defined as regular C casts.
+
+// decay operates normally; attribute is meaningless without pointer checks.
+
+// 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) 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 */
+
+// Error codes
+
+// 11 was EAGAIN
+
+// math software
+
+// non-blocking and interrupt i/o
+
+// ipc/network software -- argument errors
+
+// ipc/network software -- operational errors
+
+// should be rearranged
+
+// quotas & mush
+
+// Network File System
+
+// Intelligent device errors
+
+// Program loading errors
+
+// This value is only discrete when compiling __DARWIN_UNIX03, or KERNEL
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_freebsd_386.go b/vendor/modernc.org/libc/errno/errno_freebsd_386.go
new file mode 100644
index 0000000..f714b62
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_freebsd_386.go
@@ -0,0 +1,158 @@
+// 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 -ignore-unsupported-alignment -o errno/errno_freebsd_386.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  // errno.h:57:1:
+	EACCES             = 13 // errno.h:64:1:
+	EADDRINUSE         = 48 // errno.h:112:1:
+	EADDRNOTAVAIL      = 49 // errno.h:113:1:
+	EAFNOSUPPORT       = 47 // errno.h:111:1:
+	EAGAIN             = 35 // errno.h:94:1:
+	EALREADY           = 37 // errno.h:98:1:
+	EAUTH              = 80 // errno.h:161:1:
+	EBADF              = 9  // errno.h:59:1:
+	EBADMSG            = 89 // errno.h:173:1:
+	EBADRPC            = 72 // errno.h:149:1:
+	EBUSY              = 16 // errno.h:69:1:
+	ECANCELED          = 85 // errno.h:166:1:
+	ECAPMODE           = 94 // errno.h:180:1:
+	ECHILD             = 10 // errno.h:60:1:
+	ECONNABORTED       = 53 // errno.h:119:1:
+	ECONNREFUSED       = 61 // errno.h:127:1:
+	ECONNRESET         = 54 // errno.h:120:1:
+	EDEADLK            = 11 // errno.h:61:1:
+	EDESTADDRREQ       = 39 // errno.h:102:1:
+	EDOM               = 33 // errno.h:90:1:
+	EDOOFUS            = 88 // errno.h:170:1:
+	EDQUOT             = 69 // errno.h:144:1:
+	EEXIST             = 17 // errno.h:70:1:
+	EFAULT             = 14 // errno.h:65:1:
+	EFBIG              = 27 // errno.h:82:1:
+	EFTYPE             = 79 // errno.h:160:1:
+	EHOSTDOWN          = 64 // errno.h:135:1:
+	EHOSTUNREACH       = 65 // errno.h:136:1:
+	EIDRM              = 82 // errno.h:163:1:
+	EILSEQ             = 86 // errno.h:167:1:
+	EINPROGRESS        = 36 // errno.h:97:1:
+	EINTEGRITY         = 97 // errno.h:183:1:
+	EINTR              = 4  // errno.h:54:1:
+	EINVAL             = 22 // errno.h:75:1:
+	EIO                = 5  // errno.h:55:1:
+	EISCONN            = 56 // errno.h:122:1:
+	EISDIR             = 21 // errno.h:74:1:
+	ELAST              = 97 // errno.h:187:1:
+	ELOOP              = 62 // errno.h:129:1:
+	EMFILE             = 24 // errno.h:77:1:
+	EMLINK             = 31 // errno.h:86:1:
+	EMSGSIZE           = 40 // errno.h:103:1:
+	EMULTIHOP          = 90 // errno.h:174:1:
+	ENAMETOOLONG       = 63 // errno.h:131:1:
+	ENEEDAUTH          = 81 // errno.h:162:1:
+	ENETDOWN           = 50 // errno.h:116:1:
+	ENETRESET          = 52 // errno.h:118:1:
+	ENETUNREACH        = 51 // errno.h:117:1:
+	ENFILE             = 23 // errno.h:76:1:
+	ENOATTR            = 87 // errno.h:168:1:
+	ENOBUFS            = 55 // errno.h:121:1:
+	ENODEV             = 19 // errno.h:72:1:
+	ENOENT             = 2  // errno.h:52:1:
+	ENOEXEC            = 8  // errno.h:58:1:
+	ENOLCK             = 77 // errno.h:156:1:
+	ENOLINK            = 91 // errno.h:175:1:
+	ENOMEM             = 12 // errno.h:63:1:
+	ENOMSG             = 83 // errno.h:164:1:
+	ENOPROTOOPT        = 42 // errno.h:105:1:
+	ENOSPC             = 28 // errno.h:83:1:
+	ENOSYS             = 78 // errno.h:157:1:
+	ENOTBLK            = 15 // errno.h:67:1:
+	ENOTCAPABLE        = 93 // errno.h:179:1:
+	ENOTCONN           = 57 // errno.h:123:1:
+	ENOTDIR            = 20 // errno.h:73:1:
+	ENOTEMPTY          = 66 // errno.h:138:1:
+	ENOTRECOVERABLE    = 95 // errno.h:181:1:
+	ENOTSOCK           = 38 // errno.h:101:1:
+	ENOTSUP            = 45 // errno.h:109:1:
+	ENOTTY             = 25 // errno.h:78:1:
+	ENXIO              = 6  // errno.h:56:1:
+	EOPNOTSUPP         = 45 // errno.h:108:1:
+	EOVERFLOW          = 84 // errno.h:165:1:
+	EOWNERDEAD         = 96 // errno.h:182:1:
+	EPERM              = 1  // errno.h:51:1:
+	EPFNOSUPPORT       = 46 // errno.h:110:1:
+	EPIPE              = 32 // errno.h:87:1:
+	EPROCLIM           = 67 // errno.h:142:1:
+	EPROCUNAVAIL       = 76 // errno.h:153:1:
+	EPROGMISMATCH      = 75 // errno.h:152:1:
+	EPROGUNAVAIL       = 74 // errno.h:151:1:
+	EPROTO             = 92 // errno.h:176:1:
+	EPROTONOSUPPORT    = 43 // errno.h:106:1:
+	EPROTOTYPE         = 41 // errno.h:104:1:
+	ERANGE             = 34 // errno.h:91:1:
+	EREMOTE            = 71 // errno.h:148:1:
+	EROFS              = 30 // errno.h:85:1:
+	ERPCMISMATCH       = 73 // errno.h:150:1:
+	ESHUTDOWN          = 58 // errno.h:124:1:
+	ESOCKTNOSUPPORT    = 44 // errno.h:107:1:
+	ESPIPE             = 29 // errno.h:84:1:
+	ESRCH              = 3  // errno.h:53:1:
+	ESTALE             = 70 // errno.h:147:1:
+	ETIMEDOUT          = 60 // errno.h:126:1:
+	ETOOMANYREFS       = 59 // errno.h:125:1:
+	ETXTBSY            = 26 // errno.h:80:1:
+	EUSERS             = 68 // errno.h:143:1:
+	EWOULDBLOCK        = 35 // errno.h:96:1:
+	EXDEV              = 18 // errno.h:71:1:
+	X_ERRNO_T_DEFINED  = 0  // errno.h:203:1:
+	X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
+	X_ILP32            = 1  // <predefined>:1:1:
+	X_Nonnull          = 0  // cdefs.h:790:1:
+	X_Null_unspecified = 0  // cdefs.h:792:1:
+	X_Nullable         = 0  // cdefs.h:791:1:
+	X_SYS_CDEFS_H_     = 0  // cdefs.h:39:1:
+	X_SYS_ERRNO_H_     = 0  // errno.h:41:1:
+	I386               = 1  // <predefined>:335:1:
+	Unix               = 1  // <predefined>:336:1:
+)
+
+type Ptrdiff_t = int32 /* <builtin>:3:26 */
+
+type Size_t = uint32 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64        /* <builtin>:47:21 */
+
+// 11 was EAGAIN
+
+// math software
+
+// non-blocking and interrupt i/o
+
+// ipc/network software -- argument errors
+
+// ipc/network software -- operational errors
+
+// should be rearranged
+
+// quotas & mush
+
+// Network File System
+
+// ISO/IEC 9899:2011 K.3.2.2
+type Errno_t = int32 /* errno.h:204:13 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_freebsd_amd64.go b/vendor/modernc.org/libc/errno/errno_freebsd_amd64.go
new file mode 100644
index 0000000..9a38a2d
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_freebsd_amd64.go
@@ -0,0 +1,166 @@
+// 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 -ignore-unsupported-alignment -o errno/errno_freebsd_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  // errno.h:57:1:
+	EACCES             = 13 // errno.h:64:1:
+	EADDRINUSE         = 48 // errno.h:112:1:
+	EADDRNOTAVAIL      = 49 // errno.h:113:1:
+	EAFNOSUPPORT       = 47 // errno.h:111:1:
+	EAGAIN             = 35 // errno.h:94:1:
+	EALREADY           = 37 // errno.h:98:1:
+	EAUTH              = 80 // errno.h:161:1:
+	EBADF              = 9  // errno.h:59:1:
+	EBADMSG            = 89 // errno.h:173:1:
+	EBADRPC            = 72 // errno.h:149:1:
+	EBUSY              = 16 // errno.h:69:1:
+	ECANCELED          = 85 // errno.h:166:1:
+	ECAPMODE           = 94 // errno.h:180:1:
+	ECHILD             = 10 // errno.h:60:1:
+	ECONNABORTED       = 53 // errno.h:119:1:
+	ECONNREFUSED       = 61 // errno.h:127:1:
+	ECONNRESET         = 54 // errno.h:120:1:
+	EDEADLK            = 11 // errno.h:61:1:
+	EDESTADDRREQ       = 39 // errno.h:102:1:
+	EDOM               = 33 // errno.h:90:1:
+	EDOOFUS            = 88 // errno.h:170:1:
+	EDQUOT             = 69 // errno.h:144:1:
+	EEXIST             = 17 // errno.h:70:1:
+	EFAULT             = 14 // errno.h:65:1:
+	EFBIG              = 27 // errno.h:82:1:
+	EFTYPE             = 79 // errno.h:160:1:
+	EHOSTDOWN          = 64 // errno.h:135:1:
+	EHOSTUNREACH       = 65 // errno.h:136:1:
+	EIDRM              = 82 // errno.h:163:1:
+	EILSEQ             = 86 // errno.h:167:1:
+	EINPROGRESS        = 36 // errno.h:97:1:
+	EINTEGRITY         = 97 // errno.h:183:1:
+	EINTR              = 4  // errno.h:54:1:
+	EINVAL             = 22 // errno.h:75:1:
+	EIO                = 5  // errno.h:55:1:
+	EISCONN            = 56 // errno.h:122:1:
+	EISDIR             = 21 // errno.h:74:1:
+	ELAST              = 97 // errno.h:187:1:
+	ELOOP              = 62 // errno.h:129:1:
+	EMFILE             = 24 // errno.h:77:1:
+	EMLINK             = 31 // errno.h:86:1:
+	EMSGSIZE           = 40 // errno.h:103:1:
+	EMULTIHOP          = 90 // errno.h:174:1:
+	ENAMETOOLONG       = 63 // errno.h:131:1:
+	ENEEDAUTH          = 81 // errno.h:162:1:
+	ENETDOWN           = 50 // errno.h:116:1:
+	ENETRESET          = 52 // errno.h:118:1:
+	ENETUNREACH        = 51 // errno.h:117:1:
+	ENFILE             = 23 // errno.h:76:1:
+	ENOATTR            = 87 // errno.h:168:1:
+	ENOBUFS            = 55 // errno.h:121:1:
+	ENODEV             = 19 // errno.h:72:1:
+	ENOENT             = 2  // errno.h:52:1:
+	ENOEXEC            = 8  // errno.h:58:1:
+	ENOLCK             = 77 // errno.h:156:1:
+	ENOLINK            = 91 // errno.h:175:1:
+	ENOMEM             = 12 // errno.h:63:1:
+	ENOMSG             = 83 // errno.h:164:1:
+	ENOPROTOOPT        = 42 // errno.h:105:1:
+	ENOSPC             = 28 // errno.h:83:1:
+	ENOSYS             = 78 // errno.h:157:1:
+	ENOTBLK            = 15 // errno.h:67:1:
+	ENOTCAPABLE        = 93 // errno.h:179:1:
+	ENOTCONN           = 57 // errno.h:123:1:
+	ENOTDIR            = 20 // errno.h:73:1:
+	ENOTEMPTY          = 66 // errno.h:138:1:
+	ENOTRECOVERABLE    = 95 // errno.h:181:1:
+	ENOTSOCK           = 38 // errno.h:101:1:
+	ENOTSUP            = 45 // errno.h:109:1:
+	ENOTTY             = 25 // errno.h:78:1:
+	ENXIO              = 6  // errno.h:56:1:
+	EOPNOTSUPP         = 45 // errno.h:108:1:
+	EOVERFLOW          = 84 // errno.h:165:1:
+	EOWNERDEAD         = 96 // errno.h:182:1:
+	EPERM              = 1  // errno.h:51:1:
+	EPFNOSUPPORT       = 46 // errno.h:110:1:
+	EPIPE              = 32 // errno.h:87:1:
+	EPROCLIM           = 67 // errno.h:142:1:
+	EPROCUNAVAIL       = 76 // errno.h:153:1:
+	EPROGMISMATCH      = 75 // errno.h:152:1:
+	EPROGUNAVAIL       = 74 // errno.h:151:1:
+	EPROTO             = 92 // errno.h:176:1:
+	EPROTONOSUPPORT    = 43 // errno.h:106:1:
+	EPROTOTYPE         = 41 // errno.h:104:1:
+	ERANGE             = 34 // errno.h:91:1:
+	EREMOTE            = 71 // errno.h:148:1:
+	EROFS              = 30 // errno.h:85:1:
+	ERPCMISMATCH       = 73 // errno.h:150:1:
+	ESHUTDOWN          = 58 // errno.h:124:1:
+	ESOCKTNOSUPPORT    = 44 // errno.h:107:1:
+	ESPIPE             = 29 // errno.h:84:1:
+	ESRCH              = 3  // errno.h:53:1:
+	ESTALE             = 70 // errno.h:147:1:
+	ETIMEDOUT          = 60 // errno.h:126:1:
+	ETOOMANYREFS       = 59 // errno.h:125:1:
+	ETXTBSY            = 26 // errno.h:80:1:
+	EUSERS             = 68 // errno.h:143:1:
+	EWOULDBLOCK        = 35 // errno.h:96:1:
+	EXDEV              = 18 // errno.h:71:1:
+	X_ERRNO_T_DEFINED  = 0  // errno.h:203:1:
+	X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
+	X_LP64             = 1  // <predefined>:1:1:
+	X_Nonnull          = 0  // cdefs.h:790:1:
+	X_Null_unspecified = 0  // cdefs.h:792:1:
+	X_Nullable         = 0  // cdefs.h:791:1:
+	X_SYS_CDEFS_H_     = 0  // cdefs.h:39:1:
+	X_SYS_ERRNO_H_     = 0  // errno.h:41:1:
+	Unix               = 1  // <predefined>:340: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 */
+
+// 11 was EAGAIN
+
+// math software
+
+// non-blocking and interrupt i/o
+
+// ipc/network software -- argument errors
+
+// ipc/network software -- operational errors
+
+// should be rearranged
+
+// quotas & mush
+
+// Network File System
+
+// ISO/IEC 9899:2011 K.3.2.2
+type Errno_t = int32 /* errno.h:204:13 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_freebsd_arm.go b/vendor/modernc.org/libc/errno/errno_freebsd_arm.go
new file mode 100644
index 0000000..6e7b898
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_freebsd_arm.go
@@ -0,0 +1,157 @@
+// 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 -ignore-unsupported-alignment -o errno/errno_freebsd_arm.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  // errno.h:57:1:
+	EACCES             = 13 // errno.h:64:1:
+	EADDRINUSE         = 48 // errno.h:112:1:
+	EADDRNOTAVAIL      = 49 // errno.h:113:1:
+	EAFNOSUPPORT       = 47 // errno.h:111:1:
+	EAGAIN             = 35 // errno.h:94:1:
+	EALREADY           = 37 // errno.h:98:1:
+	EAUTH              = 80 // errno.h:161:1:
+	EBADF              = 9  // errno.h:59:1:
+	EBADMSG            = 89 // errno.h:173:1:
+	EBADRPC            = 72 // errno.h:149:1:
+	EBUSY              = 16 // errno.h:69:1:
+	ECANCELED          = 85 // errno.h:166:1:
+	ECAPMODE           = 94 // errno.h:180:1:
+	ECHILD             = 10 // errno.h:60:1:
+	ECONNABORTED       = 53 // errno.h:119:1:
+	ECONNREFUSED       = 61 // errno.h:127:1:
+	ECONNRESET         = 54 // errno.h:120:1:
+	EDEADLK            = 11 // errno.h:61:1:
+	EDESTADDRREQ       = 39 // errno.h:102:1:
+	EDOM               = 33 // errno.h:90:1:
+	EDOOFUS            = 88 // errno.h:170:1:
+	EDQUOT             = 69 // errno.h:144:1:
+	EEXIST             = 17 // errno.h:70:1:
+	EFAULT             = 14 // errno.h:65:1:
+	EFBIG              = 27 // errno.h:82:1:
+	EFTYPE             = 79 // errno.h:160:1:
+	EHOSTDOWN          = 64 // errno.h:135:1:
+	EHOSTUNREACH       = 65 // errno.h:136:1:
+	EIDRM              = 82 // errno.h:163:1:
+	EILSEQ             = 86 // errno.h:167:1:
+	EINPROGRESS        = 36 // errno.h:97:1:
+	EINTEGRITY         = 97 // errno.h:183:1:
+	EINTR              = 4  // errno.h:54:1:
+	EINVAL             = 22 // errno.h:75:1:
+	EIO                = 5  // errno.h:55:1:
+	EISCONN            = 56 // errno.h:122:1:
+	EISDIR             = 21 // errno.h:74:1:
+	ELAST              = 97 // errno.h:187:1:
+	ELOOP              = 62 // errno.h:129:1:
+	EMFILE             = 24 // errno.h:77:1:
+	EMLINK             = 31 // errno.h:86:1:
+	EMSGSIZE           = 40 // errno.h:103:1:
+	EMULTIHOP          = 90 // errno.h:174:1:
+	ENAMETOOLONG       = 63 // errno.h:131:1:
+	ENEEDAUTH          = 81 // errno.h:162:1:
+	ENETDOWN           = 50 // errno.h:116:1:
+	ENETRESET          = 52 // errno.h:118:1:
+	ENETUNREACH        = 51 // errno.h:117:1:
+	ENFILE             = 23 // errno.h:76:1:
+	ENOATTR            = 87 // errno.h:168:1:
+	ENOBUFS            = 55 // errno.h:121:1:
+	ENODEV             = 19 // errno.h:72:1:
+	ENOENT             = 2  // errno.h:52:1:
+	ENOEXEC            = 8  // errno.h:58:1:
+	ENOLCK             = 77 // errno.h:156:1:
+	ENOLINK            = 91 // errno.h:175:1:
+	ENOMEM             = 12 // errno.h:63:1:
+	ENOMSG             = 83 // errno.h:164:1:
+	ENOPROTOOPT        = 42 // errno.h:105:1:
+	ENOSPC             = 28 // errno.h:83:1:
+	ENOSYS             = 78 // errno.h:157:1:
+	ENOTBLK            = 15 // errno.h:67:1:
+	ENOTCAPABLE        = 93 // errno.h:179:1:
+	ENOTCONN           = 57 // errno.h:123:1:
+	ENOTDIR            = 20 // errno.h:73:1:
+	ENOTEMPTY          = 66 // errno.h:138:1:
+	ENOTRECOVERABLE    = 95 // errno.h:181:1:
+	ENOTSOCK           = 38 // errno.h:101:1:
+	ENOTSUP            = 45 // errno.h:109:1:
+	ENOTTY             = 25 // errno.h:78:1:
+	ENXIO              = 6  // errno.h:56:1:
+	EOPNOTSUPP         = 45 // errno.h:108:1:
+	EOVERFLOW          = 84 // errno.h:165:1:
+	EOWNERDEAD         = 96 // errno.h:182:1:
+	EPERM              = 1  // errno.h:51:1:
+	EPFNOSUPPORT       = 46 // errno.h:110:1:
+	EPIPE              = 32 // errno.h:87:1:
+	EPROCLIM           = 67 // errno.h:142:1:
+	EPROCUNAVAIL       = 76 // errno.h:153:1:
+	EPROGMISMATCH      = 75 // errno.h:152:1:
+	EPROGUNAVAIL       = 74 // errno.h:151:1:
+	EPROTO             = 92 // errno.h:176:1:
+	EPROTONOSUPPORT    = 43 // errno.h:106:1:
+	EPROTOTYPE         = 41 // errno.h:104:1:
+	ERANGE             = 34 // errno.h:91:1:
+	EREMOTE            = 71 // errno.h:148:1:
+	EROFS              = 30 // errno.h:85:1:
+	ERPCMISMATCH       = 73 // errno.h:150:1:
+	ESHUTDOWN          = 58 // errno.h:124:1:
+	ESOCKTNOSUPPORT    = 44 // errno.h:107:1:
+	ESPIPE             = 29 // errno.h:84:1:
+	ESRCH              = 3  // errno.h:53:1:
+	ESTALE             = 70 // errno.h:147:1:
+	ETIMEDOUT          = 60 // errno.h:126:1:
+	ETOOMANYREFS       = 59 // errno.h:125:1:
+	ETXTBSY            = 26 // errno.h:80:1:
+	EUSERS             = 68 // errno.h:143:1:
+	EWOULDBLOCK        = 35 // errno.h:96:1:
+	EXDEV              = 18 // errno.h:71:1:
+	X_ERRNO_T_DEFINED  = 0  // errno.h:203:1:
+	X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
+	X_ILP32            = 1  // <predefined>:1:1:
+	X_Nonnull          = 0  // cdefs.h:790:1:
+	X_Null_unspecified = 0  // cdefs.h:792:1:
+	X_Nullable         = 0  // cdefs.h:791:1:
+	X_SYS_CDEFS_H_     = 0  // cdefs.h:39:1:
+	X_SYS_ERRNO_H_     = 0  // errno.h:41:1:
+	Unix               = 1  // <predefined>:367:1:
+)
+
+type Ptrdiff_t = int32 /* <builtin>:3:26 */
+
+type Size_t = uint32 /* <builtin>:9:23 */
+
+type Wchar_t = uint32 /* <builtin>:15:24 */
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64        /* <builtin>:47:21 */
+
+// 11 was EAGAIN
+
+// math software
+
+// non-blocking and interrupt i/o
+
+// ipc/network software -- argument errors
+
+// ipc/network software -- operational errors
+
+// should be rearranged
+
+// quotas & mush
+
+// Network File System
+
+// ISO/IEC 9899:2011 K.3.2.2
+type Errno_t = int32 /* errno.h:204:13 */
+
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_freebsd_arm64.go b/vendor/modernc.org/libc/errno/errno_freebsd_arm64.go
new file mode 100644
index 0000000..9a38a2d
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_freebsd_arm64.go
@@ -0,0 +1,166 @@
+// 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 -ignore-unsupported-alignment -o errno/errno_freebsd_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  // errno.h:57:1:
+	EACCES             = 13 // errno.h:64:1:
+	EADDRINUSE         = 48 // errno.h:112:1:
+	EADDRNOTAVAIL      = 49 // errno.h:113:1:
+	EAFNOSUPPORT       = 47 // errno.h:111:1:
+	EAGAIN             = 35 // errno.h:94:1:
+	EALREADY           = 37 // errno.h:98:1:
+	EAUTH              = 80 // errno.h:161:1:
+	EBADF              = 9  // errno.h:59:1:
+	EBADMSG            = 89 // errno.h:173:1:
+	EBADRPC            = 72 // errno.h:149:1:
+	EBUSY              = 16 // errno.h:69:1:
+	ECANCELED          = 85 // errno.h:166:1:
+	ECAPMODE           = 94 // errno.h:180:1:
+	ECHILD             = 10 // errno.h:60:1:
+	ECONNABORTED       = 53 // errno.h:119:1:
+	ECONNREFUSED       = 61 // errno.h:127:1:
+	ECONNRESET         = 54 // errno.h:120:1:
+	EDEADLK            = 11 // errno.h:61:1:
+	EDESTADDRREQ       = 39 // errno.h:102:1:
+	EDOM               = 33 // errno.h:90:1:
+	EDOOFUS            = 88 // errno.h:170:1:
+	EDQUOT             = 69 // errno.h:144:1:
+	EEXIST             = 17 // errno.h:70:1:
+	EFAULT             = 14 // errno.h:65:1:
+	EFBIG              = 27 // errno.h:82:1:
+	EFTYPE             = 79 // errno.h:160:1:
+	EHOSTDOWN          = 64 // errno.h:135:1:
+	EHOSTUNREACH       = 65 // errno.h:136:1:
+	EIDRM              = 82 // errno.h:163:1:
+	EILSEQ             = 86 // errno.h:167:1:
+	EINPROGRESS        = 36 // errno.h:97:1:
+	EINTEGRITY         = 97 // errno.h:183:1:
+	EINTR              = 4  // errno.h:54:1:
+	EINVAL             = 22 // errno.h:75:1:
+	EIO                = 5  // errno.h:55:1:
+	EISCONN            = 56 // errno.h:122:1:
+	EISDIR             = 21 // errno.h:74:1:
+	ELAST              = 97 // errno.h:187:1:
+	ELOOP              = 62 // errno.h:129:1:
+	EMFILE             = 24 // errno.h:77:1:
+	EMLINK             = 31 // errno.h:86:1:
+	EMSGSIZE           = 40 // errno.h:103:1:
+	EMULTIHOP          = 90 // errno.h:174:1:
+	ENAMETOOLONG       = 63 // errno.h:131:1:
+	ENEEDAUTH          = 81 // errno.h:162:1:
+	ENETDOWN           = 50 // errno.h:116:1:
+	ENETRESET          = 52 // errno.h:118:1:
+	ENETUNREACH        = 51 // errno.h:117:1:
+	ENFILE             = 23 // errno.h:76:1:
+	ENOATTR            = 87 // errno.h:168:1:
+	ENOBUFS            = 55 // errno.h:121:1:
+	ENODEV             = 19 // errno.h:72:1:
+	ENOENT             = 2  // errno.h:52:1:
+	ENOEXEC            = 8  // errno.h:58:1:
+	ENOLCK             = 77 // errno.h:156:1:
+	ENOLINK            = 91 // errno.h:175:1:
+	ENOMEM             = 12 // errno.h:63:1:
+	ENOMSG             = 83 // errno.h:164:1:
+	ENOPROTOOPT        = 42 // errno.h:105:1:
+	ENOSPC             = 28 // errno.h:83:1:
+	ENOSYS             = 78 // errno.h:157:1:
+	ENOTBLK            = 15 // errno.h:67:1:
+	ENOTCAPABLE        = 93 // errno.h:179:1:
+	ENOTCONN           = 57 // errno.h:123:1:
+	ENOTDIR            = 20 // errno.h:73:1:
+	ENOTEMPTY          = 66 // errno.h:138:1:
+	ENOTRECOVERABLE    = 95 // errno.h:181:1:
+	ENOTSOCK           = 38 // errno.h:101:1:
+	ENOTSUP            = 45 // errno.h:109:1:
+	ENOTTY             = 25 // errno.h:78:1:
+	ENXIO              = 6  // errno.h:56:1:
+	EOPNOTSUPP         = 45 // errno.h:108:1:
+	EOVERFLOW          = 84 // errno.h:165:1:
+	EOWNERDEAD         = 96 // errno.h:182:1:
+	EPERM              = 1  // errno.h:51:1:
+	EPFNOSUPPORT       = 46 // errno.h:110:1:
+	EPIPE              = 32 // errno.h:87:1:
+	EPROCLIM           = 67 // errno.h:142:1:
+	EPROCUNAVAIL       = 76 // errno.h:153:1:
+	EPROGMISMATCH      = 75 // errno.h:152:1:
+	EPROGUNAVAIL       = 74 // errno.h:151:1:
+	EPROTO             = 92 // errno.h:176:1:
+	EPROTONOSUPPORT    = 43 // errno.h:106:1:
+	EPROTOTYPE         = 41 // errno.h:104:1:
+	ERANGE             = 34 // errno.h:91:1:
+	EREMOTE            = 71 // errno.h:148:1:
+	EROFS              = 30 // errno.h:85:1:
+	ERPCMISMATCH       = 73 // errno.h:150:1:
+	ESHUTDOWN          = 58 // errno.h:124:1:
+	ESOCKTNOSUPPORT    = 44 // errno.h:107:1:
+	ESPIPE             = 29 // errno.h:84:1:
+	ESRCH              = 3  // errno.h:53:1:
+	ESTALE             = 70 // errno.h:147:1:
+	ETIMEDOUT          = 60 // errno.h:126:1:
+	ETOOMANYREFS       = 59 // errno.h:125:1:
+	ETXTBSY            = 26 // errno.h:80:1:
+	EUSERS             = 68 // errno.h:143:1:
+	EWOULDBLOCK        = 35 // errno.h:96:1:
+	EXDEV              = 18 // errno.h:71:1:
+	X_ERRNO_T_DEFINED  = 0  // errno.h:203:1:
+	X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
+	X_LP64             = 1  // <predefined>:1:1:
+	X_Nonnull          = 0  // cdefs.h:790:1:
+	X_Null_unspecified = 0  // cdefs.h:792:1:
+	X_Nullable         = 0  // cdefs.h:791:1:
+	X_SYS_CDEFS_H_     = 0  // cdefs.h:39:1:
+	X_SYS_ERRNO_H_     = 0  // errno.h:41:1:
+	Unix               = 1  // <predefined>:340: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 */
+
+// 11 was EAGAIN
+
+// math software
+
+// non-blocking and interrupt i/o
+
+// ipc/network software -- argument errors
+
+// ipc/network software -- operational errors
+
+// should be rearranged
+
+// quotas & mush
+
+// Network File System
+
+// ISO/IEC 9899:2011 K.3.2.2
+type Errno_t = int32 /* errno.h:204:13 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_illumos_amd64.go b/vendor/modernc.org/libc/errno/errno_illumos_amd64.go
new file mode 100644
index 0000000..18c5356
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_illumos_amd64.go
@@ -0,0 +1,167 @@
+// 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 -ignore-unsupported-alignment -o errno/errno_illumos_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   // errno.h:57:1:
+	EACCES             = 13  // errno.h:63:1:
+	EADDRINUSE         = 125 // errno.h:173:1:
+	EADDRNOTAVAIL      = 126 // errno.h:174:1:
+	EADV               = 68  // errno.h:128:1:
+	EAFNOSUPPORT       = 124 // errno.h:171:1:
+	EAGAIN             = 11  // errno.h:61:1:
+	EALREADY           = 149 // errno.h:193:1:
+	EBADE              = 50  // errno.h:104:1:
+	EBADF              = 9   // errno.h:59:1:
+	EBADFD             = 81  // errno.h:143:1:
+	EBADMSG            = 77  // errno.h:139:1:
+	EBADR              = 51  // errno.h:105:1:
+	EBADRQC            = 54  // errno.h:108:1:
+	EBADSLT            = 55  // errno.h:109:1:
+	EBFONT             = 57  // errno.h:112:1:
+	EBUSY              = 16  // errno.h:66:1:
+	ECANCELED          = 47  // errno.h:97:1:
+	ECHILD             = 10  // errno.h:60:1:
+	ECHRNG             = 37  // errno.h:87:1:
+	ECOMM              = 70  // errno.h:131:1:
+	ECONNABORTED       = 130 // errno.h:180:1:
+	ECONNREFUSED       = 146 // errno.h:189:1:
+	ECONNRESET         = 131 // errno.h:181:1:
+	EDEADLK            = 45  // errno.h:95:1:
+	EDEADLOCK          = 56  // errno.h:110:1:
+	EDESTADDRREQ       = 96  // errno.h:163:1:
+	EDOM               = 33  // errno.h:83:1:
+	EDQUOT             = 49  // errno.h:101:1:
+	EEXIST             = 17  // errno.h:67:1:
+	EFAULT             = 14  // errno.h:64:1:
+	EFBIG              = 27  // errno.h:77:1:
+	EHOSTDOWN          = 147 // errno.h:190:1:
+	EHOSTUNREACH       = 148 // errno.h:191:1:
+	EIDRM              = 36  // errno.h:86:1:
+	EILSEQ             = 88  // errno.h:152:1:
+	EINPROGRESS        = 150 // errno.h:194:1:
+	EINTR              = 4   // errno.h:54:1:
+	EINVAL             = 22  // errno.h:72:1:
+	EIO                = 5   // errno.h:55:1:
+	EISCONN            = 133 // errno.h:183:1:
+	EISDIR             = 21  // errno.h:71:1:
+	EL2HLT             = 44  // errno.h:94:1:
+	EL2NSYNC           = 38  // errno.h:88:1:
+	EL3HLT             = 39  // errno.h:89:1:
+	EL3RST             = 40  // errno.h:90:1:
+	ELIBACC            = 83  // errno.h:147:1:
+	ELIBBAD            = 84  // errno.h:148:1:
+	ELIBEXEC           = 87  // errno.h:151:1:
+	ELIBMAX            = 86  // errno.h:150:1:
+	ELIBSCN            = 85  // errno.h:149:1:
+	ELNRNG             = 41  // errno.h:91:1:
+	ELOCKUNMAPPED      = 72  // errno.h:135:1:
+	ELOOP              = 90  // errno.h:154:1:
+	EMFILE             = 24  // errno.h:74:1:
+	EMLINK             = 31  // errno.h:81:1:
+	EMSGSIZE           = 97  // errno.h:164:1:
+	EMULTIHOP          = 74  // errno.h:138:1:
+	ENAMETOOLONG       = 78  // errno.h:140:1:
+	ENETDOWN           = 127 // errno.h:176:1:
+	ENETRESET          = 129 // errno.h:178:1:
+	ENETUNREACH        = 128 // errno.h:177:1:
+	ENFILE             = 23  // errno.h:73:1:
+	ENOANO             = 53  // errno.h:107:1:
+	ENOBUFS            = 132 // errno.h:182:1:
+	ENOCSI             = 43  // errno.h:93:1:
+	ENODATA            = 61  // errno.h:120:1:
+	ENODEV             = 19  // errno.h:69:1:
+	ENOENT             = 2   // errno.h:52:1:
+	ENOEXEC            = 8   // errno.h:58:1:
+	ENOLCK             = 46  // errno.h:96:1:
+	ENOLINK            = 67  // errno.h:127:1:
+	ENOMEM             = 12  // errno.h:62:1:
+	ENOMSG             = 35  // errno.h:85:1:
+	ENONET             = 64  // errno.h:124:1:
+	ENOPKG             = 65  // errno.h:125:1:
+	ENOPROTOOPT        = 99  // errno.h:166:1:
+	ENOSPC             = 28  // errno.h:78:1:
+	ENOSR              = 63  // errno.h:122:1:
+	ENOSTR             = 60  // errno.h:119:1:
+	ENOSYS             = 89  // errno.h:153:1:
+	ENOTACTIVE         = 73  // errno.h:137:1:
+	ENOTBLK            = 15  // errno.h:65:1:
+	ENOTCONN           = 134 // errno.h:184:1:
+	ENOTDIR            = 20  // errno.h:70:1:
+	ENOTEMPTY          = 93  // errno.h:157:1:
+	ENOTRECOVERABLE    = 59  // errno.h:116:1:
+	ENOTSOCK           = 95  // errno.h:162:1:
+	ENOTSUP            = 48  // errno.h:98:1:
+	ENOTTY             = 25  // errno.h:75:1:
+	ENOTUNIQ           = 80  // errno.h:142:1:
+	ENXIO              = 6   // errno.h:56:1:
+	EOPNOTSUPP         = 122 // errno.h:169:1:
+	EOVERFLOW          = 79  // errno.h:141:1:
+	EOWNERDEAD         = 58  // errno.h:115:1:
+	EPERM              = 1   // errno.h:51:1:
+	EPFNOSUPPORT       = 123 // errno.h:170:1:
+	EPIPE              = 32  // errno.h:82:1:
+	EPROTO             = 71  // errno.h:132:1:
+	EPROTONOSUPPORT    = 120 // errno.h:167:1:
+	EPROTOTYPE         = 98  // errno.h:165:1:
+	ERANGE             = 34  // errno.h:84:1:
+	EREMCHG            = 82  // errno.h:144:1:
+	EREMOTE            = 66  // errno.h:126:1:
+	ERESTART           = 91  // errno.h:155:1:
+	EROFS              = 30  // errno.h:80:1:
+	ESHUTDOWN          = 143 // errno.h:186:1:
+	ESOCKTNOSUPPORT    = 121 // errno.h:168:1:
+	ESPIPE             = 29  // errno.h:79:1:
+	ESRCH              = 3   // errno.h:53:1:
+	ESRMNT             = 69  // errno.h:129:1:
+	ESTALE             = 151 // errno.h:197:1:
+	ESTRPIPE           = 92  // errno.h:156:1:
+	ETIME              = 62  // errno.h:121:1:
+	ETIMEDOUT          = 145 // errno.h:188:1:
+	ETOOMANYREFS       = 144 // errno.h:187:1:
+	ETXTBSY            = 26  // errno.h:76:1:
+	EUNATCH            = 42  // errno.h:92:1:
+	EUSERS             = 94  // errno.h:158:1:
+	EWOULDBLOCK        = 11  // errno.h:192:1:
+	EXDEV              = 18  // errno.h:68:1:
+	EXFULL             = 52  // errno.h:106:1:
+	X_ERRNO_H          = 0   // errno.h:33:1:
+	X_FILE_OFFSET_BITS = 64  // <builtin>:25:1:
+	X_LP64             = 1   // <predefined>:286:1:
+	X_SYS_ERRNO_H      = 0   // errno.h:41:1:
+	Sun                = 1   // <predefined>:172:1:
+	Unix               = 1   // <predefined>:175: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 */
+// ANSI C++ requires that errno be a macro
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_linux_386.go b/vendor/modernc.org/libc/errno/errno_linux_386.go
new file mode 100644
index 0000000..ae8185c
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_linux_386.go
@@ -0,0 +1,179 @@
+// 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
+
+import (
+	"math"
+	"reflect"
+	"sync/atomic"
+	"unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+	E2BIG                      = 7
+	EACCES                     = 13
+	EADDRINUSE                 = 98
+	EADDRNOTAVAIL              = 99
+	EADV                       = 68
+	EAFNOSUPPORT               = 97
+	EAGAIN                     = 11
+	EALREADY                   = 114
+	EBADE                      = 52
+	EBADF                      = 9
+	EBADFD                     = 77
+	EBADMSG                    = 74
+	EBADR                      = 53
+	EBADRQC                    = 56
+	EBADSLT                    = 57
+	EBFONT                     = 59
+	EBUSY                      = 16
+	ECANCELED                  = 125
+	ECHILD                     = 10
+	ECHRNG                     = 44
+	ECOMM                      = 70
+	ECONNABORTED               = 103
+	ECONNREFUSED               = 111
+	ECONNRESET                 = 104
+	EDEADLK                    = 35
+	EDEADLOCK                  = 35
+	EDESTADDRREQ               = 89
+	EDOM                       = 33
+	EDOTDOT                    = 73
+	EDQUOT                     = 122
+	EEXIST                     = 17
+	EFAULT                     = 14
+	EFBIG                      = 27
+	EHOSTDOWN                  = 112
+	EHOSTUNREACH               = 113
+	EHWPOISON                  = 133
+	EIDRM                      = 43
+	EILSEQ                     = 84
+	EINPROGRESS                = 115
+	EINTR                      = 4
+	EINVAL                     = 22
+	EIO                        = 5
+	EISCONN                    = 106
+	EISDIR                     = 21
+	EISNAM                     = 120
+	EKEYEXPIRED                = 127
+	EKEYREJECTED               = 129
+	EKEYREVOKED                = 128
+	EL2HLT                     = 51
+	EL2NSYNC                   = 45
+	EL3HLT                     = 46
+	EL3RST                     = 47
+	ELIBACC                    = 79
+	ELIBBAD                    = 80
+	ELIBEXEC                   = 83
+	ELIBMAX                    = 82
+	ELIBSCN                    = 81
+	ELNRNG                     = 48
+	ELOOP                      = 40
+	EMEDIUMTYPE                = 124
+	EMFILE                     = 24
+	EMLINK                     = 31
+	EMSGSIZE                   = 90
+	EMULTIHOP                  = 72
+	ENAMETOOLONG               = 36
+	ENAVAIL                    = 119
+	ENETDOWN                   = 100
+	ENETRESET                  = 102
+	ENETUNREACH                = 101
+	ENFILE                     = 23
+	ENOANO                     = 55
+	ENOBUFS                    = 105
+	ENOCSI                     = 50
+	ENODATA                    = 61
+	ENODEV                     = 19
+	ENOENT                     = 2
+	ENOEXEC                    = 8
+	ENOKEY                     = 126
+	ENOLCK                     = 37
+	ENOLINK                    = 67
+	ENOMEDIUM                  = 123
+	ENOMEM                     = 12
+	ENOMSG                     = 42
+	ENONET                     = 64
+	ENOPKG                     = 65
+	ENOPROTOOPT                = 92
+	ENOSPC                     = 28
+	ENOSR                      = 63
+	ENOSTR                     = 60
+	ENOSYS                     = 38
+	ENOTBLK                    = 15
+	ENOTCONN                   = 107
+	ENOTDIR                    = 20
+	ENOTEMPTY                  = 39
+	ENOTNAM                    = 118
+	ENOTRECOVERABLE            = 131
+	ENOTSOCK                   = 88
+	ENOTSUP                    = 95
+	ENOTTY                     = 25
+	ENOTUNIQ                   = 76
+	ENXIO                      = 6
+	EOPNOTSUPP                 = 95
+	EOVERFLOW                  = 75
+	EOWNERDEAD                 = 130
+	EPERM                      = 1
+	EPFNOSUPPORT               = 96
+	EPIPE                      = 32
+	EPROTO                     = 71
+	EPROTONOSUPPORT            = 93
+	EPROTOTYPE                 = 91
+	ERANGE                     = 34
+	EREMCHG                    = 78
+	EREMOTE                    = 66
+	EREMOTEIO                  = 121
+	ERESTART                   = 85
+	ERFKILL                    = 132
+	EROFS                      = 30
+	ESHUTDOWN                  = 108
+	ESOCKTNOSUPPORT            = 94
+	ESPIPE                     = 29
+	ESRCH                      = 3
+	ESRMNT                     = 69
+	ESTALE                     = 116
+	ESTRPIPE                   = 86
+	ETIME                      = 62
+	ETIMEDOUT                  = 110
+	ETOOMANYREFS               = 109
+	ETXTBSY                    = 26
+	EUCLEAN                    = 117
+	EUNATCH                    = 49
+	EUSERS                     = 87
+	EWOULDBLOCK                = 11
+	EXDEV                      = 18
+	EXFULL                     = 54
+	X_ASM_GENERIC_ERRNO_BASE_H = 0
+	X_ASM_GENERIC_ERRNO_H      = 0
+	X_ATFILE_SOURCE            = 1
+	X_BITS_ERRNO_H             = 1
+	X_DEFAULT_SOURCE           = 1
+	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
+	X_SYS_CDEFS_H              = 1
+	I386                       = 1
+	Linux                      = 1
+	Unix                       = 1
+)
+
+type Ptrdiff_t = int32 /* <builtin>:3:26 */
+
+type Size_t = uint32 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64        /* <builtin>:47:21 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_linux_amd64.go b/vendor/modernc.org/libc/errno/errno_linux_amd64.go
new file mode 100644
index 0000000..000cb72
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_linux_amd64.go
@@ -0,0 +1,187 @@
+// 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 -ignore-unsupported-alignment -o errno/errno_linux_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      // errno-base.h:11:1:
+	EACCES                     = 13     // errno-base.h:17:1:
+	EADDRINUSE                 = 98     // errno.h:81:1:
+	EADDRNOTAVAIL              = 99     // errno.h:82:1:
+	EADV                       = 68     // errno.h:51:1:
+	EAFNOSUPPORT               = 97     // errno.h:80:1:
+	EAGAIN                     = 11     // errno-base.h:15:1:
+	EALREADY                   = 114    // errno.h:97:1:
+	EBADE                      = 52     // errno.h:33:1:
+	EBADF                      = 9      // errno-base.h:13:1:
+	EBADFD                     = 77     // errno.h:60:1:
+	EBADMSG                    = 74     // errno.h:57:1:
+	EBADR                      = 53     // errno.h:34:1:
+	EBADRQC                    = 56     // errno.h:37:1:
+	EBADSLT                    = 57     // errno.h:38:1:
+	EBFONT                     = 59     // errno.h:42:1:
+	EBUSY                      = 16     // errno-base.h:20:1:
+	ECANCELED                  = 125    // errno.h:109:1:
+	ECHILD                     = 10     // errno-base.h:14:1:
+	ECHRNG                     = 44     // errno.h:25:1:
+	ECOMM                      = 70     // errno.h:53:1:
+	ECONNABORTED               = 103    // errno.h:86:1:
+	ECONNREFUSED               = 111    // errno.h:94:1:
+	ECONNRESET                 = 104    // errno.h:87:1:
+	EDEADLK                    = 35     // errno.h:7:1:
+	EDEADLOCK                  = 35     // errno.h:40:1:
+	EDESTADDRREQ               = 89     // errno.h:72:1:
+	EDOM                       = 33     // errno-base.h:37:1:
+	EDOTDOT                    = 73     // errno.h:56:1:
+	EDQUOT                     = 122    // errno.h:105:1:
+	EEXIST                     = 17     // errno-base.h:21:1:
+	EFAULT                     = 14     // errno-base.h:18:1:
+	EFBIG                      = 27     // errno-base.h:31:1:
+	EHOSTDOWN                  = 112    // errno.h:95:1:
+	EHOSTUNREACH               = 113    // errno.h:96:1:
+	EHWPOISON                  = 133    // errno.h:121:1:
+	EIDRM                      = 43     // errno.h:24:1:
+	EILSEQ                     = 84     // errno.h:67:1:
+	EINPROGRESS                = 115    // errno.h:98:1:
+	EINTR                      = 4      // errno-base.h:8:1:
+	EINVAL                     = 22     // errno-base.h:26:1:
+	EIO                        = 5      // errno-base.h:9:1:
+	EISCONN                    = 106    // errno.h:89:1:
+	EISDIR                     = 21     // errno-base.h:25:1:
+	EISNAM                     = 120    // errno.h:103:1:
+	EKEYEXPIRED                = 127    // errno.h:111:1:
+	EKEYREJECTED               = 129    // errno.h:113:1:
+	EKEYREVOKED                = 128    // errno.h:112:1:
+	EL2HLT                     = 51     // errno.h:32:1:
+	EL2NSYNC                   = 45     // errno.h:26:1:
+	EL3HLT                     = 46     // errno.h:27:1:
+	EL3RST                     = 47     // errno.h:28:1:
+	ELIBACC                    = 79     // errno.h:62:1:
+	ELIBBAD                    = 80     // errno.h:63:1:
+	ELIBEXEC                   = 83     // errno.h:66:1:
+	ELIBMAX                    = 82     // errno.h:65:1:
+	ELIBSCN                    = 81     // errno.h:64:1:
+	ELNRNG                     = 48     // errno.h:29:1:
+	ELOOP                      = 40     // errno.h:21:1:
+	EMEDIUMTYPE                = 124    // errno.h:108:1:
+	EMFILE                     = 24     // errno-base.h:28:1:
+	EMLINK                     = 31     // errno-base.h:35:1:
+	EMSGSIZE                   = 90     // errno.h:73:1:
+	EMULTIHOP                  = 72     // errno.h:55:1:
+	ENAMETOOLONG               = 36     // errno.h:8:1:
+	ENAVAIL                    = 119    // errno.h:102:1:
+	ENETDOWN                   = 100    // errno.h:83:1:
+	ENETRESET                  = 102    // errno.h:85:1:
+	ENETUNREACH                = 101    // errno.h:84:1:
+	ENFILE                     = 23     // errno-base.h:27:1:
+	ENOANO                     = 55     // errno.h:36:1:
+	ENOBUFS                    = 105    // errno.h:88:1:
+	ENOCSI                     = 50     // errno.h:31:1:
+	ENODATA                    = 61     // errno.h:44:1:
+	ENODEV                     = 19     // errno-base.h:23:1:
+	ENOENT                     = 2      // errno-base.h:6:1:
+	ENOEXEC                    = 8      // errno-base.h:12:1:
+	ENOKEY                     = 126    // errno.h:110:1:
+	ENOLCK                     = 37     // errno.h:9:1:
+	ENOLINK                    = 67     // errno.h:50:1:
+	ENOMEDIUM                  = 123    // errno.h:107:1:
+	ENOMEM                     = 12     // errno-base.h:16:1:
+	ENOMSG                     = 42     // errno.h:23:1:
+	ENONET                     = 64     // errno.h:47:1:
+	ENOPKG                     = 65     // errno.h:48:1:
+	ENOPROTOOPT                = 92     // errno.h:75:1:
+	ENOSPC                     = 28     // errno-base.h:32:1:
+	ENOSR                      = 63     // errno.h:46:1:
+	ENOSTR                     = 60     // errno.h:43:1:
+	ENOSYS                     = 38     // errno.h:18:1:
+	ENOTBLK                    = 15     // errno-base.h:19:1:
+	ENOTCONN                   = 107    // errno.h:90:1:
+	ENOTDIR                    = 20     // errno-base.h:24:1:
+	ENOTEMPTY                  = 39     // errno.h:20:1:
+	ENOTNAM                    = 118    // errno.h:101:1:
+	ENOTRECOVERABLE            = 131    // errno.h:117:1:
+	ENOTSOCK                   = 88     // errno.h:71:1:
+	ENOTSUP                    = 95     // errno.h:30:1:
+	ENOTTY                     = 25     // errno-base.h:29:1:
+	ENOTUNIQ                   = 76     // errno.h:59:1:
+	ENXIO                      = 6      // errno-base.h:10:1:
+	EOPNOTSUPP                 = 95     // errno.h:78:1:
+	EOVERFLOW                  = 75     // errno.h:58:1:
+	EOWNERDEAD                 = 130    // errno.h:116:1:
+	EPERM                      = 1      // errno-base.h:5:1:
+	EPFNOSUPPORT               = 96     // errno.h:79:1:
+	EPIPE                      = 32     // errno-base.h:36:1:
+	EPROTO                     = 71     // errno.h:54:1:
+	EPROTONOSUPPORT            = 93     // errno.h:76:1:
+	EPROTOTYPE                 = 91     // errno.h:74:1:
+	ERANGE                     = 34     // errno-base.h:38:1:
+	EREMCHG                    = 78     // errno.h:61:1:
+	EREMOTE                    = 66     // errno.h:49:1:
+	EREMOTEIO                  = 121    // errno.h:104:1:
+	ERESTART                   = 85     // errno.h:68:1:
+	ERFKILL                    = 132    // errno.h:119:1:
+	EROFS                      = 30     // errno-base.h:34:1:
+	ESHUTDOWN                  = 108    // errno.h:91:1:
+	ESOCKTNOSUPPORT            = 94     // errno.h:77:1:
+	ESPIPE                     = 29     // errno-base.h:33:1:
+	ESRCH                      = 3      // errno-base.h:7:1:
+	ESRMNT                     = 69     // errno.h:52:1:
+	ESTALE                     = 116    // errno.h:99:1:
+	ESTRPIPE                   = 86     // errno.h:69:1:
+	ETIME                      = 62     // errno.h:45:1:
+	ETIMEDOUT                  = 110    // errno.h:93:1:
+	ETOOMANYREFS               = 109    // errno.h:92:1:
+	ETXTBSY                    = 26     // errno-base.h:30:1:
+	EUCLEAN                    = 117    // errno.h:100:1:
+	EUNATCH                    = 49     // errno.h:30:1:
+	EUSERS                     = 87     // errno.h:70:1:
+	EWOULDBLOCK                = 11     // errno.h:22:1:
+	EXDEV                      = 18     // errno-base.h:22:1:
+	EXFULL                     = 54     // errno.h:35:1:
+	X_ASM_GENERIC_ERRNO_BASE_H = 0      // errno-base.h:3:1:
+	X_ASM_GENERIC_ERRNO_H      = 0      // errno.h:3:1:
+	X_ATFILE_SOURCE            = 1      // features.h:342:1:
+	X_BITS_ERRNO_H             = 1      // errno.h:20:1:
+	X_DEFAULT_SOURCE           = 1      // features.h:227:1:
+	X_ERRNO_H                  = 1      // errno.h:23:1:
+	X_FEATURES_H               = 1      // features.h:19:1:
+	X_FILE_OFFSET_BITS         = 64     // <builtin>:25:1:
+	X_LP64                     = 1      // <predefined>:284:1:
+	X_POSIX_C_SOURCE           = 200809 // features.h:281:1:
+	X_POSIX_SOURCE             = 1      // features.h:279:1:
+	X_STDC_PREDEF_H            = 1      // <predefined>:162:1:
+	X_SYS_CDEFS_H              = 1      // cdefs.h:19:1:
+	Linux                      = 1      // <predefined>:231:1:
+	Unix                       = 1      // <predefined>:177: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 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_linux_arm.go b/vendor/modernc.org/libc/errno/errno_linux_arm.go
new file mode 100644
index 0000000..9236043
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_linux_arm.go
@@ -0,0 +1,177 @@
+// 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
+
+import (
+	"math"
+	"reflect"
+	"sync/atomic"
+	"unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+	E2BIG                      = 7
+	EACCES                     = 13
+	EADDRINUSE                 = 98
+	EADDRNOTAVAIL              = 99
+	EADV                       = 68
+	EAFNOSUPPORT               = 97
+	EAGAIN                     = 11
+	EALREADY                   = 114
+	EBADE                      = 52
+	EBADF                      = 9
+	EBADFD                     = 77
+	EBADMSG                    = 74
+	EBADR                      = 53
+	EBADRQC                    = 56
+	EBADSLT                    = 57
+	EBFONT                     = 59
+	EBUSY                      = 16
+	ECANCELED                  = 125
+	ECHILD                     = 10
+	ECHRNG                     = 44
+	ECOMM                      = 70
+	ECONNABORTED               = 103
+	ECONNREFUSED               = 111
+	ECONNRESET                 = 104
+	EDEADLK                    = 35
+	EDEADLOCK                  = 35
+	EDESTADDRREQ               = 89
+	EDOM                       = 33
+	EDOTDOT                    = 73
+	EDQUOT                     = 122
+	EEXIST                     = 17
+	EFAULT                     = 14
+	EFBIG                      = 27
+	EHOSTDOWN                  = 112
+	EHOSTUNREACH               = 113
+	EHWPOISON                  = 133
+	EIDRM                      = 43
+	EILSEQ                     = 84
+	EINPROGRESS                = 115
+	EINTR                      = 4
+	EINVAL                     = 22
+	EIO                        = 5
+	EISCONN                    = 106
+	EISDIR                     = 21
+	EISNAM                     = 120
+	EKEYEXPIRED                = 127
+	EKEYREJECTED               = 129
+	EKEYREVOKED                = 128
+	EL2HLT                     = 51
+	EL2NSYNC                   = 45
+	EL3HLT                     = 46
+	EL3RST                     = 47
+	ELIBACC                    = 79
+	ELIBBAD                    = 80
+	ELIBEXEC                   = 83
+	ELIBMAX                    = 82
+	ELIBSCN                    = 81
+	ELNRNG                     = 48
+	ELOOP                      = 40
+	EMEDIUMTYPE                = 124
+	EMFILE                     = 24
+	EMLINK                     = 31
+	EMSGSIZE                   = 90
+	EMULTIHOP                  = 72
+	ENAMETOOLONG               = 36
+	ENAVAIL                    = 119
+	ENETDOWN                   = 100
+	ENETRESET                  = 102
+	ENETUNREACH                = 101
+	ENFILE                     = 23
+	ENOANO                     = 55
+	ENOBUFS                    = 105
+	ENOCSI                     = 50
+	ENODATA                    = 61
+	ENODEV                     = 19
+	ENOENT                     = 2
+	ENOEXEC                    = 8
+	ENOKEY                     = 126
+	ENOLCK                     = 37
+	ENOLINK                    = 67
+	ENOMEDIUM                  = 123
+	ENOMEM                     = 12
+	ENOMSG                     = 42
+	ENONET                     = 64
+	ENOPKG                     = 65
+	ENOPROTOOPT                = 92
+	ENOSPC                     = 28
+	ENOSR                      = 63
+	ENOSTR                     = 60
+	ENOSYS                     = 38
+	ENOTBLK                    = 15
+	ENOTCONN                   = 107
+	ENOTDIR                    = 20
+	ENOTEMPTY                  = 39
+	ENOTNAM                    = 118
+	ENOTRECOVERABLE            = 131
+	ENOTSOCK                   = 88
+	ENOTSUP                    = 95
+	ENOTTY                     = 25
+	ENOTUNIQ                   = 76
+	ENXIO                      = 6
+	EOPNOTSUPP                 = 95
+	EOVERFLOW                  = 75
+	EOWNERDEAD                 = 130
+	EPERM                      = 1
+	EPFNOSUPPORT               = 96
+	EPIPE                      = 32
+	EPROTO                     = 71
+	EPROTONOSUPPORT            = 93
+	EPROTOTYPE                 = 91
+	ERANGE                     = 34
+	EREMCHG                    = 78
+	EREMOTE                    = 66
+	EREMOTEIO                  = 121
+	ERESTART                   = 85
+	ERFKILL                    = 132
+	EROFS                      = 30
+	ESHUTDOWN                  = 108
+	ESOCKTNOSUPPORT            = 94
+	ESPIPE                     = 29
+	ESRCH                      = 3
+	ESRMNT                     = 69
+	ESTALE                     = 116
+	ESTRPIPE                   = 86
+	ETIME                      = 62
+	ETIMEDOUT                  = 110
+	ETOOMANYREFS               = 109
+	ETXTBSY                    = 26
+	EUCLEAN                    = 117
+	EUNATCH                    = 49
+	EUSERS                     = 87
+	EWOULDBLOCK                = 11
+	EXDEV                      = 18
+	EXFULL                     = 54
+	X_ASM_GENERIC_ERRNO_BASE_H = 0
+	X_ASM_GENERIC_ERRNO_H      = 0
+	X_ATFILE_SOURCE            = 1
+	X_BITS_ERRNO_H             = 1
+	X_DEFAULT_SOURCE           = 1
+	X_ERRNO_H                  = 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
+	Linux                      = 1
+	Unix                       = 1
+)
+
+type Ptrdiff_t = int32 /* <builtin>:3:26 */
+
+type Size_t = uint32 /* <builtin>:9:23 */
+
+type Wchar_t = uint32 /* <builtin>:15:24 */
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64        /* <builtin>:47:21 */
+
+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
new file mode 100644
index 0000000..5ac7301
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_linux_arm64.go
@@ -0,0 +1,187 @@
+// 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
+
+import (
+	"math"
+	"reflect"
+	"sync/atomic"
+	"unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+	E2BIG                      = 7
+	EACCES                     = 13
+	EADDRINUSE                 = 98
+	EADDRNOTAVAIL              = 99
+	EADV                       = 68
+	EAFNOSUPPORT               = 97
+	EAGAIN                     = 11
+	EALREADY                   = 114
+	EBADE                      = 52
+	EBADF                      = 9
+	EBADFD                     = 77
+	EBADMSG                    = 74
+	EBADR                      = 53
+	EBADRQC                    = 56
+	EBADSLT                    = 57
+	EBFONT                     = 59
+	EBUSY                      = 16
+	ECANCELED                  = 125
+	ECHILD                     = 10
+	ECHRNG                     = 44
+	ECOMM                      = 70
+	ECONNABORTED               = 103
+	ECONNREFUSED               = 111
+	ECONNRESET                 = 104
+	EDEADLK                    = 35
+	EDEADLOCK                  = 35
+	EDESTADDRREQ               = 89
+	EDOM                       = 33
+	EDOTDOT                    = 73
+	EDQUOT                     = 122
+	EEXIST                     = 17
+	EFAULT                     = 14
+	EFBIG                      = 27
+	EHOSTDOWN                  = 112
+	EHOSTUNREACH               = 113
+	EHWPOISON                  = 133
+	EIDRM                      = 43
+	EILSEQ                     = 84
+	EINPROGRESS                = 115
+	EINTR                      = 4
+	EINVAL                     = 22
+	EIO                        = 5
+	EISCONN                    = 106
+	EISDIR                     = 21
+	EISNAM                     = 120
+	EKEYEXPIRED                = 127
+	EKEYREJECTED               = 129
+	EKEYREVOKED                = 128
+	EL2HLT                     = 51
+	EL2NSYNC                   = 45
+	EL3HLT                     = 46
+	EL3RST                     = 47
+	ELIBACC                    = 79
+	ELIBBAD                    = 80
+	ELIBEXEC                   = 83
+	ELIBMAX                    = 82
+	ELIBSCN                    = 81
+	ELNRNG                     = 48
+	ELOOP                      = 40
+	EMEDIUMTYPE                = 124
+	EMFILE                     = 24
+	EMLINK                     = 31
+	EMSGSIZE                   = 90
+	EMULTIHOP                  = 72
+	ENAMETOOLONG               = 36
+	ENAVAIL                    = 119
+	ENETDOWN                   = 100
+	ENETRESET                  = 102
+	ENETUNREACH                = 101
+	ENFILE                     = 23
+	ENOANO                     = 55
+	ENOBUFS                    = 105
+	ENOCSI                     = 50
+	ENODATA                    = 61
+	ENODEV                     = 19
+	ENOENT                     = 2
+	ENOEXEC                    = 8
+	ENOKEY                     = 126
+	ENOLCK                     = 37
+	ENOLINK                    = 67
+	ENOMEDIUM                  = 123
+	ENOMEM                     = 12
+	ENOMSG                     = 42
+	ENONET                     = 64
+	ENOPKG                     = 65
+	ENOPROTOOPT                = 92
+	ENOSPC                     = 28
+	ENOSR                      = 63
+	ENOSTR                     = 60
+	ENOSYS                     = 38
+	ENOTBLK                    = 15
+	ENOTCONN                   = 107
+	ENOTDIR                    = 20
+	ENOTEMPTY                  = 39
+	ENOTNAM                    = 118
+	ENOTRECOVERABLE            = 131
+	ENOTSOCK                   = 88
+	ENOTSUP                    = 95
+	ENOTTY                     = 25
+	ENOTUNIQ                   = 76
+	ENXIO                      = 6
+	EOPNOTSUPP                 = 95
+	EOVERFLOW                  = 75
+	EOWNERDEAD                 = 130
+	EPERM                      = 1
+	EPFNOSUPPORT               = 96
+	EPIPE                      = 32
+	EPROTO                     = 71
+	EPROTONOSUPPORT            = 93
+	EPROTOTYPE                 = 91
+	ERANGE                     = 34
+	EREMCHG                    = 78
+	EREMOTE                    = 66
+	EREMOTEIO                  = 121
+	ERESTART                   = 85
+	ERFKILL                    = 132
+	EROFS                      = 30
+	ESHUTDOWN                  = 108
+	ESOCKTNOSUPPORT            = 94
+	ESPIPE                     = 29
+	ESRCH                      = 3
+	ESRMNT                     = 69
+	ESTALE                     = 116
+	ESTRPIPE                   = 86
+	ETIME                      = 62
+	ETIMEDOUT                  = 110
+	ETOOMANYREFS               = 109
+	ETXTBSY                    = 26
+	EUCLEAN                    = 117
+	EUNATCH                    = 49
+	EUSERS                     = 87
+	EWOULDBLOCK                = 11
+	EXDEV                      = 18
+	EXFULL                     = 54
+	X_ASM_GENERIC_ERRNO_BASE_H = 0
+	X_ASM_GENERIC_ERRNO_H      = 0
+	X_ATFILE_SOURCE            = 1
+	X_BITS_ERRNO_H             = 1
+	X_DEFAULT_SOURCE           = 1
+	X_ERRNO_H                  = 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
+	Linux                      = 1
+	Unix                       = 1
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = uint32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+	Flo int64
+	Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+	Flo uint64
+	Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64        /* <builtin>:47:21 */
+
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_linux_loong64.go b/vendor/modernc.org/libc/errno/errno_linux_loong64.go
new file mode 100644
index 0000000..4410e8e
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_linux_loong64.go
@@ -0,0 +1,198 @@
+// 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 -ignore-unsupported-alignment -o errno/errno_linux_loong64.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             // errno-base.h:11:1:
+	EACCES                       = 13            // errno-base.h:17:1:
+	EADDRINUSE                   = 98            // errno.h:81:1:
+	EADDRNOTAVAIL                = 99            // errno.h:82:1:
+	EADV                         = 68            // errno.h:51:1:
+	EAFNOSUPPORT                 = 97            // errno.h:80:1:
+	EAGAIN                       = 11            // errno-base.h:15:1:
+	EALREADY                     = 114           // errno.h:97:1:
+	EBADE                        = 52            // errno.h:33:1:
+	EBADF                        = 9             // errno-base.h:13:1:
+	EBADFD                       = 77            // errno.h:60:1:
+	EBADMSG                      = 74            // errno.h:57:1:
+	EBADR                        = 53            // errno.h:34:1:
+	EBADRQC                      = 56            // errno.h:37:1:
+	EBADSLT                      = 57            // errno.h:38:1:
+	EBFONT                       = 59            // errno.h:42:1:
+	EBUSY                        = 16            // errno-base.h:20:1:
+	ECANCELED                    = 125           // errno.h:109:1:
+	ECHILD                       = 10            // errno-base.h:14:1:
+	ECHRNG                       = 44            // errno.h:25:1:
+	ECOMM                        = 70            // errno.h:53:1:
+	ECONNABORTED                 = 103           // errno.h:86:1:
+	ECONNREFUSED                 = 111           // errno.h:94:1:
+	ECONNRESET                   = 104           // errno.h:87:1:
+	EDEADLK                      = 35            // errno.h:7:1:
+	EDEADLOCK                    = 35            // errno.h:40:1:
+	EDESTADDRREQ                 = 89            // errno.h:72:1:
+	EDOM                         = 33            // errno-base.h:37:1:
+	EDOTDOT                      = 73            // errno.h:56:1:
+	EDQUOT                       = 122           // errno.h:105:1:
+	EEXIST                       = 17            // errno-base.h:21:1:
+	EFAULT                       = 14            // errno-base.h:18:1:
+	EFBIG                        = 27            // errno-base.h:31:1:
+	EHOSTDOWN                    = 112           // errno.h:95:1:
+	EHOSTUNREACH                 = 113           // errno.h:96:1:
+	EHWPOISON                    = 133           // errno.h:121:1:
+	EIDRM                        = 43            // errno.h:24:1:
+	EILSEQ                       = 84            // errno.h:67:1:
+	EINPROGRESS                  = 115           // errno.h:98:1:
+	EINTR                        = 4             // errno-base.h:8:1:
+	EINVAL                       = 22            // errno-base.h:26:1:
+	EIO                          = 5             // errno-base.h:9:1:
+	EISCONN                      = 106           // errno.h:89:1:
+	EISDIR                       = 21            // errno-base.h:25:1:
+	EISNAM                       = 120           // errno.h:103:1:
+	EKEYEXPIRED                  = 127           // errno.h:111:1:
+	EKEYREJECTED                 = 129           // errno.h:113:1:
+	EKEYREVOKED                  = 128           // errno.h:112:1:
+	EL2HLT                       = 51            // errno.h:32:1:
+	EL2NSYNC                     = 45            // errno.h:26:1:
+	EL3HLT                       = 46            // errno.h:27:1:
+	EL3RST                       = 47            // errno.h:28:1:
+	ELIBACC                      = 79            // errno.h:62:1:
+	ELIBBAD                      = 80            // errno.h:63:1:
+	ELIBEXEC                     = 83            // errno.h:66:1:
+	ELIBMAX                      = 82            // errno.h:65:1:
+	ELIBSCN                      = 81            // errno.h:64:1:
+	ELNRNG                       = 48            // errno.h:29:1:
+	ELOOP                        = 40            // errno.h:21:1:
+	EMEDIUMTYPE                  = 124           // errno.h:108:1:
+	EMFILE                       = 24            // errno-base.h:28:1:
+	EMLINK                       = 31            // errno-base.h:35:1:
+	EMSGSIZE                     = 90            // errno.h:73:1:
+	EMULTIHOP                    = 72            // errno.h:55:1:
+	ENAMETOOLONG                 = 36            // errno.h:8:1:
+	ENAVAIL                      = 119           // errno.h:102:1:
+	ENETDOWN                     = 100           // errno.h:83:1:
+	ENETRESET                    = 102           // errno.h:85:1:
+	ENETUNREACH                  = 101           // errno.h:84:1:
+	ENFILE                       = 23            // errno-base.h:27:1:
+	ENOANO                       = 55            // errno.h:36:1:
+	ENOBUFS                      = 105           // errno.h:88:1:
+	ENOCSI                       = 50            // errno.h:31:1:
+	ENODATA                      = 61            // errno.h:44:1:
+	ENODEV                       = 19            // errno-base.h:23:1:
+	ENOENT                       = 2             // errno-base.h:6:1:
+	ENOEXEC                      = 8             // errno-base.h:12:1:
+	ENOKEY                       = 126           // errno.h:110:1:
+	ENOLCK                       = 37            // errno.h:9:1:
+	ENOLINK                      = 67            // errno.h:50:1:
+	ENOMEDIUM                    = 123           // errno.h:107:1:
+	ENOMEM                       = 12            // errno-base.h:16:1:
+	ENOMSG                       = 42            // errno.h:23:1:
+	ENONET                       = 64            // errno.h:47:1:
+	ENOPKG                       = 65            // errno.h:48:1:
+	ENOPROTOOPT                  = 92            // errno.h:75:1:
+	ENOSPC                       = 28            // errno-base.h:32:1:
+	ENOSR                        = 63            // errno.h:46:1:
+	ENOSTR                       = 60            // errno.h:43:1:
+	ENOSYS                       = 38            // errno.h:18:1:
+	ENOTBLK                      = 15            // errno-base.h:19:1:
+	ENOTCONN                     = 107           // errno.h:90:1:
+	ENOTDIR                      = 20            // errno-base.h:24:1:
+	ENOTEMPTY                    = 39            // errno.h:20:1:
+	ENOTNAM                      = 118           // errno.h:101:1:
+	ENOTRECOVERABLE              = 131           // errno.h:117:1:
+	ENOTSOCK                     = 88            // errno.h:71:1:
+	ENOTSUP                      = 95            // errno.h:30:1:
+	ENOTTY                       = 25            // errno-base.h:29:1:
+	ENOTUNIQ                     = 76            // errno.h:59:1:
+	ENXIO                        = 6             // errno-base.h:10:1:
+	EOPNOTSUPP                   = 95            // errno.h:78:1:
+	EOVERFLOW                    = 75            // errno.h:58:1:
+	EOWNERDEAD                   = 130           // errno.h:116:1:
+	EPERM                        = 1             // errno-base.h:5:1:
+	EPFNOSUPPORT                 = 96            // errno.h:79:1:
+	EPIPE                        = 32            // errno-base.h:36:1:
+	EPROTO                       = 71            // errno.h:54:1:
+	EPROTONOSUPPORT              = 93            // errno.h:76:1:
+	EPROTOTYPE                   = 91            // errno.h:74:1:
+	ERANGE                       = 34            // errno-base.h:38:1:
+	EREMCHG                      = 78            // errno.h:61:1:
+	EREMOTE                      = 66            // errno.h:49:1:
+	EREMOTEIO                    = 121           // errno.h:104:1:
+	ERESTART                     = 85            // errno.h:68:1:
+	ERFKILL                      = 132           // errno.h:119:1:
+	EROFS                        = 30            // errno-base.h:34:1:
+	ESHUTDOWN                    = 108           // errno.h:91:1:
+	ESOCKTNOSUPPORT              = 94            // errno.h:77:1:
+	ESPIPE                       = 29            // errno-base.h:33:1:
+	ESRCH                        = 3             // errno-base.h:7:1:
+	ESRMNT                       = 69            // errno.h:52:1:
+	ESTALE                       = 116           // errno.h:99:1:
+	ESTRPIPE                     = 86            // errno.h:69:1:
+	ETIME                        = 62            // errno.h:45:1:
+	ETIMEDOUT                    = 110           // errno.h:93:1:
+	ETOOMANYREFS                 = 109           // errno.h:92:1:
+	ETXTBSY                      = 26            // errno-base.h:30:1:
+	EUCLEAN                      = 117           // errno.h:100:1:
+	EUNATCH                      = 49            // errno.h:30:1:
+	EUSERS                       = 87            // errno.h:70:1:
+	EWOULDBLOCK                  = 11            // errno.h:22:1:
+	EXDEV                        = 18            // errno-base.h:22:1:
+	EXFULL                       = 54            // errno.h:35:1:
+	X_ABILP64                    = 3             // <predefined>:377:1:
+	X_ASM_GENERIC_ERRNO_BASE_H   = 0             // errno-base.h:3:1:
+	X_ASM_GENERIC_ERRNO_H        = 0             // errno.h:3:1:
+	X_ATFILE_SOURCE              = 1             // features.h:353:1:
+	X_BITS_ERRNO_H               = 1             // errno.h:20:1:
+	X_DEFAULT_SOURCE             = 1             // features.h:238:1:
+	X_ERRNO_H                    = 1             // errno.h:23:1:
+	X_FEATURES_H                 = 1             // features.h:19:1:
+	X_FILE_OFFSET_BITS           = 64            // <builtin>:25:1:
+	X_LOONGARCH_ARCH             = "loongarch64" // <predefined>:214:1:
+	X_LOONGARCH_ARCH_LOONGARCH64 = 1             // <predefined>:340:1:
+	X_LOONGARCH_FPSET            = 32            // <predefined>:265:1:
+	X_LOONGARCH_SIM              = 3             // <predefined>:233:1:
+	X_LOONGARCH_SPFPSET          = 32            // <predefined>:88:1:
+	X_LOONGARCH_SZINT            = 32            // <predefined>:230:1:
+	X_LOONGARCH_SZLONG           = 64            // <predefined>:388:1:
+	X_LOONGARCH_SZPTR            = 64            // <predefined>:200:1:
+	X_LOONGARCH_TUNE             = "la464"       // <predefined>:245:1:
+	X_LOONGARCH_TUNE_LA464       = 1             // <predefined>:63:1:
+	X_LP64                       = 1             // <predefined>:372:1:
+	X_POSIX_C_SOURCE             = 200809        // features.h:292:1:
+	X_POSIX_SOURCE               = 1             // features.h:290:1:
+	X_STDC_PREDEF_H              = 1             // <predefined>:223:1:
+	X_SYS_CDEFS_H                = 1             // cdefs.h:20:1:
+	Linux                        = 1             // <predefined>:308:1:
+	Unix                         = 1             // <predefined>:247: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 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_linux_mips64le.go b/vendor/modernc.org/libc/errno/errno_linux_mips64le.go
new file mode 100644
index 0000000..000cb72
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_linux_mips64le.go
@@ -0,0 +1,187 @@
+// 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 -ignore-unsupported-alignment -o errno/errno_linux_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      // errno-base.h:11:1:
+	EACCES                     = 13     // errno-base.h:17:1:
+	EADDRINUSE                 = 98     // errno.h:81:1:
+	EADDRNOTAVAIL              = 99     // errno.h:82:1:
+	EADV                       = 68     // errno.h:51:1:
+	EAFNOSUPPORT               = 97     // errno.h:80:1:
+	EAGAIN                     = 11     // errno-base.h:15:1:
+	EALREADY                   = 114    // errno.h:97:1:
+	EBADE                      = 52     // errno.h:33:1:
+	EBADF                      = 9      // errno-base.h:13:1:
+	EBADFD                     = 77     // errno.h:60:1:
+	EBADMSG                    = 74     // errno.h:57:1:
+	EBADR                      = 53     // errno.h:34:1:
+	EBADRQC                    = 56     // errno.h:37:1:
+	EBADSLT                    = 57     // errno.h:38:1:
+	EBFONT                     = 59     // errno.h:42:1:
+	EBUSY                      = 16     // errno-base.h:20:1:
+	ECANCELED                  = 125    // errno.h:109:1:
+	ECHILD                     = 10     // errno-base.h:14:1:
+	ECHRNG                     = 44     // errno.h:25:1:
+	ECOMM                      = 70     // errno.h:53:1:
+	ECONNABORTED               = 103    // errno.h:86:1:
+	ECONNREFUSED               = 111    // errno.h:94:1:
+	ECONNRESET                 = 104    // errno.h:87:1:
+	EDEADLK                    = 35     // errno.h:7:1:
+	EDEADLOCK                  = 35     // errno.h:40:1:
+	EDESTADDRREQ               = 89     // errno.h:72:1:
+	EDOM                       = 33     // errno-base.h:37:1:
+	EDOTDOT                    = 73     // errno.h:56:1:
+	EDQUOT                     = 122    // errno.h:105:1:
+	EEXIST                     = 17     // errno-base.h:21:1:
+	EFAULT                     = 14     // errno-base.h:18:1:
+	EFBIG                      = 27     // errno-base.h:31:1:
+	EHOSTDOWN                  = 112    // errno.h:95:1:
+	EHOSTUNREACH               = 113    // errno.h:96:1:
+	EHWPOISON                  = 133    // errno.h:121:1:
+	EIDRM                      = 43     // errno.h:24:1:
+	EILSEQ                     = 84     // errno.h:67:1:
+	EINPROGRESS                = 115    // errno.h:98:1:
+	EINTR                      = 4      // errno-base.h:8:1:
+	EINVAL                     = 22     // errno-base.h:26:1:
+	EIO                        = 5      // errno-base.h:9:1:
+	EISCONN                    = 106    // errno.h:89:1:
+	EISDIR                     = 21     // errno-base.h:25:1:
+	EISNAM                     = 120    // errno.h:103:1:
+	EKEYEXPIRED                = 127    // errno.h:111:1:
+	EKEYREJECTED               = 129    // errno.h:113:1:
+	EKEYREVOKED                = 128    // errno.h:112:1:
+	EL2HLT                     = 51     // errno.h:32:1:
+	EL2NSYNC                   = 45     // errno.h:26:1:
+	EL3HLT                     = 46     // errno.h:27:1:
+	EL3RST                     = 47     // errno.h:28:1:
+	ELIBACC                    = 79     // errno.h:62:1:
+	ELIBBAD                    = 80     // errno.h:63:1:
+	ELIBEXEC                   = 83     // errno.h:66:1:
+	ELIBMAX                    = 82     // errno.h:65:1:
+	ELIBSCN                    = 81     // errno.h:64:1:
+	ELNRNG                     = 48     // errno.h:29:1:
+	ELOOP                      = 40     // errno.h:21:1:
+	EMEDIUMTYPE                = 124    // errno.h:108:1:
+	EMFILE                     = 24     // errno-base.h:28:1:
+	EMLINK                     = 31     // errno-base.h:35:1:
+	EMSGSIZE                   = 90     // errno.h:73:1:
+	EMULTIHOP                  = 72     // errno.h:55:1:
+	ENAMETOOLONG               = 36     // errno.h:8:1:
+	ENAVAIL                    = 119    // errno.h:102:1:
+	ENETDOWN                   = 100    // errno.h:83:1:
+	ENETRESET                  = 102    // errno.h:85:1:
+	ENETUNREACH                = 101    // errno.h:84:1:
+	ENFILE                     = 23     // errno-base.h:27:1:
+	ENOANO                     = 55     // errno.h:36:1:
+	ENOBUFS                    = 105    // errno.h:88:1:
+	ENOCSI                     = 50     // errno.h:31:1:
+	ENODATA                    = 61     // errno.h:44:1:
+	ENODEV                     = 19     // errno-base.h:23:1:
+	ENOENT                     = 2      // errno-base.h:6:1:
+	ENOEXEC                    = 8      // errno-base.h:12:1:
+	ENOKEY                     = 126    // errno.h:110:1:
+	ENOLCK                     = 37     // errno.h:9:1:
+	ENOLINK                    = 67     // errno.h:50:1:
+	ENOMEDIUM                  = 123    // errno.h:107:1:
+	ENOMEM                     = 12     // errno-base.h:16:1:
+	ENOMSG                     = 42     // errno.h:23:1:
+	ENONET                     = 64     // errno.h:47:1:
+	ENOPKG                     = 65     // errno.h:48:1:
+	ENOPROTOOPT                = 92     // errno.h:75:1:
+	ENOSPC                     = 28     // errno-base.h:32:1:
+	ENOSR                      = 63     // errno.h:46:1:
+	ENOSTR                     = 60     // errno.h:43:1:
+	ENOSYS                     = 38     // errno.h:18:1:
+	ENOTBLK                    = 15     // errno-base.h:19:1:
+	ENOTCONN                   = 107    // errno.h:90:1:
+	ENOTDIR                    = 20     // errno-base.h:24:1:
+	ENOTEMPTY                  = 39     // errno.h:20:1:
+	ENOTNAM                    = 118    // errno.h:101:1:
+	ENOTRECOVERABLE            = 131    // errno.h:117:1:
+	ENOTSOCK                   = 88     // errno.h:71:1:
+	ENOTSUP                    = 95     // errno.h:30:1:
+	ENOTTY                     = 25     // errno-base.h:29:1:
+	ENOTUNIQ                   = 76     // errno.h:59:1:
+	ENXIO                      = 6      // errno-base.h:10:1:
+	EOPNOTSUPP                 = 95     // errno.h:78:1:
+	EOVERFLOW                  = 75     // errno.h:58:1:
+	EOWNERDEAD                 = 130    // errno.h:116:1:
+	EPERM                      = 1      // errno-base.h:5:1:
+	EPFNOSUPPORT               = 96     // errno.h:79:1:
+	EPIPE                      = 32     // errno-base.h:36:1:
+	EPROTO                     = 71     // errno.h:54:1:
+	EPROTONOSUPPORT            = 93     // errno.h:76:1:
+	EPROTOTYPE                 = 91     // errno.h:74:1:
+	ERANGE                     = 34     // errno-base.h:38:1:
+	EREMCHG                    = 78     // errno.h:61:1:
+	EREMOTE                    = 66     // errno.h:49:1:
+	EREMOTEIO                  = 121    // errno.h:104:1:
+	ERESTART                   = 85     // errno.h:68:1:
+	ERFKILL                    = 132    // errno.h:119:1:
+	EROFS                      = 30     // errno-base.h:34:1:
+	ESHUTDOWN                  = 108    // errno.h:91:1:
+	ESOCKTNOSUPPORT            = 94     // errno.h:77:1:
+	ESPIPE                     = 29     // errno-base.h:33:1:
+	ESRCH                      = 3      // errno-base.h:7:1:
+	ESRMNT                     = 69     // errno.h:52:1:
+	ESTALE                     = 116    // errno.h:99:1:
+	ESTRPIPE                   = 86     // errno.h:69:1:
+	ETIME                      = 62     // errno.h:45:1:
+	ETIMEDOUT                  = 110    // errno.h:93:1:
+	ETOOMANYREFS               = 109    // errno.h:92:1:
+	ETXTBSY                    = 26     // errno-base.h:30:1:
+	EUCLEAN                    = 117    // errno.h:100:1:
+	EUNATCH                    = 49     // errno.h:30:1:
+	EUSERS                     = 87     // errno.h:70:1:
+	EWOULDBLOCK                = 11     // errno.h:22:1:
+	EXDEV                      = 18     // errno-base.h:22:1:
+	EXFULL                     = 54     // errno.h:35:1:
+	X_ASM_GENERIC_ERRNO_BASE_H = 0      // errno-base.h:3:1:
+	X_ASM_GENERIC_ERRNO_H      = 0      // errno.h:3:1:
+	X_ATFILE_SOURCE            = 1      // features.h:342:1:
+	X_BITS_ERRNO_H             = 1      // errno.h:20:1:
+	X_DEFAULT_SOURCE           = 1      // features.h:227:1:
+	X_ERRNO_H                  = 1      // errno.h:23:1:
+	X_FEATURES_H               = 1      // features.h:19:1:
+	X_FILE_OFFSET_BITS         = 64     // <builtin>:25:1:
+	X_LP64                     = 1      // <predefined>:284:1:
+	X_POSIX_C_SOURCE           = 200809 // features.h:281:1:
+	X_POSIX_SOURCE             = 1      // features.h:279:1:
+	X_STDC_PREDEF_H            = 1      // <predefined>:162:1:
+	X_SYS_CDEFS_H              = 1      // cdefs.h:19:1:
+	Linux                      = 1      // <predefined>:231:1:
+	Unix                       = 1      // <predefined>:177: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 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_linux_ppc64le.go b/vendor/modernc.org/libc/errno/errno_linux_ppc64le.go
new file mode 100644
index 0000000..dd2dd78
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_linux_ppc64le.go
@@ -0,0 +1,201 @@
+// 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 -ignore-unsupported-alignment -o errno/errno_linux_ppc64le.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      // errno-base.h:11:1:
+	EACCES                     = 13     // errno-base.h:17:1:
+	EADDRINUSE                 = 98     // errno.h:81:1:
+	EADDRNOTAVAIL              = 99     // errno.h:82:1:
+	EADV                       = 68     // errno.h:51:1:
+	EAFNOSUPPORT               = 97     // errno.h:80:1:
+	EAGAIN                     = 11     // errno-base.h:15:1:
+	EALREADY                   = 114    // errno.h:97:1:
+	EBADE                      = 52     // errno.h:33:1:
+	EBADF                      = 9      // errno-base.h:13:1:
+	EBADFD                     = 77     // errno.h:60:1:
+	EBADMSG                    = 74     // errno.h:57:1:
+	EBADR                      = 53     // errno.h:34:1:
+	EBADRQC                    = 56     // errno.h:37:1:
+	EBADSLT                    = 57     // errno.h:38:1:
+	EBFONT                     = 59     // errno.h:42:1:
+	EBUSY                      = 16     // errno-base.h:20:1:
+	ECANCELED                  = 125    // errno.h:109:1:
+	ECHILD                     = 10     // errno-base.h:14:1:
+	ECHRNG                     = 44     // errno.h:25:1:
+	ECOMM                      = 70     // errno.h:53:1:
+	ECONNABORTED               = 103    // errno.h:86:1:
+	ECONNREFUSED               = 111    // errno.h:94:1:
+	ECONNRESET                 = 104    // errno.h:87:1:
+	EDEADLK                    = 35     // errno.h:7:1:
+	EDEADLOCK                  = 58     // errno.h:8:1:
+	EDESTADDRREQ               = 89     // errno.h:72:1:
+	EDOM                       = 33     // errno-base.h:37:1:
+	EDOTDOT                    = 73     // errno.h:56:1:
+	EDQUOT                     = 122    // errno.h:105:1:
+	EEXIST                     = 17     // errno-base.h:21:1:
+	EFAULT                     = 14     // errno-base.h:18:1:
+	EFBIG                      = 27     // errno-base.h:31:1:
+	EHOSTDOWN                  = 112    // errno.h:95:1:
+	EHOSTUNREACH               = 113    // errno.h:96:1:
+	EHWPOISON                  = 133    // errno.h:121:1:
+	EIDRM                      = 43     // errno.h:24:1:
+	EILSEQ                     = 84     // errno.h:67:1:
+	EINPROGRESS                = 115    // errno.h:98:1:
+	EINTR                      = 4      // errno-base.h:8:1:
+	EINVAL                     = 22     // errno-base.h:26:1:
+	EIO                        = 5      // errno-base.h:9:1:
+	EISCONN                    = 106    // errno.h:89:1:
+	EISDIR                     = 21     // errno-base.h:25:1:
+	EISNAM                     = 120    // errno.h:103:1:
+	EKEYEXPIRED                = 127    // errno.h:111:1:
+	EKEYREJECTED               = 129    // errno.h:113:1:
+	EKEYREVOKED                = 128    // errno.h:112:1:
+	EL2HLT                     = 51     // errno.h:32:1:
+	EL2NSYNC                   = 45     // errno.h:26:1:
+	EL3HLT                     = 46     // errno.h:27:1:
+	EL3RST                     = 47     // errno.h:28:1:
+	ELIBACC                    = 79     // errno.h:62:1:
+	ELIBBAD                    = 80     // errno.h:63:1:
+	ELIBEXEC                   = 83     // errno.h:66:1:
+	ELIBMAX                    = 82     // errno.h:65:1:
+	ELIBSCN                    = 81     // errno.h:64:1:
+	ELNRNG                     = 48     // errno.h:29:1:
+	ELOOP                      = 40     // errno.h:21:1:
+	EMEDIUMTYPE                = 124    // errno.h:108:1:
+	EMFILE                     = 24     // errno-base.h:28:1:
+	EMLINK                     = 31     // errno-base.h:35:1:
+	EMSGSIZE                   = 90     // errno.h:73:1:
+	EMULTIHOP                  = 72     // errno.h:55:1:
+	ENAMETOOLONG               = 36     // errno.h:8:1:
+	ENAVAIL                    = 119    // errno.h:102:1:
+	ENETDOWN                   = 100    // errno.h:83:1:
+	ENETRESET                  = 102    // errno.h:85:1:
+	ENETUNREACH                = 101    // errno.h:84:1:
+	ENFILE                     = 23     // errno-base.h:27:1:
+	ENOANO                     = 55     // errno.h:36:1:
+	ENOBUFS                    = 105    // errno.h:88:1:
+	ENOCSI                     = 50     // errno.h:31:1:
+	ENODATA                    = 61     // errno.h:44:1:
+	ENODEV                     = 19     // errno-base.h:23:1:
+	ENOENT                     = 2      // errno-base.h:6:1:
+	ENOEXEC                    = 8      // errno-base.h:12:1:
+	ENOKEY                     = 126    // errno.h:110:1:
+	ENOLCK                     = 37     // errno.h:9:1:
+	ENOLINK                    = 67     // errno.h:50:1:
+	ENOMEDIUM                  = 123    // errno.h:107:1:
+	ENOMEM                     = 12     // errno-base.h:16:1:
+	ENOMSG                     = 42     // errno.h:23:1:
+	ENONET                     = 64     // errno.h:47:1:
+	ENOPKG                     = 65     // errno.h:48:1:
+	ENOPROTOOPT                = 92     // errno.h:75:1:
+	ENOSPC                     = 28     // errno-base.h:32:1:
+	ENOSR                      = 63     // errno.h:46:1:
+	ENOSTR                     = 60     // errno.h:43:1:
+	ENOSYS                     = 38     // errno.h:18:1:
+	ENOTBLK                    = 15     // errno-base.h:19:1:
+	ENOTCONN                   = 107    // errno.h:90:1:
+	ENOTDIR                    = 20     // errno-base.h:24:1:
+	ENOTEMPTY                  = 39     // errno.h:20:1:
+	ENOTNAM                    = 118    // errno.h:101:1:
+	ENOTRECOVERABLE            = 131    // errno.h:117:1:
+	ENOTSOCK                   = 88     // errno.h:71:1:
+	ENOTSUP                    = 95     // errno.h:30:1:
+	ENOTTY                     = 25     // errno-base.h:29:1:
+	ENOTUNIQ                   = 76     // errno.h:59:1:
+	ENXIO                      = 6      // errno-base.h:10:1:
+	EOPNOTSUPP                 = 95     // errno.h:78:1:
+	EOVERFLOW                  = 75     // errno.h:58:1:
+	EOWNERDEAD                 = 130    // errno.h:116:1:
+	EPERM                      = 1      // errno-base.h:5:1:
+	EPFNOSUPPORT               = 96     // errno.h:79:1:
+	EPIPE                      = 32     // errno-base.h:36:1:
+	EPROTO                     = 71     // errno.h:54:1:
+	EPROTONOSUPPORT            = 93     // errno.h:76:1:
+	EPROTOTYPE                 = 91     // errno.h:74:1:
+	ERANGE                     = 34     // errno-base.h:38:1:
+	EREMCHG                    = 78     // errno.h:61:1:
+	EREMOTE                    = 66     // errno.h:49:1:
+	EREMOTEIO                  = 121    // errno.h:104:1:
+	ERESTART                   = 85     // errno.h:68:1:
+	ERFKILL                    = 132    // errno.h:119:1:
+	EROFS                      = 30     // errno-base.h:34:1:
+	ESHUTDOWN                  = 108    // errno.h:91:1:
+	ESOCKTNOSUPPORT            = 94     // errno.h:77:1:
+	ESPIPE                     = 29     // errno-base.h:33:1:
+	ESRCH                      = 3      // errno-base.h:7:1:
+	ESRMNT                     = 69     // errno.h:52:1:
+	ESTALE                     = 116    // errno.h:99:1:
+	ESTRPIPE                   = 86     // errno.h:69:1:
+	ETIME                      = 62     // errno.h:45:1:
+	ETIMEDOUT                  = 110    // errno.h:93:1:
+	ETOOMANYREFS               = 109    // errno.h:92:1:
+	ETXTBSY                    = 26     // errno-base.h:30:1:
+	EUCLEAN                    = 117    // errno.h:100:1:
+	EUNATCH                    = 49     // errno.h:30:1:
+	EUSERS                     = 87     // errno.h:70:1:
+	EWOULDBLOCK                = 11     // errno.h:22:1:
+	EXDEV                      = 18     // errno-base.h:22:1:
+	EXFULL                     = 54     // errno.h:35:1:
+	X_ARCH_PPC                 = 1      // <predefined>:198:1:
+	X_ARCH_PPC64               = 1      // <predefined>:402:1:
+	X_ARCH_PPCGR               = 1      // <predefined>:15:1:
+	X_ARCH_PPCSQ               = 1      // <predefined>:43:1:
+	X_ARCH_PWR4                = 1      // <predefined>:381:1:
+	X_ARCH_PWR5                = 1      // <predefined>:90:1:
+	X_ARCH_PWR5X               = 1      // <predefined>:137:1:
+	X_ARCH_PWR6                = 1      // <predefined>:91:1:
+	X_ARCH_PWR7                = 1      // <predefined>:92:1:
+	X_ARCH_PWR8                = 1      // <predefined>:93:1:
+	X_ASM_GENERIC_ERRNO_BASE_H = 0      // errno-base.h:3:1:
+	X_ASM_GENERIC_ERRNO_H      = 0      // errno.h:3:1:
+	X_ASM_POWERPC_ERRNO_H      = 0      // errno.h:3:1:
+	X_ATFILE_SOURCE            = 1      // features.h:342:1:
+	X_BITS_ERRNO_H             = 1      // errno.h:20:1:
+	X_CALL_ELF                 = 2      // <predefined>:415:1:
+	X_CALL_LINUX               = 1      // <predefined>:123:1:
+	X_DEFAULT_SOURCE           = 1      // features.h:227:1:
+	X_ERRNO_H                  = 1      // errno.h:23:1:
+	X_FEATURES_H               = 1      // features.h:19:1:
+	X_FILE_OFFSET_BITS         = 64     // <builtin>:25:1:
+	X_LITTLE_ENDIAN            = 1      // <predefined>:37:1:
+	X_LP64                     = 1      // <predefined>:335:1:
+	X_POSIX_C_SOURCE           = 200809 // features.h:281:1:
+	X_POSIX_SOURCE             = 1      // features.h:279:1:
+	X_STDC_PREDEF_H            = 1      // <predefined>:203:1:
+	X_SYS_CDEFS_H              = 1      // cdefs.h:19:1:
+	Linux                      = 1      // <predefined>:263:1:
+	Unix                       = 1      // <predefined>:222: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__ieee128 = float64         /* <builtin>:47:21 */
+
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_linux_riscv64.go b/vendor/modernc.org/libc/errno/errno_linux_riscv64.go
new file mode 100644
index 0000000..6da77ca
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_linux_riscv64.go
@@ -0,0 +1,187 @@
+// 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_riscv64.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                 = 98
+	EADDRNOTAVAIL              = 99
+	EADV                       = 68
+	EAFNOSUPPORT               = 97
+	EAGAIN                     = 11
+	EALREADY                   = 114
+	EBADE                      = 52
+	EBADF                      = 9
+	EBADFD                     = 77
+	EBADMSG                    = 74
+	EBADR                      = 53
+	EBADRQC                    = 56
+	EBADSLT                    = 57
+	EBFONT                     = 59
+	EBUSY                      = 16
+	ECANCELED                  = 125
+	ECHILD                     = 10
+	ECHRNG                     = 44
+	ECOMM                      = 70
+	ECONNABORTED               = 103
+	ECONNREFUSED               = 111
+	ECONNRESET                 = 104
+	EDEADLK                    = 35
+	EDEADLOCK                  = 35
+	EDESTADDRREQ               = 89
+	EDOM                       = 33
+	EDOTDOT                    = 73
+	EDQUOT                     = 122
+	EEXIST                     = 17
+	EFAULT                     = 14
+	EFBIG                      = 27
+	EHOSTDOWN                  = 112
+	EHOSTUNREACH               = 113
+	EHWPOISON                  = 133
+	EIDRM                      = 43
+	EILSEQ                     = 84
+	EINPROGRESS                = 115
+	EINTR                      = 4
+	EINVAL                     = 22
+	EIO                        = 5
+	EISCONN                    = 106
+	EISDIR                     = 21
+	EISNAM                     = 120
+	EKEYEXPIRED                = 127
+	EKEYREJECTED               = 129
+	EKEYREVOKED                = 128
+	EL2HLT                     = 51
+	EL2NSYNC                   = 45
+	EL3HLT                     = 46
+	EL3RST                     = 47
+	ELIBACC                    = 79
+	ELIBBAD                    = 80
+	ELIBEXEC                   = 83
+	ELIBMAX                    = 82
+	ELIBSCN                    = 81
+	ELNRNG                     = 48
+	ELOOP                      = 40
+	EMEDIUMTYPE                = 124
+	EMFILE                     = 24
+	EMLINK                     = 31
+	EMSGSIZE                   = 90
+	EMULTIHOP                  = 72
+	ENAMETOOLONG               = 36
+	ENAVAIL                    = 119
+	ENETDOWN                   = 100
+	ENETRESET                  = 102
+	ENETUNREACH                = 101
+	ENFILE                     = 23
+	ENOANO                     = 55
+	ENOBUFS                    = 105
+	ENOCSI                     = 50
+	ENODATA                    = 61
+	ENODEV                     = 19
+	ENOENT                     = 2
+	ENOEXEC                    = 8
+	ENOKEY                     = 126
+	ENOLCK                     = 37
+	ENOLINK                    = 67
+	ENOMEDIUM                  = 123
+	ENOMEM                     = 12
+	ENOMSG                     = 42
+	ENONET                     = 64
+	ENOPKG                     = 65
+	ENOPROTOOPT                = 92
+	ENOSPC                     = 28
+	ENOSR                      = 63
+	ENOSTR                     = 60
+	ENOSYS                     = 38
+	ENOTBLK                    = 15
+	ENOTCONN                   = 107
+	ENOTDIR                    = 20
+	ENOTEMPTY                  = 39
+	ENOTNAM                    = 118
+	ENOTRECOVERABLE            = 131
+	ENOTSOCK                   = 88
+	ENOTSUP                    = 95
+	ENOTTY                     = 25
+	ENOTUNIQ                   = 76
+	ENXIO                      = 6
+	EOPNOTSUPP                 = 95
+	EOVERFLOW                  = 75
+	EOWNERDEAD                 = 130
+	EPERM                      = 1
+	EPFNOSUPPORT               = 96
+	EPIPE                      = 32
+	EPROTO                     = 71
+	EPROTONOSUPPORT            = 93
+	EPROTOTYPE                 = 91
+	ERANGE                     = 34
+	EREMCHG                    = 78
+	EREMOTE                    = 66
+	EREMOTEIO                  = 121
+	ERESTART                   = 85
+	ERFKILL                    = 132
+	EROFS                      = 30
+	ESHUTDOWN                  = 108
+	ESOCKTNOSUPPORT            = 94
+	ESPIPE                     = 29
+	ESRCH                      = 3
+	ESRMNT                     = 69
+	ESTALE                     = 116
+	ESTRPIPE                   = 86
+	ETIME                      = 62
+	ETIMEDOUT                  = 110
+	ETOOMANYREFS               = 109
+	ETXTBSY                    = 26
+	EUCLEAN                    = 117
+	EUNATCH                    = 49
+	EUSERS                     = 87
+	EWOULDBLOCK                = 11
+	EXDEV                      = 18
+	EXFULL                     = 54
+	X_ASM_GENERIC_ERRNO_BASE_H = 0
+	X_ASM_GENERIC_ERRNO_H      = 0
+	X_ATFILE_SOURCE            = 1
+	X_BITS_ERRNO_H             = 1
+	X_DEFAULT_SOURCE           = 1
+	X_ERRNO_H                  = 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
+	Linux                      = 1
+	Unix                       = 1
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+	Flo int64
+	Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+	Flo uint64
+	Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64        /* <builtin>:47:21 */
+
+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
new file mode 100644
index 0000000..4ecaf60
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_linux_s390x.go
@@ -0,0 +1,187 @@
+// 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
+
+import (
+	"math"
+	"reflect"
+	"sync/atomic"
+	"unsafe"
+)
+
+var _ = math.Pi
+var _ reflect.Kind
+var _ atomic.Value
+var _ unsafe.Pointer
+
+const (
+	E2BIG                      = 7
+	EACCES                     = 13
+	EADDRINUSE                 = 98
+	EADDRNOTAVAIL              = 99
+	EADV                       = 68
+	EAFNOSUPPORT               = 97
+	EAGAIN                     = 11
+	EALREADY                   = 114
+	EBADE                      = 52
+	EBADF                      = 9
+	EBADFD                     = 77
+	EBADMSG                    = 74
+	EBADR                      = 53
+	EBADRQC                    = 56
+	EBADSLT                    = 57
+	EBFONT                     = 59
+	EBUSY                      = 16
+	ECANCELED                  = 125
+	ECHILD                     = 10
+	ECHRNG                     = 44
+	ECOMM                      = 70
+	ECONNABORTED               = 103
+	ECONNREFUSED               = 111
+	ECONNRESET                 = 104
+	EDEADLK                    = 35
+	EDEADLOCK                  = 35
+	EDESTADDRREQ               = 89
+	EDOM                       = 33
+	EDOTDOT                    = 73
+	EDQUOT                     = 122
+	EEXIST                     = 17
+	EFAULT                     = 14
+	EFBIG                      = 27
+	EHOSTDOWN                  = 112
+	EHOSTUNREACH               = 113
+	EHWPOISON                  = 133
+	EIDRM                      = 43
+	EILSEQ                     = 84
+	EINPROGRESS                = 115
+	EINTR                      = 4
+	EINVAL                     = 22
+	EIO                        = 5
+	EISCONN                    = 106
+	EISDIR                     = 21
+	EISNAM                     = 120
+	EKEYEXPIRED                = 127
+	EKEYREJECTED               = 129
+	EKEYREVOKED                = 128
+	EL2HLT                     = 51
+	EL2NSYNC                   = 45
+	EL3HLT                     = 46
+	EL3RST                     = 47
+	ELIBACC                    = 79
+	ELIBBAD                    = 80
+	ELIBEXEC                   = 83
+	ELIBMAX                    = 82
+	ELIBSCN                    = 81
+	ELNRNG                     = 48
+	ELOOP                      = 40
+	EMEDIUMTYPE                = 124
+	EMFILE                     = 24
+	EMLINK                     = 31
+	EMSGSIZE                   = 90
+	EMULTIHOP                  = 72
+	ENAMETOOLONG               = 36
+	ENAVAIL                    = 119
+	ENETDOWN                   = 100
+	ENETRESET                  = 102
+	ENETUNREACH                = 101
+	ENFILE                     = 23
+	ENOANO                     = 55
+	ENOBUFS                    = 105
+	ENOCSI                     = 50
+	ENODATA                    = 61
+	ENODEV                     = 19
+	ENOENT                     = 2
+	ENOEXEC                    = 8
+	ENOKEY                     = 126
+	ENOLCK                     = 37
+	ENOLINK                    = 67
+	ENOMEDIUM                  = 123
+	ENOMEM                     = 12
+	ENOMSG                     = 42
+	ENONET                     = 64
+	ENOPKG                     = 65
+	ENOPROTOOPT                = 92
+	ENOSPC                     = 28
+	ENOSR                      = 63
+	ENOSTR                     = 60
+	ENOSYS                     = 38
+	ENOTBLK                    = 15
+	ENOTCONN                   = 107
+	ENOTDIR                    = 20
+	ENOTEMPTY                  = 39
+	ENOTNAM                    = 118
+	ENOTRECOVERABLE            = 131
+	ENOTSOCK                   = 88
+	ENOTSUP                    = 95
+	ENOTTY                     = 25
+	ENOTUNIQ                   = 76
+	ENXIO                      = 6
+	EOPNOTSUPP                 = 95
+	EOVERFLOW                  = 75
+	EOWNERDEAD                 = 130
+	EPERM                      = 1
+	EPFNOSUPPORT               = 96
+	EPIPE                      = 32
+	EPROTO                     = 71
+	EPROTONOSUPPORT            = 93
+	EPROTOTYPE                 = 91
+	ERANGE                     = 34
+	EREMCHG                    = 78
+	EREMOTE                    = 66
+	EREMOTEIO                  = 121
+	ERESTART                   = 85
+	ERFKILL                    = 132
+	EROFS                      = 30
+	ESHUTDOWN                  = 108
+	ESOCKTNOSUPPORT            = 94
+	ESPIPE                     = 29
+	ESRCH                      = 3
+	ESRMNT                     = 69
+	ESTALE                     = 116
+	ESTRPIPE                   = 86
+	ETIME                      = 62
+	ETIMEDOUT                  = 110
+	ETOOMANYREFS               = 109
+	ETXTBSY                    = 26
+	EUCLEAN                    = 117
+	EUNATCH                    = 49
+	EUSERS                     = 87
+	EWOULDBLOCK                = 11
+	EXDEV                      = 18
+	EXFULL                     = 54
+	X_ASM_GENERIC_ERRNO_BASE_H = 0
+	X_ASM_GENERIC_ERRNO_H      = 0
+	X_ATFILE_SOURCE            = 1
+	X_BITS_ERRNO_H             = 1
+	X_DEFAULT_SOURCE           = 1
+	X_ERRNO_H                  = 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
+	Linux                      = 1
+	Unix                       = 1
+)
+
+type Ptrdiff_t = int64 /* <builtin>:3:26 */
+
+type Size_t = uint64 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__int128_t = struct {
+	Flo int64
+	Fhi int64
+} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
+type X__uint128_t = struct {
+	Flo uint64
+	Fhi uint64
+} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64        /* <builtin>:47:21 */
+
+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 0000000..b2604c0
--- /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 -ignore-unsupported-alignment -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  // errno.h:48:1:
+	EACCES             = 13 // errno.h:55:1:
+	EADDRINUSE         = 48 // errno.h:97:1:
+	EADDRNOTAVAIL      = 49 // errno.h:98:1:
+	EAFNOSUPPORT       = 47 // errno.h:96:1:
+	EAGAIN             = 35 // errno.h:81:1:
+	EALREADY           = 37 // errno.h:84:1:
+	EAUTH              = 80 // errno.h:140:1:
+	EBADF              = 9  // errno.h:50:1:
+	EBADMSG            = 88 // errno.h:159:1:
+	EBADRPC            = 72 // errno.h:130:1:
+	EBUSY              = 16 // errno.h:58:1:
+	ECANCELED          = 87 // errno.h:156:1:
+	ECHILD             = 10 // errno.h:51:1:
+	ECONNABORTED       = 53 // errno.h:104:1:
+	ECONNREFUSED       = 61 // errno.h:112:1:
+	ECONNRESET         = 54 // errno.h:105:1:
+	EDEADLK            = 11 // errno.h:52:1:
+	EDESTADDRREQ       = 39 // errno.h:88:1:
+	EDOM               = 33 // errno.h:77:1:
+	EDQUOT             = 69 // errno.h:125:1:
+	EEXIST             = 17 // errno.h:59:1:
+	EFAULT             = 14 // errno.h:56:1:
+	EFBIG              = 27 // errno.h:69:1:
+	EFTYPE             = 79 // errno.h:139:1:
+	EHOSTDOWN          = 64 // errno.h:118:1:
+	EHOSTUNREACH       = 65 // errno.h:119:1:
+	EIDRM              = 82 // errno.h:144:1:
+	EILSEQ             = 85 // errno.h:149:1:
+	EINPROGRESS        = 36 // errno.h:83:1:
+	EINTR              = 4  // errno.h:45:1:
+	EINVAL             = 22 // errno.h:64:1:
+	EIO                = 5  // errno.h:46:1:
+	EISCONN            = 56 // errno.h:107:1:
+	EISDIR             = 21 // errno.h:63:1:
+	ELAST              = 96 // errno.h:175:1:
+	ELOOP              = 62 // errno.h:114:1:
+	EMFILE             = 24 // errno.h:66:1:
+	EMLINK             = 31 // errno.h:73:1:
+	EMSGSIZE           = 40 // errno.h:89:1:
+	EMULTIHOP          = 94 // errno.h:171:1:
+	ENAMETOOLONG       = 63 // errno.h:115:1:
+	ENEEDAUTH          = 81 // errno.h:141:1:
+	ENETDOWN           = 50 // errno.h:101:1:
+	ENETRESET          = 52 // errno.h:103:1:
+	ENETUNREACH        = 51 // errno.h:102:1:
+	ENFILE             = 23 // errno.h:65:1:
+	ENOATTR            = 93 // errno.h:168:1:
+	ENOBUFS            = 55 // errno.h:106:1:
+	ENODATA            = 89 // errno.h:162:1:
+	ENODEV             = 19 // errno.h:61:1:
+	ENOENT             = 2  // errno.h:43:1:
+	ENOEXEC            = 8  // errno.h:49:1:
+	ENOLCK             = 77 // errno.h:136:1:
+	ENOLINK            = 95 // errno.h:172:1:
+	ENOMEM             = 12 // errno.h:54:1:
+	ENOMSG             = 83 // errno.h:145:1:
+	ENOPROTOOPT        = 42 // errno.h:91:1:
+	ENOSPC             = 28 // errno.h:70:1:
+	ENOSR              = 90 // errno.h:163:1:
+	ENOSTR             = 91 // errno.h:164:1:
+	ENOSYS             = 78 // errno.h:137:1:
+	ENOTBLK            = 15 // errno.h:57:1:
+	ENOTCONN           = 57 // errno.h:108:1:
+	ENOTDIR            = 20 // errno.h:62:1:
+	ENOTEMPTY          = 66 // errno.h:120:1:
+	ENOTSOCK           = 38 // errno.h:87:1:
+	ENOTSUP            = 86 // errno.h:153:1:
+	ENOTTY             = 25 // errno.h:67:1:
+	ENXIO              = 6  // errno.h:47:1:
+	EOPNOTSUPP         = 45 // errno.h:94:1:
+	EOVERFLOW          = 84 // errno.h:146:1:
+	EPERM              = 1  // errno.h:42:1:
+	EPFNOSUPPORT       = 46 // errno.h:95:1:
+	EPIPE              = 32 // errno.h:74:1:
+	EPROCLIM           = 67 // errno.h:123:1:
+	EPROCUNAVAIL       = 76 // errno.h:134:1:
+	EPROGMISMATCH      = 75 // errno.h:133:1:
+	EPROGUNAVAIL       = 74 // errno.h:132:1:
+	EPROTO             = 96 // errno.h:173:1:
+	EPROTONOSUPPORT    = 43 // errno.h:92:1:
+	EPROTOTYPE         = 41 // errno.h:90:1:
+	ERANGE             = 34 // errno.h:78:1:
+	EREMOTE            = 71 // errno.h:129:1:
+	EROFS              = 30 // errno.h:72:1:
+	ERPCMISMATCH       = 73 // errno.h:131:1:
+	ESHUTDOWN          = 58 // errno.h:109:1:
+	ESOCKTNOSUPPORT    = 44 // errno.h:93:1:
+	ESPIPE             = 29 // errno.h:71:1:
+	ESRCH              = 3  // errno.h:44:1:
+	ESTALE             = 70 // errno.h:128:1:
+	ETIME              = 92 // errno.h:165:1:
+	ETIMEDOUT          = 60 // errno.h:111:1:
+	ETOOMANYREFS       = 59 // errno.h:110:1:
+	ETXTBSY            = 26 // errno.h:68:1:
+	EUSERS             = 68 // errno.h:124:1:
+	EWOULDBLOCK        = 35 // errno.h:82:1:
+	EXDEV              = 18 // errno.h:60:1:
+	X_ERRNO_H_         = 0  // errno.h:40:1:
+	X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
+	X_LP64             = 1  // <predefined>:268:1:
+	X_NETBSD_SOURCE    = 1  // featuretest.h:70:1:
+	X_SYS_CDEFS_ELF_H_ = 0  // cdefs_elf.h:31:1:
+	X_SYS_CDEFS_H_     = 0  // cdefs.h:37:1:
+	X_SYS_ERRNO_H_     = 0  // errno.h:40:1:
+	X_X86_64_CDEFS_H_  = 0  // cdefs.h:4: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 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_netbsd_arm.go b/vendor/modernc.org/libc/errno/errno_netbsd_arm.go
new file mode 100644
index 0000000..ee10ffe
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_netbsd_arm.go
@@ -0,0 +1,141 @@
+// 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 -ignore-unsupported-alignment -o errno/errno_netbsd_arm.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  // errno.h:48:1:
+	EACCES              = 13 // errno.h:55:1:
+	EADDRINUSE          = 48 // errno.h:97:1:
+	EADDRNOTAVAIL       = 49 // errno.h:98:1:
+	EAFNOSUPPORT        = 47 // errno.h:96:1:
+	EAGAIN              = 35 // errno.h:81:1:
+	EALREADY            = 37 // errno.h:84:1:
+	EAUTH               = 80 // errno.h:140:1:
+	EBADF               = 9  // errno.h:50:1:
+	EBADMSG             = 88 // errno.h:159:1:
+	EBADRPC             = 72 // errno.h:130:1:
+	EBUSY               = 16 // errno.h:58:1:
+	ECANCELED           = 87 // errno.h:156:1:
+	ECHILD              = 10 // errno.h:51:1:
+	ECONNABORTED        = 53 // errno.h:104:1:
+	ECONNREFUSED        = 61 // errno.h:112:1:
+	ECONNRESET          = 54 // errno.h:105:1:
+	EDEADLK             = 11 // errno.h:52:1:
+	EDESTADDRREQ        = 39 // errno.h:88:1:
+	EDOM                = 33 // errno.h:77:1:
+	EDQUOT              = 69 // errno.h:125:1:
+	EEXIST              = 17 // errno.h:59:1:
+	EFAULT              = 14 // errno.h:56:1:
+	EFBIG               = 27 // errno.h:69:1:
+	EFTYPE              = 79 // errno.h:139:1:
+	EHOSTDOWN           = 64 // errno.h:118:1:
+	EHOSTUNREACH        = 65 // errno.h:119:1:
+	EIDRM               = 82 // errno.h:144:1:
+	EILSEQ              = 85 // errno.h:149:1:
+	EINPROGRESS         = 36 // errno.h:83:1:
+	EINTR               = 4  // errno.h:45:1:
+	EINVAL              = 22 // errno.h:64:1:
+	EIO                 = 5  // errno.h:46:1:
+	EISCONN             = 56 // errno.h:107:1:
+	EISDIR              = 21 // errno.h:63:1:
+	ELAST               = 96 // errno.h:175:1:
+	ELOOP               = 62 // errno.h:114:1:
+	EMFILE              = 24 // errno.h:66:1:
+	EMLINK              = 31 // errno.h:73:1:
+	EMSGSIZE            = 40 // errno.h:89:1:
+	EMULTIHOP           = 94 // errno.h:171:1:
+	ENAMETOOLONG        = 63 // errno.h:115:1:
+	ENEEDAUTH           = 81 // errno.h:141:1:
+	ENETDOWN            = 50 // errno.h:101:1:
+	ENETRESET           = 52 // errno.h:103:1:
+	ENETUNREACH         = 51 // errno.h:102:1:
+	ENFILE              = 23 // errno.h:65:1:
+	ENOATTR             = 93 // errno.h:168:1:
+	ENOBUFS             = 55 // errno.h:106:1:
+	ENODATA             = 89 // errno.h:162:1:
+	ENODEV              = 19 // errno.h:61:1:
+	ENOENT              = 2  // errno.h:43:1:
+	ENOEXEC             = 8  // errno.h:49:1:
+	ENOLCK              = 77 // errno.h:136:1:
+	ENOLINK             = 95 // errno.h:172:1:
+	ENOMEM              = 12 // errno.h:54:1:
+	ENOMSG              = 83 // errno.h:145:1:
+	ENOPROTOOPT         = 42 // errno.h:91:1:
+	ENOSPC              = 28 // errno.h:70:1:
+	ENOSR               = 90 // errno.h:163:1:
+	ENOSTR              = 91 // errno.h:164:1:
+	ENOSYS              = 78 // errno.h:137:1:
+	ENOTBLK             = 15 // errno.h:57:1:
+	ENOTCONN            = 57 // errno.h:108:1:
+	ENOTDIR             = 20 // errno.h:62:1:
+	ENOTEMPTY           = 66 // errno.h:120:1:
+	ENOTSOCK            = 38 // errno.h:87:1:
+	ENOTSUP             = 86 // errno.h:153:1:
+	ENOTTY              = 25 // errno.h:67:1:
+	ENXIO               = 6  // errno.h:47:1:
+	EOPNOTSUPP          = 45 // errno.h:94:1:
+	EOVERFLOW           = 84 // errno.h:146:1:
+	EPERM               = 1  // errno.h:42:1:
+	EPFNOSUPPORT        = 46 // errno.h:95:1:
+	EPIPE               = 32 // errno.h:74:1:
+	EPROCLIM            = 67 // errno.h:123:1:
+	EPROCUNAVAIL        = 76 // errno.h:134:1:
+	EPROGMISMATCH       = 75 // errno.h:133:1:
+	EPROGUNAVAIL        = 74 // errno.h:132:1:
+	EPROTO              = 96 // errno.h:173:1:
+	EPROTONOSUPPORT     = 43 // errno.h:92:1:
+	EPROTOTYPE          = 41 // errno.h:90:1:
+	ERANGE              = 34 // errno.h:78:1:
+	EREMOTE             = 71 // errno.h:129:1:
+	EROFS               = 30 // errno.h:72:1:
+	ERPCMISMATCH        = 73 // errno.h:131:1:
+	ESHUTDOWN           = 58 // errno.h:109:1:
+	ESOCKTNOSUPPORT     = 44 // errno.h:93:1:
+	ESPIPE              = 29 // errno.h:71:1:
+	ESRCH               = 3  // errno.h:44:1:
+	ESTALE              = 70 // errno.h:128:1:
+	ETIME               = 92 // errno.h:165:1:
+	ETIMEDOUT           = 60 // errno.h:111:1:
+	ETOOMANYREFS        = 59 // errno.h:110:1:
+	ETXTBSY             = 26 // errno.h:68:1:
+	EUSERS              = 68 // errno.h:124:1:
+	EWOULDBLOCK         = 35 // errno.h:82:1:
+	EXDEV               = 18 // errno.h:60:1:
+	X_ARM_ARCH_4T       = 0  // cdefs.h:44:1:
+	X_ARM_ARCH_5        = 0  // cdefs.h:40:1:
+	X_ARM_ARCH_5T       = 0  // cdefs.h:36:1:
+	X_ARM_ARCH_6        = 0  // cdefs.h:31:1:
+	X_ARM_ARCH_7        = 0  // cdefs.h:20:1:
+	X_ARM_ARCH_DWORD_OK = 0  // cdefs.h:51:1:
+	X_ARM_ARCH_T2       = 0  // cdefs.h:24:1:
+	X_ARM_CDEFS_H_      = 0  // cdefs.h:4:1:
+	X_ERRNO_H_          = 0  // errno.h:40:1:
+	X_FILE_OFFSET_BITS  = 64 // <builtin>:25:1:
+	X_NETBSD_SOURCE     = 1  // featuretest.h:70:1:
+	X_SYS_CDEFS_ELF_H_  = 0  // cdefs_elf.h:31:1:
+	X_SYS_CDEFS_H_      = 0  // cdefs.h:37:1:
+	X_SYS_ERRNO_H_      = 0  // errno.h:40:1:
+)
+
+type Ptrdiff_t = int32 /* <builtin>:3:26 */
+
+type Size_t = uint32 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64        /* <builtin>:47:21 */
+
+var _ uint8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_openbsd_386.go b/vendor/modernc.org/libc/errno/errno_openbsd_386.go
new file mode 100644
index 0000000..7dbe6dd
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_openbsd_386.go
@@ -0,0 +1,133 @@
+// 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 -ignore-unsupported-alignment -o errno/errno_openbsd_386.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  // errno.h:48:1:
+	EACCES             = 13 // errno.h:55:1:
+	EADDRINUSE         = 48 // errno.h:103:1:
+	EADDRNOTAVAIL      = 49 // errno.h:104:1:
+	EAFNOSUPPORT       = 47 // errno.h:102:1:
+	EAGAIN             = 35 // errno.h:83:1:
+	EALREADY           = 37 // errno.h:86:1:
+	EAUTH              = 80 // errno.h:155:1:
+	EBADF              = 9  // errno.h:50:1:
+	EBADMSG            = 92 // errno.h:170:1:
+	EBADRPC            = 72 // errno.h:143:1:
+	EBUSY              = 16 // errno.h:60:1:
+	ECANCELED          = 88 // errno.h:166:1:
+	ECHILD             = 10 // errno.h:51:1:
+	ECONNABORTED       = 53 // errno.h:110:1:
+	ECONNREFUSED       = 61 // errno.h:120:1:
+	ECONNRESET         = 54 // errno.h:111:1:
+	EDEADLK            = 11 // errno.h:52:1:
+	EDESTADDRREQ       = 39 // errno.h:90:1:
+	EDOM               = 33 // errno.h:79:1:
+	EDQUOT             = 69 // errno.h:137:1:
+	EEXIST             = 17 // errno.h:61:1:
+	EFAULT             = 14 // errno.h:56:1:
+	EFBIG              = 27 // errno.h:71:1:
+	EFTYPE             = 79 // errno.h:154:1:
+	EHOSTDOWN          = 64 // errno.h:127:1:
+	EHOSTUNREACH       = 65 // errno.h:129:1:
+	EIDRM              = 89 // errno.h:167:1:
+	EILSEQ             = 84 // errno.h:160:1:
+	EINPROGRESS        = 36 // errno.h:85:1:
+	EINTR              = 4  // errno.h:45:1:
+	EINVAL             = 22 // errno.h:66:1:
+	EIO                = 5  // errno.h:46:1:
+	EIPSEC             = 82 // errno.h:157:1:
+	EISCONN            = 56 // errno.h:113:1:
+	EISDIR             = 21 // errno.h:65:1:
+	ELAST              = 95 // errno.h:175:1:
+	ELOOP              = 62 // errno.h:122:1:
+	EMEDIUMTYPE        = 86 // errno.h:163:1:
+	EMFILE             = 24 // errno.h:68:1:
+	EMLINK             = 31 // errno.h:75:1:
+	EMSGSIZE           = 40 // errno.h:91:1:
+	ENAMETOOLONG       = 63 // errno.h:123:1:
+	ENEEDAUTH          = 81 // errno.h:156:1:
+	ENETDOWN           = 50 // errno.h:107:1:
+	ENETRESET          = 52 // errno.h:109:1:
+	ENETUNREACH        = 51 // errno.h:108:1:
+	ENFILE             = 23 // errno.h:67:1:
+	ENOATTR            = 83 // errno.h:158:1:
+	ENOBUFS            = 55 // errno.h:112:1:
+	ENODEV             = 19 // errno.h:63:1:
+	ENOENT             = 2  // errno.h:43:1:
+	ENOEXEC            = 8  // errno.h:49:1:
+	ENOLCK             = 77 // errno.h:150:1:
+	ENOMEDIUM          = 85 // errno.h:162:1:
+	ENOMEM             = 12 // errno.h:54:1:
+	ENOMSG             = 90 // errno.h:168:1:
+	ENOPROTOOPT        = 42 // errno.h:93:1:
+	ENOSPC             = 28 // errno.h:72:1:
+	ENOSYS             = 78 // errno.h:151:1:
+	ENOTBLK            = 15 // errno.h:58:1:
+	ENOTCONN           = 57 // errno.h:114:1:
+	ENOTDIR            = 20 // errno.h:64:1:
+	ENOTEMPTY          = 66 // errno.h:130:1:
+	ENOTRECOVERABLE    = 93 // errno.h:171:1:
+	ENOTSOCK           = 38 // errno.h:89:1:
+	ENOTSUP            = 91 // errno.h:169:1:
+	ENOTTY             = 25 // errno.h:69:1:
+	ENXIO              = 6  // errno.h:47:1:
+	EOPNOTSUPP         = 45 // errno.h:98:1:
+	EOVERFLOW          = 87 // errno.h:165:1:
+	EOWNERDEAD         = 94 // errno.h:172:1:
+	EPERM              = 1  // errno.h:42:1:
+	EPFNOSUPPORT       = 46 // errno.h:100:1:
+	EPIPE              = 32 // errno.h:76:1:
+	EPROCLIM           = 67 // errno.h:134:1:
+	EPROCUNAVAIL       = 76 // errno.h:147:1:
+	EPROGMISMATCH      = 75 // errno.h:146:1:
+	EPROGUNAVAIL       = 74 // errno.h:145:1:
+	EPROTO             = 95 // errno.h:173:1:
+	EPROTONOSUPPORT    = 43 // errno.h:94:1:
+	EPROTOTYPE         = 41 // errno.h:92:1:
+	ERANGE             = 34 // errno.h:80:1:
+	EREMOTE            = 71 // errno.h:142:1:
+	EROFS              = 30 // errno.h:74:1:
+	ERPCMISMATCH       = 73 // errno.h:144:1:
+	ESHUTDOWN          = 58 // errno.h:116:1:
+	ESOCKTNOSUPPORT    = 44 // errno.h:96:1:
+	ESPIPE             = 29 // errno.h:73:1:
+	ESRCH              = 3  // errno.h:44:1:
+	ESTALE             = 70 // errno.h:140:1:
+	ETIMEDOUT          = 60 // errno.h:119:1:
+	ETOOMANYREFS       = 59 // errno.h:117:1:
+	ETXTBSY            = 26 // errno.h:70:1:
+	EUSERS             = 68 // errno.h:135:1:
+	EWOULDBLOCK        = 35 // errno.h:84:1:
+	EXDEV              = 18 // errno.h:62:1:
+	X_ERRNO_H_         = 0  // errno.h:40:1:
+	X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
+	X_ILP32            = 1  // <predefined>:1:1:
+	X_MACHINE_CDEFS_H_ = 0  // cdefs.h:9:1:
+	X_SYS_CDEFS_H_     = 0  // cdefs.h:39:1:
+	I386               = 1  // <predefined>:339:1:
+	Unix               = 1  // <predefined>:340:1:
+)
+
+type Ptrdiff_t = int32 /* <builtin>:3:26 */
+
+type Size_t = uint32 /* <builtin>:9:23 */
+
+type Wchar_t = int32 /* <builtin>:15:24 */
+
+type X__builtin_va_list = uintptr /* <builtin>:46:14 */
+type X__float128 = float64        /* <builtin>:47:21 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_openbsd_amd64.go b/vendor/modernc.org/libc/errno/errno_openbsd_amd64.go
new file mode 100644
index 0000000..5add30b
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_openbsd_amd64.go
@@ -0,0 +1,142 @@
+// 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 -ignore-unsupported-alignment -o errno/errno_openbsd_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  // errno.h:48:1:
+	EACCES             = 13 // errno.h:55:1:
+	EADDRINUSE         = 48 // errno.h:103:1:
+	EADDRNOTAVAIL      = 49 // errno.h:104:1:
+	EAFNOSUPPORT       = 47 // errno.h:102:1:
+	EAGAIN             = 35 // errno.h:83:1:
+	EALREADY           = 37 // errno.h:86:1:
+	EAUTH              = 80 // errno.h:155:1:
+	EBADF              = 9  // errno.h:50:1:
+	EBADMSG            = 92 // errno.h:170:1:
+	EBADRPC            = 72 // errno.h:143:1:
+	EBUSY              = 16 // errno.h:60:1:
+	ECANCELED          = 88 // errno.h:166:1:
+	ECHILD             = 10 // errno.h:51:1:
+	ECONNABORTED       = 53 // errno.h:110:1:
+	ECONNREFUSED       = 61 // errno.h:120:1:
+	ECONNRESET         = 54 // errno.h:111:1:
+	EDEADLK            = 11 // errno.h:52:1:
+	EDESTADDRREQ       = 39 // errno.h:90:1:
+	EDOM               = 33 // errno.h:79:1:
+	EDQUOT             = 69 // errno.h:137:1:
+	EEXIST             = 17 // errno.h:61:1:
+	EFAULT             = 14 // errno.h:56:1:
+	EFBIG              = 27 // errno.h:71:1:
+	EFTYPE             = 79 // errno.h:154:1:
+	EHOSTDOWN          = 64 // errno.h:127:1:
+	EHOSTUNREACH       = 65 // errno.h:129:1:
+	EIDRM              = 89 // errno.h:167:1:
+	EILSEQ             = 84 // errno.h:160:1:
+	EINPROGRESS        = 36 // errno.h:85:1:
+	EINTR              = 4  // errno.h:45:1:
+	EINVAL             = 22 // errno.h:66:1:
+	EIO                = 5  // errno.h:46:1:
+	EIPSEC             = 82 // errno.h:157:1:
+	EISCONN            = 56 // errno.h:113:1:
+	EISDIR             = 21 // errno.h:65:1:
+	ELAST              = 95 // errno.h:175:1:
+	ELOOP              = 62 // errno.h:122:1:
+	EMEDIUMTYPE        = 86 // errno.h:163:1:
+	EMFILE             = 24 // errno.h:68:1:
+	EMLINK             = 31 // errno.h:75:1:
+	EMSGSIZE           = 40 // errno.h:91:1:
+	ENAMETOOLONG       = 63 // errno.h:123:1:
+	ENEEDAUTH          = 81 // errno.h:156:1:
+	ENETDOWN           = 50 // errno.h:107:1:
+	ENETRESET          = 52 // errno.h:109:1:
+	ENETUNREACH        = 51 // errno.h:108:1:
+	ENFILE             = 23 // errno.h:67:1:
+	ENOATTR            = 83 // errno.h:158:1:
+	ENOBUFS            = 55 // errno.h:112:1:
+	ENODEV             = 19 // errno.h:63:1:
+	ENOENT             = 2  // errno.h:43:1:
+	ENOEXEC            = 8  // errno.h:49:1:
+	ENOLCK             = 77 // errno.h:150:1:
+	ENOMEDIUM          = 85 // errno.h:162:1:
+	ENOMEM             = 12 // errno.h:54:1:
+	ENOMSG             = 90 // errno.h:168:1:
+	ENOPROTOOPT        = 42 // errno.h:93:1:
+	ENOSPC             = 28 // errno.h:72:1:
+	ENOSYS             = 78 // errno.h:151:1:
+	ENOTBLK            = 15 // errno.h:58:1:
+	ENOTCONN           = 57 // errno.h:114:1:
+	ENOTDIR            = 20 // errno.h:64:1:
+	ENOTEMPTY          = 66 // errno.h:130:1:
+	ENOTRECOVERABLE    = 93 // errno.h:171:1:
+	ENOTSOCK           = 38 // errno.h:89:1:
+	ENOTSUP            = 91 // errno.h:169:1:
+	ENOTTY             = 25 // errno.h:69:1:
+	ENXIO              = 6  // errno.h:47:1:
+	EOPNOTSUPP         = 45 // errno.h:98:1:
+	EOVERFLOW          = 87 // errno.h:165:1:
+	EOWNERDEAD         = 94 // errno.h:172:1:
+	EPERM              = 1  // errno.h:42:1:
+	EPFNOSUPPORT       = 46 // errno.h:100:1:
+	EPIPE              = 32 // errno.h:76:1:
+	EPROCLIM           = 67 // errno.h:134:1:
+	EPROCUNAVAIL       = 76 // errno.h:147:1:
+	EPROGMISMATCH      = 75 // errno.h:146:1:
+	EPROGUNAVAIL       = 74 // errno.h:145:1:
+	EPROTO             = 95 // errno.h:173:1:
+	EPROTONOSUPPORT    = 43 // errno.h:94:1:
+	EPROTOTYPE         = 41 // errno.h:92:1:
+	ERANGE             = 34 // errno.h:80:1:
+	EREMOTE            = 71 // errno.h:142:1:
+	EROFS              = 30 // errno.h:74:1:
+	ERPCMISMATCH       = 73 // errno.h:144:1:
+	ESHUTDOWN          = 58 // errno.h:116:1:
+	ESOCKTNOSUPPORT    = 44 // errno.h:96:1:
+	ESPIPE             = 29 // errno.h:73:1:
+	ESRCH              = 3  // errno.h:44:1:
+	ESTALE             = 70 // errno.h:140:1:
+	ETIMEDOUT          = 60 // errno.h:119:1:
+	ETOOMANYREFS       = 59 // errno.h:117:1:
+	ETXTBSY            = 26 // errno.h:70:1:
+	EUSERS             = 68 // errno.h:135:1:
+	EWOULDBLOCK        = 35 // errno.h:84:1:
+	EXDEV              = 18 // errno.h:62:1:
+	X_ERRNO_H_         = 0  // errno.h:40:1:
+	X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
+	X_LP64             = 1  // <predefined>:1:1:
+	X_MACHINE_CDEFS_H_ = 0  // cdefs.h:9:1:
+	X_RET_PROTECTOR    = 1  // <predefined>:2:1:
+	X_SYS_CDEFS_H_     = 0  // cdefs.h:39:1:
+	Unix               = 1  // <predefined>:344: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 */
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_openbsd_arm64.go b/vendor/modernc.org/libc/errno/errno_openbsd_arm64.go
new file mode 100644
index 0000000..4fd7378
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_openbsd_arm64.go
@@ -0,0 +1,142 @@
+// 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 -ignore-unsupported-alignment -o errno/errno_openbsd_arm64.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  // errno.h:48:1:
+	EACCES             = 13 // errno.h:55:1:
+	EADDRINUSE         = 48 // errno.h:103:1:
+	EADDRNOTAVAIL      = 49 // errno.h:104:1:
+	EAFNOSUPPORT       = 47 // errno.h:102:1:
+	EAGAIN             = 35 // errno.h:83:1:
+	EALREADY           = 37 // errno.h:86:1:
+	EAUTH              = 80 // errno.h:155:1:
+	EBADF              = 9  // errno.h:50:1:
+	EBADMSG            = 92 // errno.h:170:1:
+	EBADRPC            = 72 // errno.h:143:1:
+	EBUSY              = 16 // errno.h:60:1:
+	ECANCELED          = 88 // errno.h:166:1:
+	ECHILD             = 10 // errno.h:51:1:
+	ECONNABORTED       = 53 // errno.h:110:1:
+	ECONNREFUSED       = 61 // errno.h:120:1:
+	ECONNRESET         = 54 // errno.h:111:1:
+	EDEADLK            = 11 // errno.h:52:1:
+	EDESTADDRREQ       = 39 // errno.h:90:1:
+	EDOM               = 33 // errno.h:79:1:
+	EDQUOT             = 69 // errno.h:137:1:
+	EEXIST             = 17 // errno.h:61:1:
+	EFAULT             = 14 // errno.h:56:1:
+	EFBIG              = 27 // errno.h:71:1:
+	EFTYPE             = 79 // errno.h:154:1:
+	EHOSTDOWN          = 64 // errno.h:127:1:
+	EHOSTUNREACH       = 65 // errno.h:129:1:
+	EIDRM              = 89 // errno.h:167:1:
+	EILSEQ             = 84 // errno.h:160:1:
+	EINPROGRESS        = 36 // errno.h:85:1:
+	EINTR              = 4  // errno.h:45:1:
+	EINVAL             = 22 // errno.h:66:1:
+	EIO                = 5  // errno.h:46:1:
+	EIPSEC             = 82 // errno.h:157:1:
+	EISCONN            = 56 // errno.h:113:1:
+	EISDIR             = 21 // errno.h:65:1:
+	ELAST              = 95 // errno.h:175:1:
+	ELOOP              = 62 // errno.h:122:1:
+	EMEDIUMTYPE        = 86 // errno.h:163:1:
+	EMFILE             = 24 // errno.h:68:1:
+	EMLINK             = 31 // errno.h:75:1:
+	EMSGSIZE           = 40 // errno.h:91:1:
+	ENAMETOOLONG       = 63 // errno.h:123:1:
+	ENEEDAUTH          = 81 // errno.h:156:1:
+	ENETDOWN           = 50 // errno.h:107:1:
+	ENETRESET          = 52 // errno.h:109:1:
+	ENETUNREACH        = 51 // errno.h:108:1:
+	ENFILE             = 23 // errno.h:67:1:
+	ENOATTR            = 83 // errno.h:158:1:
+	ENOBUFS            = 55 // errno.h:112:1:
+	ENODEV             = 19 // errno.h:63:1:
+	ENOENT             = 2  // errno.h:43:1:
+	ENOEXEC            = 8  // errno.h:49:1:
+	ENOLCK             = 77 // errno.h:150:1:
+	ENOMEDIUM          = 85 // errno.h:162:1:
+	ENOMEM             = 12 // errno.h:54:1:
+	ENOMSG             = 90 // errno.h:168:1:
+	ENOPROTOOPT        = 42 // errno.h:93:1:
+	ENOSPC             = 28 // errno.h:72:1:
+	ENOSYS             = 78 // errno.h:151:1:
+	ENOTBLK            = 15 // errno.h:58:1:
+	ENOTCONN           = 57 // errno.h:114:1:
+	ENOTDIR            = 20 // errno.h:64:1:
+	ENOTEMPTY          = 66 // errno.h:130:1:
+	ENOTRECOVERABLE    = 93 // errno.h:171:1:
+	ENOTSOCK           = 38 // errno.h:89:1:
+	ENOTSUP            = 91 // errno.h:169:1:
+	ENOTTY             = 25 // errno.h:69:1:
+	ENXIO              = 6  // errno.h:47:1:
+	EOPNOTSUPP         = 45 // errno.h:98:1:
+	EOVERFLOW          = 87 // errno.h:165:1:
+	EOWNERDEAD         = 94 // errno.h:172:1:
+	EPERM              = 1  // errno.h:42:1:
+	EPFNOSUPPORT       = 46 // errno.h:100:1:
+	EPIPE              = 32 // errno.h:76:1:
+	EPROCLIM           = 67 // errno.h:134:1:
+	EPROCUNAVAIL       = 76 // errno.h:147:1:
+	EPROGMISMATCH      = 75 // errno.h:146:1:
+	EPROGUNAVAIL       = 74 // errno.h:145:1:
+	EPROTO             = 95 // errno.h:173:1:
+	EPROTONOSUPPORT    = 43 // errno.h:94:1:
+	EPROTOTYPE         = 41 // errno.h:92:1:
+	ERANGE             = 34 // errno.h:80:1:
+	EREMOTE            = 71 // errno.h:142:1:
+	EROFS              = 30 // errno.h:74:1:
+	ERPCMISMATCH       = 73 // errno.h:144:1:
+	ESHUTDOWN          = 58 // errno.h:116:1:
+	ESOCKTNOSUPPORT    = 44 // errno.h:96:1:
+	ESPIPE             = 29 // errno.h:73:1:
+	ESRCH              = 3  // errno.h:44:1:
+	ESTALE             = 70 // errno.h:140:1:
+	ETIMEDOUT          = 60 // errno.h:119:1:
+	ETOOMANYREFS       = 59 // errno.h:117:1:
+	ETXTBSY            = 26 // errno.h:70:1:
+	EUSERS             = 68 // errno.h:135:1:
+	EWOULDBLOCK        = 35 // errno.h:84:1:
+	EXDEV              = 18 // errno.h:62:1:
+	X_ERRNO_H_         = 0  // errno.h:40:1:
+	X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
+	X_LP64             = 1  // <predefined>:1:1:
+	X_MACHINE_CDEFS_H_ = 0  // cdefs.h:4:1:
+	X_RET_PROTECTOR    = 1  // <predefined>:2:1:
+	X_SYS_CDEFS_H_     = 0  // cdefs.h:39:1:
+	Unix               = 1  // <predefined>:360: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 */
+
+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
new file mode 100644
index 0000000..d31ff3e
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_windows_386.go
@@ -0,0 +1,361 @@
+// 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 -ignore-unsupported-alignment -o errno/errno_windows_386.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 (
+	DUMMYSTRUCTNAME                                 = 0     // _mingw.h:519:1:
+	DUMMYSTRUCTNAME1                                = 0     // _mingw.h:520:1:
+	DUMMYSTRUCTNAME2                                = 0     // _mingw.h:521:1:
+	DUMMYSTRUCTNAME3                                = 0     // _mingw.h:522:1:
+	DUMMYSTRUCTNAME4                                = 0     // _mingw.h:523:1:
+	DUMMYSTRUCTNAME5                                = 0     // _mingw.h:524:1:
+	DUMMYUNIONNAME                                  = 0     // _mingw.h:497:1:
+	DUMMYUNIONNAME1                                 = 0     // _mingw.h:498:1:
+	DUMMYUNIONNAME2                                 = 0     // _mingw.h:499:1:
+	DUMMYUNIONNAME3                                 = 0     // _mingw.h:500:1:
+	DUMMYUNIONNAME4                                 = 0     // _mingw.h:501:1:
+	DUMMYUNIONNAME5                                 = 0     // _mingw.h:502:1:
+	DUMMYUNIONNAME6                                 = 0     // _mingw.h:503:1:
+	DUMMYUNIONNAME7                                 = 0     // _mingw.h:504:1:
+	DUMMYUNIONNAME8                                 = 0     // _mingw.h:505:1:
+	DUMMYUNIONNAME9                                 = 0     // _mingw.h:506:1:
+	E2BIG                                           = 7     // errno.h:31:1:
+	EACCES                                          = 13    // errno.h:37:1:
+	EADDRINUSE                                      = 100   // errno.h:86:1:
+	EADDRNOTAVAIL                                   = 101   // errno.h:90:1:
+	EAFNOSUPPORT                                    = 102   // errno.h:82:1:
+	EAGAIN                                          = 11    // errno.h:35:1:
+	EALREADY                                        = 103   // errno.h:106:1:
+	EBADF                                           = 9     // errno.h:33:1:
+	EBADMSG                                         = 104   // errno.h:182:1:
+	EBUSY                                           = 16    // errno.h:39:1:
+	ECANCELED                                       = 105   // errno.h:154:1:
+	ECHILD                                          = 10    // errno.h:34:1:
+	ECONNABORTED                                    = 106   // errno.h:102:1:
+	ECONNREFUSED                                    = 107   // errno.h:110:1:
+	ECONNRESET                                      = 108   // errno.h:114:1:
+	EDEADLK                                         = 36    // errno.h:55:1:
+	EDEADLOCK                                       = 36    // errno.h:71:1:
+	EDESTADDRREQ                                    = 109   // errno.h:118:1:
+	EDOM                                            = 33    // errno.h:54:1:
+	EEXIST                                          = 17    // errno.h:40:1:
+	EFAULT                                          = 14    // errno.h:38:1:
+	EFBIG                                           = 27    // errno.h:48:1:
+	EHOSTUNREACH                                    = 110   // errno.h:122:1:
+	EIDRM                                           = 111   // errno.h:186:1:
+	EILSEQ                                          = 42    // errno.h:66:1:
+	EINPROGRESS                                     = 112   // errno.h:158:1:
+	EINTR                                           = 4     // errno.h:28:1:
+	EINVAL                                          = 22    // errno.h:64:1:
+	EIO                                             = 5     // errno.h:29:1:
+	EISCONN                                         = 113   // errno.h:94:1:
+	EISDIR                                          = 21    // errno.h:44:1:
+	ELOOP                                           = 114   // errno.h:227:1:
+	EMFILE                                          = 24    // errno.h:46:1:
+	EMLINK                                          = 31    // errno.h:52:1:
+	EMSGSIZE                                        = 115   // errno.h:126:1:
+	ENAMETOOLONG                                    = 38    // errno.h:56:1:
+	ENETDOWN                                        = 116   // errno.h:130:1:
+	ENETRESET                                       = 117   // errno.h:134:1:
+	ENETUNREACH                                     = 118   // errno.h:138:1:
+	ENFILE                                          = 23    // errno.h:45:1:
+	ENOBUFS                                         = 119   // errno.h:98:1:
+	ENODATA                                         = 120   // errno.h:190:1:
+	ENODEV                                          = 19    // errno.h:42:1:
+	ENOENT                                          = 2     // errno.h:25:1:
+	ENOEXEC                                         = 8     // errno.h:32:1:
+	ENOFILE                                         = 2     // errno.h:26:1:
+	ENOLCK                                          = 39    // errno.h:57:1:
+	ENOLINK                                         = 121   // errno.h:194:1:
+	ENOMEM                                          = 12    // errno.h:36:1:
+	ENOMSG                                          = 122   // errno.h:198:1:
+	ENOPROTOOPT                                     = 123   // errno.h:142:1:
+	ENOSPC                                          = 28    // errno.h:49:1:
+	ENOSR                                           = 124   // errno.h:202:1:
+	ENOSTR                                          = 125   // errno.h:206:1:
+	ENOSYS                                          = 40    // errno.h:58:1:
+	ENOTCONN                                        = 126   // errno.h:150:1:
+	ENOTDIR                                         = 20    // errno.h:43:1:
+	ENOTEMPTY                                       = 41    // errno.h:59:1:
+	ENOTRECOVERABLE                                 = 127   // errno.h:210:1:
+	ENOTSOCK                                        = 128   // errno.h:146:1:
+	ENOTSUP                                         = 129   // errno.h:76:1:
+	ENOTTY                                          = 25    // errno.h:47:1:
+	ENXIO                                           = 6     // errno.h:30:1:
+	EOPNOTSUPP                                      = 130   // errno.h:162:1:
+	EOVERFLOW                                       = 132   // errno.h:235:1:
+	EOWNERDEAD                                      = 133   // errno.h:170:1:
+	EPERM                                           = 1     // errno.h:24:1:
+	EPIPE                                           = 32    // errno.h:53:1:
+	EPROTO                                          = 134   // errno.h:174:1:
+	EPROTONOSUPPORT                                 = 135   // errno.h:178:1:
+	EPROTOTYPE                                      = 136   // errno.h:231:1:
+	ERANGE                                          = 34    // errno.h:65:1:
+	EROFS                                           = 30    // errno.h:51:1:
+	ESPIPE                                          = 29    // errno.h:50:1:
+	ESRCH                                           = 3     // errno.h:27:1:
+	ETIME                                           = 137   // errno.h:214:1:
+	ETIMEDOUT                                       = 138   // errno.h:223:1:
+	ETXTBSY                                         = 139   // errno.h:218:1:
+	EWOULDBLOCK                                     = 140   // errno.h:166:1:
+	EXDEV                                           = 18    // errno.h:41:1:
+	MINGW_DDK_H                                     = 0     // _mingw_ddk.h:2:1:
+	MINGW_HAS_DDK_H                                 = 1     // _mingw_ddk.h:4:1:
+	MINGW_HAS_SECURE_API                            = 1     // _mingw.h:602:1:
+	MINGW_SDK_INIT                                  = 0     // _mingw.h:598:1:
+	STRUNCATE                                       = 80    // errno.h:67:1:
+	UNALIGNED                                       = 0     // _mingw.h:384:1:
+	USE___UUIDOF                                    = 0     // _mingw.h:77:1:
+	WIN32                                           = 1     // <predefined>:258:1:
+	WINNT                                           = 1     // <predefined>:306:1:
+	X_AGLOBAL                                       = 0     // _mingw.h:346:1:
+	X_ANONYMOUS_STRUCT                              = 0     // _mingw.h:474:1:
+	X_ANONYMOUS_UNION                               = 0     // _mingw.h:473:1:
+	X_ARGMAX                                        = 100   // _mingw.h:402:1:
+	X_CONST_RETURN                                  = 0     // _mingw.h:377:1:
+	X_CRTNOALIAS                                    = 0     // corecrt.h:29:1:
+	X_CRTRESTRICT                                   = 0     // corecrt.h:33:1:
+	X_CRT_ALTERNATIVE_IMPORTED                      = 0     // _mingw.h:313:1:
+	X_CRT_ERRNO_DEFINED                             = 0     // errno.h:16:1:
+	X_CRT_MANAGED_HEAP_DEPRECATE                    = 0     // _mingw.h:361:1:
+	X_CRT_PACKING                                   = 8     // corecrt.h:14:1:
+	X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES          = 0     // _mingw_secapi.h:34:1:
+	X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY   = 0     // _mingw_secapi.h:35:1:
+	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES        = 0     // _mingw_secapi.h:36:1:
+	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT  = 0     // _mingw_secapi.h:37:1:
+	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0     // _mingw_secapi.h:38:1:
+	X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP             = 0     // corecrt.h:501:1:
+	X_DLL                                           = 0     // _mingw.h:326:1:
+	X_ERRCODE_DEFINED                               = 0     // corecrt.h:117:1:
+	X_FILE_OFFSET_BITS                              = 64    // <builtin>:25:1:
+	X_ILP32                                         = 1     // <predefined>:211:1:
+	X_INC_CORECRT                                   = 0     // corecrt.h:8:1:
+	X_INC_CRTDEFS                                   = 0     // crtdefs.h:8:1:
+	X_INC_CRTDEFS_MACRO                             = 0     // _mingw_mac.h:8:1:
+	X_INC_ERRNO                                     = 0     // errno.h:7:1:
+	X_INC_MINGW_SECAPI                              = 0     // _mingw_secapi.h:8:1:
+	X_INC_VADEFS                                    = 0     // vadefs.h:7:1:
+	X_INC__MINGW_H                                  = 0     // _mingw.h:8:1:
+	X_INT128_DEFINED                                = 0     // _mingw.h:237:1:
+	X_INTEGRAL_MAX_BITS                             = 64    // <predefined>:320:1:
+	X_INTPTR_T_DEFINED                              = 0     // corecrt.h:62:1:
+	X_MT                                            = 0     // _mingw.h:330:1:
+	X_M_IX86                                        = 600   // _mingw_mac.h:54:1:
+	X_PGLOBAL                                       = 0     // _mingw.h:342:1:
+	X_PTRDIFF_T_                                    = 0     // corecrt.h:90:1:
+	X_PTRDIFF_T_DEFINED                             = 0     // corecrt.h:88:1:
+	X_RSIZE_T_DEFINED                               = 0     // corecrt.h:58:1:
+	X_SECURECRT_ERRCODE_VALUES_DEFINED              = 0     // errno.h:63:1:
+	X_SECURECRT_FILL_BUFFER_PATTERN                 = 0xFD  // _mingw.h:349:1:
+	X_SIZE_T_DEFINED                                = 0     // corecrt.h:37:1:
+	X_SSIZE_T_DEFINED                               = 0     // corecrt.h:47:1:
+	X_TAGLC_ID_DEFINED                              = 0     // corecrt.h:447:1:
+	X_THREADLOCALEINFO                              = 0     // corecrt.h:456:1:
+	X_TIME32_T_DEFINED                              = 0     // corecrt.h:122:1:
+	X_TIME64_T_DEFINED                              = 0     // corecrt.h:127:1:
+	X_TIME_T_DEFINED                                = 0     // corecrt.h:139:1:
+	X_UINTPTR_T_DEFINED                             = 0     // corecrt.h:75:1:
+	X_USE_32BIT_TIME_T                              = 0     // _mingw.h:372:1:
+	X_VA_LIST_DEFINED                               = 0     // <builtin>:55:1:
+	X_W64                                           = 0     // _mingw.h:296:1:
+	X_WCHAR_T_DEFINED                               = 0     // corecrt.h:101:1:
+	X_WCTYPE_T_DEFINED                              = 0     // corecrt.h:108:1:
+	X_WIN32                                         = 1     // <predefined>:164:1:
+	X_WIN32_WINNT                                   = 0x502 // _mingw.h:233:1:
+	X_WINT_T                                        = 0     // corecrt.h:110:1:
+	X_X86_                                          = 1     // <predefined>:169:1:
+	I386                                            = 1     // <predefined>:171: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 */
+
+// Posix thread extensions.
+
+// Extension defined as by report VC 10+ defines error-numbers.
+
+// Defined as WSAETIMEDOUT.
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_windows_amd64.go b/vendor/modernc.org/libc/errno/errno_windows_amd64.go
new file mode 100644
index 0000000..5ba0ea5
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_windows_amd64.go
@@ -0,0 +1,360 @@
+// 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
+
+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
+	E2BIG                                           = 7
+	EACCES                                          = 13
+	EADDRINUSE                                      = 100
+	EADDRNOTAVAIL                                   = 101
+	EAFNOSUPPORT                                    = 102
+	EAGAIN                                          = 11
+	EALREADY                                        = 103
+	EBADF                                           = 9
+	EBADMSG                                         = 104
+	EBUSY                                           = 16
+	ECANCELED                                       = 105
+	ECHILD                                          = 10
+	ECONNABORTED                                    = 106
+	ECONNREFUSED                                    = 107
+	ECONNRESET                                      = 108
+	EDEADLK                                         = 36
+	EDEADLOCK                                       = 36
+	EDESTADDRREQ                                    = 109
+	EDOM                                            = 33
+	EEXIST                                          = 17
+	EFAULT                                          = 14
+	EFBIG                                           = 27
+	EHOSTUNREACH                                    = 110
+	EIDRM                                           = 111
+	EILSEQ                                          = 42
+	EINPROGRESS                                     = 112
+	EINTR                                           = 4
+	EINVAL                                          = 22
+	EIO                                             = 5
+	EISCONN                                         = 113
+	EISDIR                                          = 21
+	ELOOP                                           = 114
+	EMFILE                                          = 24
+	EMLINK                                          = 31
+	EMSGSIZE                                        = 115
+	ENAMETOOLONG                                    = 38
+	ENETDOWN                                        = 116
+	ENETRESET                                       = 117
+	ENETUNREACH                                     = 118
+	ENFILE                                          = 23
+	ENOBUFS                                         = 119
+	ENODATA                                         = 120
+	ENODEV                                          = 19
+	ENOENT                                          = 2
+	ENOEXEC                                         = 8
+	ENOFILE                                         = 2
+	ENOLCK                                          = 39
+	ENOLINK                                         = 121
+	ENOMEM                                          = 12
+	ENOMSG                                          = 122
+	ENOPROTOOPT                                     = 123
+	ENOSPC                                          = 28
+	ENOSR                                           = 124
+	ENOSTR                                          = 125
+	ENOSYS                                          = 40
+	ENOTCONN                                        = 126
+	ENOTDIR                                         = 20
+	ENOTEMPTY                                       = 41
+	ENOTRECOVERABLE                                 = 127
+	ENOTSOCK                                        = 128
+	ENOTSUP                                         = 129
+	ENOTTY                                          = 25
+	ENXIO                                           = 6
+	EOPNOTSUPP                                      = 130
+	EOVERFLOW                                       = 132
+	EOWNERDEAD                                      = 133
+	EPERM                                           = 1
+	EPIPE                                           = 32
+	EPROTO                                          = 134
+	EPROTONOSUPPORT                                 = 135
+	EPROTOTYPE                                      = 136
+	ERANGE                                          = 34
+	EROFS                                           = 30
+	ESPIPE                                          = 29
+	ESRCH                                           = 3
+	ETIME                                           = 137
+	ETIMEDOUT                                       = 138
+	ETXTBSY                                         = 139
+	EWOULDBLOCK                                     = 140
+	EXDEV                                           = 18
+	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
+	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_ERRNO_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_DLL                                           = 0
+	X_ERRCODE_DEFINED                               = 0
+	X_FILE_OFFSET_BITS                              = 64
+	X_INC_CRTDEFS                                   = 0
+	X_INC_CRTDEFS_MACRO                             = 0
+	X_INC_ERRNO                                     = 0
+	X_INC_MINGW_SECAPI                              = 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_MT                                            = 0
+	X_M_AMD64                                       = 100
+	X_M_X64                                         = 100
+	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
+	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_UINTPTR_T_DEFINED                             = 0
+	X_VA_LIST_DEFINED                               = 0
+	X_W64                                           = 0
+	X_WCHAR_T_DEFINED                               = 0
+	X_WCTYPE_T_DEFINED                              = 0
+	X_WIN32                                         = 1
+	X_WIN32_WINNT                                   = 0x502
+	X_WIN64                                         = 1
+	X_WINT_T                                        = 0
+)
+
+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 */
+
+// Posix thread extensions.
+
+// Extension defined as by report VC 10+ defines error-numbers.
+
+// Defined as WSAETIMEDOUT.
+
+var _ int8 /* gen.c:2:13: */
diff --git a/vendor/modernc.org/libc/errno/errno_windows_arm64.go b/vendor/modernc.org/libc/errno/errno_windows_arm64.go
new file mode 100644
index 0000000..a3e0c40
--- /dev/null
+++ b/vendor/modernc.org/libc/errno/errno_windows_arm64.go
@@ -0,0 +1,363 @@
+// 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_arm64.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 (
+	DUMMYSTRUCTNAME                                 = 0
+	DUMMYSTRUCTNAME1                                = 0
+	DUMMYSTRUCTNAME2                                = 0
+	DUMMYSTRUCTNAME3                                = 0
+	DUMMYSTRUCTNAME4                                = 0
+	DUMMYSTRUCTNAME5                                = 0
+	DUMMYUNIONNAME                                  = 0
+	DUMMYUNIONNAME1                                 = 0
+	DUMMYUNIONNAME2                                 = 0
+	DUMMYUNIONNAME3                                 = 0
+	DUMMYUNIONNAME4                                 = 0
+	DUMMYUNIONNAME5                                 = 0
+	DUMMYUNIONNAME6                                 = 0
+	DUMMYUNIONNAME7                                 = 0
+	DUMMYUNIONNAME8                                 = 0
+	DUMMYUNIONNAME9                                 = 0
+	E2BIG                                           = 7
+	EACCES                                          = 13
+	EADDRINUSE                                      = 100
+	EADDRNOTAVAIL                                   = 101
+	EAFNOSUPPORT                                    = 102
+	EAGAIN                                          = 11
+	EALREADY                                        = 103
+	EBADF                                           = 9
+	EBADMSG                                         = 104
+	EBUSY                                           = 16
+	ECANCELED                                       = 105
+	ECHILD                                          = 10
+	ECONNABORTED                                    = 106
+	ECONNREFUSED                                    = 107
+	ECONNRESET                                      = 108
+	EDEADLK                                         = 36
+	EDEADLOCK                                       = 36
+	EDESTADDRREQ                                    = 109
+	EDOM                                            = 33
+	EEXIST                                          = 17
+	EFAULT                                          = 14
+	EFBIG                                           = 27
+	EHOSTUNREACH                                    = 110
+	EIDRM                                           = 111
+	EILSEQ                                          = 42
+	EINPROGRESS                                     = 112
+	EINTR                                           = 4
+	EINVAL                                          = 22
+	EIO                                             = 5
+	EISCONN                                         = 113
+	EISDIR                                          = 21
+	ELOOP                                           = 114
+	EMFILE                                          = 24
+	EMLINK                                          = 31
+	EMSGSIZE                                        = 115
+	ENAMETOOLONG                                    = 38
+	ENETDOWN                                        = 116
+	ENETRESET                                       = 117
+	ENETUNREACH                                     = 118
+	ENFILE                                          = 23
+	ENOBUFS                                         = 119
+	ENODATA                                         = 120
+	ENODEV                                          = 19
+	ENOENT                                          = 2
+	ENOEXEC                                         = 8
+	ENOFILE                                         = 2
+	ENOLCK                                          = 39
+	ENOLINK                                         = 121
+	ENOMEM                                          = 12
+	ENOMSG                                          = 122
+	ENOPROTOOPT                                     = 123
+	ENOSPC                                          = 28
+	ENOSR                                           = 124
+	ENOSTR                                          = 125
+	ENOSYS                                          = 40
+	ENOTCONN                                        = 126
+	ENOTDIR                                         = 20
+	ENOTEMPTY                                       = 41
+	ENOTRECOVERABLE                                 = 127
+	ENOTSOCK                                        = 128
+	ENOTSUP                                         = 129
+	ENOTTY                                          = 25
+	ENXIO                                           = 6
+	EOPNOTSUPP                                      = 130
+	EOVERFLOW                                       = 132
+	EOWNERDEAD                                      = 133
+	EPERM                                           = 1
+	EPIPE                                           = 32
+	EPROTO                                          = 134
+	EPROTONOSUPPORT                                 = 135
+	EPROTOTYPE                                      = 136
+	ERANGE                                          = 34
+	EROFS                                           = 30
+	ESPIPE                                          = 29
+	ESRCH                                           = 3
+	ETIME                                           = 137
+	ETIMEDOUT                                       = 138
+	ETXTBSY                                         = 139
+	EWOULDBLOCK                                     = 140
+	EXDEV                                           = 18
+	MINGW_DDK_H                                     = 0
+	MINGW_HAS_DDK_H                                 = 1
+	MINGW_HAS_SECURE_API                            = 1
+	MINGW_SDK_INIT                                  = 0
+	STRUNCATE                                       = 80
+	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_ARM64_                                        = 1
+	X_CONST_RETURN                                  = 0
+	X_CRTNOALIAS                                    = 0
+	X_CRTRESTRICT                                   = 0
+	X_CRT_ALTERNATIVE_IMPORTED                      = 0
+	X_CRT_ERRNO_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_DLL                                           = 0
+	X_ERRCODE_DEFINED                               = 0
+	X_FILE_OFFSET_BITS                              = 64
+	X_INC_CORECRT                                   = 0
+	X_INC_CRTDEFS                                   = 0
+	X_INC_CRTDEFS_MACRO                             = 0
+	X_INC_ERRNO                                     = 0
+	X_INC_MINGW_SECAPI                              = 0
+	X_INC_VADEFS                                    = 0
+	X_INC__MINGW_H                                  = 0
+	X_INT128_DEFINED                                = 0
+	X_INTPTR_T_DEFINED                              = 0
+	X_MT                                            = 0
+	X_M_ARM64                                       = 1
+	X_PGLOBAL                                       = 0
+	X_PTRDIFF_T_                                    = 0
+	X_PTRDIFF_T_DEFINED                             = 0
+	X_RSIZE_T_DEFINED                               = 0
+	X_SECURECRT_ERRCODE_VALUES_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_UCRT                                          = 0
+	X_UINTPTR_T_DEFINED                             = 0
+	X_VA_LIST_DEFINED                               = 0
+	X_W64                                           = 0
+	X_WCHAR_T_DEFINED                               = 0
+	X_WCTYPE_T_DEFINED                              = 0
+	X_WIN32                                         = 1
+	X_WIN32_WINNT                                   = 0x601
+	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 file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// This macro holds an monotonic increasing value, which indicates
+//    a specific fix/patch is present on trunk.  This value isn't related to
+//    minor/major version-macros.  It is increased on demand, if a big
+//    fix was applied to trunk.  This macro gets just increased on trunk.  For
+//    other branches its value won't be modified.
+
+// mingw.org's version macros: these make gcc to define
+//    MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
+//    and the __mingwthr_key_dtor() function from the MinGW
+//    CRT in its private gthr-win32.h header.
+
+// Set VC specific compiler target macros.
+
+// MS does not prefix symbols by underscores for 64-bit.
+// As we have to support older gcc version, which are using underscores
+//       as symbol prefix for x64, we have to check here for the user label
+//       prefix defined by gcc.
+
+// Special case nameless struct/union.
+
+// MinGW-w64 has some additional C99 printf/scanf feature support.
+//    So we add some helper macros to ease recognition of them.
+
+// If _FORTIFY_SOURCE is enabled, some inline functions may use
+//    __builtin_va_arg_pack().  GCC may report an error if the address
+//    of such a function is used.  Set _FORTIFY_VA_ARG=0 in this case.
+
+// Enable workaround for ABI incompatibility on affected platforms
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
+// Templates won't work in C, will break if secure API is not enabled, disabled
+
+// https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
+// fallback on default implementation if we can't know the size of the destination
+
+// Include _cygwin.h if we're building a Cygwin application.
+
+// Target specific macro replacement for type "long".  In the Windows API,
+//    the type long is always 32 bit, even if the target is 64 bit (LLP64).
+//    On 64 bit Cygwin, the type long is 64 bit (LP64).  So, to get the right
+//    sized definitions and declarations, all usage of type long in the Windows
+//    headers have to be replaced by the below defined macro __LONG32.
+
+// C/C++ specific language defines.
+
+// Note the extern. This is needed to work around GCC's
+// limitations in handling dllimport attribute.
+
+// Attribute `nonnull' was valid as of gcc 3.3.  We don't use GCC's
+//    variadiac macro facility, because variadic macros cause syntax
+//    errors with  --traditional-cpp.
+
+//  High byte is the major version, low byte is the minor.
+
+// Allow both 0x1400 and 0xE00 to identify UCRT
+
+// ===-------- vadefs.h ---------------------------------------------------===
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===-----------------------------------------------------------------------===
+
+// Only include this if we are aiming for MSVC compatibility.
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// *
+// This file has no copyright assigned and is placed in the Public Domain.
+// This file is part of the mingw-w64 runtime package.
+// No warranty is given; refer to the file DISCLAIMER.PD within this package.
+
+// for backward compatibility
+
+type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
+
+type Ssize_t = int64 /* corecrt.h:45:35 */
+
+type Rsize_t = Size_t /* corecrt.h:52:16 */
+
+type Intptr_t = int64 /* corecrt.h:62:35 */
+
+type Uintptr_t = uint64 /* corecrt.h:75:44 */
+
+type Wint_t = uint16   /* corecrt.h:106:24 */
+type Wctype_t = uint16 /* corecrt.h:107:24 */
+
+type Errno_t = int32 /* corecrt.h:113:13 */
+
+type X__time32_t = int32 /* corecrt.h:118:14 */
+
+type X__time64_t = int64 /* corecrt.h:123:35 */
+
+type Time_t = X__time64_t /* corecrt.h:138:20 */
+
+type Threadlocaleinfostruct = struct {
+	F_locale_pctype      uintptr
+	F_locale_mb_cur_max  int32
+	F_locale_lc_codepage uint32
+} /* corecrt.h:430:1 */
+
+type Pthreadlocinfo = uintptr /* corecrt.h:432:39 */
+type Pthreadmbcinfo = uintptr /* corecrt.h:433:36 */
+
+type Localeinfo_struct = struct {
+	Flocinfo Pthreadlocinfo
+	Fmbcinfo Pthreadmbcinfo
+} /* corecrt.h:436:9 */
+
+type X_locale_tstruct = Localeinfo_struct /* corecrt.h:439:3 */
+type X_locale_t = uintptr                 /* corecrt.h:439:19 */
+
+type TagLC_ID = struct {
+	FwLanguage uint16
+	FwCountry  uint16
+	FwCodePage uint16
+} /* corecrt.h:443:9 */
+
+type LC_ID = TagLC_ID  /* corecrt.h:447:3 */
+type LPLC_ID = uintptr /* corecrt.h:447:9 */
+
+type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:482:3 */
+
+// Posix thread extensions.
+
+// Extension defined as by report VC 10+ defines error-numbers.
+
+// Defined as WSAETIMEDOUT.
+
+var _ int8 /* gen.c:2:13: */