From 5fee2ff80213aa6ee726aa59106740c655296cae Mon Sep 17 00:00:00 2001 From: zhongjiawei Date: Tue, 10 Jan 2023 15:18:05 +0800 Subject: [PATCH 1/2] runc: upgrade runc verison to 1.1.3 (cherry picked from commit 43a94523cb5d1db7aa39fd12d8c240861502ff92) --- apply-patch | 8 +- git-commit | 2 +- ....travis.yml-Don-t-require-FETCH_HEAD.patch | 40 - ...h => 0001-runc-Add-spec-for-euleros.patch} | 21 +- ...ry-to-read-freezer.state-from-the-cu.patch | 43 - ...t-and-integration-test-error-caused.patch} | 61 +- ...3-Use-opencontainers-selinux-package.patch | 2424 - ...-runc-add-timeout-for-syscall.Openat.patch | 60 + ...unprivileged-operations-and-dumpable.patch | 272 - ...-eariler-to-avoid-cgroup-leak-when-.patch} | 26 +- ...-add-support-for-rootless-containers.patch | 1490 - ...group-info-if-cpuset-missing-occurs.patch} | 36 +- ...rootless-add-rootless-cgroup-manager.patch | 421 - ...runc-add-more-specific-log-for-hooks.patch | 28 + ...ainer-configs-add-proper-HostUID-and.patch | 256 - ...-reduce-max-number-of-retries-to-10.patch} | 20 +- ...ainer-init-fix-unmapped-console-fcho.patch | 64 - ...message-during-start-into-container.patch} | 30 +- ...s-add-autogenerated-rootless-config-.patch | 203 - ...e-exec.fifo-removing-not-exist-error.patch | 28 + ...0010-integration-added-root-requires.patch | 143 - ...tch => 0010-runc-Add-file-fds-limit.patch} | 209 +- ...0011-runc-logs-forwarding-to-syslog.patch} | 409 +- ...tests-add-rootless-integration-tests.patch | 449 - ...spaced-kernel-params-can-be-changed.patch} | 61 +- ...add-golang.org-x-sys-unix-9a7256cb28.patch | 123561 --------------- ...ntainer-rewrite-cmsg-to-use-sys-unix.patch | 327 - patch/0013-runc-modify-minHookTimeOut.patch | 25 + ...ntainer-state-only-once-during-start.patch | 39 - ...log-more-userful-and-fix-syslog-hook.patch | 102 + ...int-check-if-system-supports-pre-dum.patch | 161 - ...0015-runc-fix-runc-log-decode-failed.patch | 62 + patch/0016-Fix-console-syscalls.patch | 129 - ...p-sysctl-in-runc-when-userns-enable.patch} | 25 +- .../0017-restore-apply-resource-limits.patch | 34 - ...7-runc-support-set-seccomp-priority.patch} | 78 +- .../0018-could-load-a-stopped-container.patch | 35 - ...-container-if-poststart-hooks-execut.patch | 28 + patch/0019-Revert-back-to-using-sbin.patch | 32 - ...memory-info-when-syscall.Exec-failed.patch | 76 + ...dd-testcase-in-generic_error_test.go.patch | 57 - ...-sysctl-kernel.pid_max-to-whitelist.patch} | 20 +- ...spelling-of-properties-in-various-pl.patch | 53 - ...1-runc-disable-core-dump-during-exec.patch | 25 + ...ootless-containers-section-on-README.patch | 63 - ...oblem-caused-by-libseccomp-updating.patch} | 31 +- ...dd-log-message-for-cgroup-file-check.patch | 87 + ...vendor-clean-up-to-be-better-written.patch | 69 - ...4-Optimizing-looping-over-namespaces.patch | 58 - patch/0024-runc-unified-use-of-logpipe.patch | 125 + ...ootless-section-to-spec-man-page-and.patch | 54 - ...cpuset.prefer_cpus-using-cpuset-cpu.patch} | 62 +- ...-Allow-updating-container-pids-limit.patch | 150 - ...T-for-cpuset.preferred_cpus-setting.patch} | 61 +- ...redundant-declaraion-of-namespace-sl.patch | 59 - patch/0027-runc-modify-runc-Makefile.patch | 79 + patch/0028-Revert-saneTerminal.patch | 31 - ...0028-runc-cgroup-apply-method-modify.patch | 267 + ...0029-runc-runc-log-forward-to-syslog.patch | 88 + ...runtime-spec-fork-docker-runtime-spe.patch | 59 - ...memory-specs-to-use-int64-not-uint64.patch | 198 - ... => 0030-runc-support-specify-umask.patch} | 48 +- ...c-17-Always-save-own-namespace-paths.patch | 84 - ...unc-change-runc-default-umask-to-027.patch | 52 - ...dd-some-compatibility-code-to-surpor.patch | 50 - ...dd-root-to-HookState-for-compatibili.patch | 141 - ...-add-compatibility-for-docker-1.11.2.patch | 208 - ...Don-t-enalbe-kmem-accounting-by-defa.patch | 61 - .../0041-Add-timeout-for-syscall.Openat.patch | 68 - ...e-rslave-instead-of-rprivate-in-chro.patch | 43 - ...-default-mount-propagation-correctly.patch | 43 - ...hook-specific-info-when-error-occurr.patch | 128 - ...runc-add-more-specific-log-for-hooks.patch | 104 - .../0048-runc-Only-configure-networking.patch | 40 - ...-fs-fix-NPE-on-Destroy-than-no-cgrou.patch | 37 - ...nc-Avoid-race-when-opening-exec-fifo.patch | 214 - ...turn-from-goroutine-when-it-should-t.patch | 33 - ...re-exec.fifo-removing-not-exist-erro.patch | 31 - ...fy-max-files.limit-to-max-because-of.patch | 61 - ...ge-read-value-of-cgroup-files.limit-.patch | 55 - ...058-runc-fix-panic-when-Linux-is-nil.patch | 194 - ...ix-setup-cgroup-before-prestart-hook.patch | 59 - ...hange-golang-build-version-to-make-o.patch | 39 - ...ck-the-hook-timeout-in-case-overflow.patch | 47 - ...ose-openchan-immediately-to-avoid-er.patch | 58 - ...-to-v1.0.0.rc3.4-after-normalization.patch | 30 - patch/0066-runc-bump-to-v1.0.0.rc3.6.patch | 29 - ...7-runc-make-the-runc-log-more-useful.patch | 137 - ...ced-the-same-log-when-the-hook-exect.patch | 52 - ...ge-Files-to-LinuxFiles-for-file-limi.patch | 92 - ...-not-print-no-such-file-when-cli-err.patch | 48 - ...rt-Change-Files-to-LinuxFiles-for-fi.patch | 88 - ...nc-not-print-no-such-file-when-cli-e.patch | 32 - ...state.json-no-such-file-or-directory.patch | 80 - ...ix-check-sysctl-in-host-network-mode.patch | 78 - ...-systemd-journald-service-dependency.patch | 62 - patch/0076-runc-Fix-syslog-hook-bug.patch | 60 - ...-libseccomp-static-lib-for-upgrade-f.patch | 38 - patch/0078-runc-Fix-race-in-runc-exec.patch | 499 - ...79-runc-modify-spec-file-for-upgrade.patch | 29 - patch/0080-runc-support-specify-umask.patch | 73 - ...x-oom-killer-disable-unhandled-due-t.patch | 151 - ...ke-runc-spec-and-docker-18.9-compati.patch | 118 - .../0083-log-fix-runc-log-decode-failed.patch | 74 - ...fix-runc-panic-and-support-oom-score.patch | 108 - ...87-runc-fix-spec-LinuxSyscall-struct.patch | 48 - ...-clone-proc-self-exe-to-avoid-exposi.patch | 306 - ...nsenter-clone-proc-self-exe-to-avoid.patch | 294 - ...-clone-proc-self-exe-to-avoid-exposi.patch | 357 - ...2019-5736-workaround-if-memfd_create.patch | 207 - ...runc-cve-2019-5736-fix-build-failure.patch | 47 - ...ix-error-when-check-the-init-process.patch | 46 - ...mp-is-mounted-by-option-noexec-docke.patch | 30 - ...-warning-when-poststart-and-poststop.patch | 50 - ...ot-kill-container-if-poststart-hooks.patch | 31 - ...mountpoint-leak-and-pivot_root-error.patch | 120 - ...x-read-only-containers-under-userns-.patch | 40 - patch/0099-runc-enable-bep-ldflags.patch | 49 - patch/0100-runc-set-makefile-buildid.patch | 44 - ...t-memory-info-when-syscall.Exec-fail.patch | 63 - ...try-adding-pids-to-cgroups-when-EINV.patch | 79 - ...unc-disable-core-dump-during-pipe-io.patch | 35 - ...ot-override-devices.allow-file-when-.patch | 92 - ...t-files-limit-and-usage-when-exec-fa.patch | 55 - patch/0109-runc-add-copyright.patch | 31 - patch/0110-runc-add-lisence.patch | 28 - ...dd-log-message-for-cgroup-file-check.patch | 67 - ...xes-1585-config.Namespaces-is-empty-.patch | 50 - ...dd-log-message-for-cgroup-file-check.patch | 45 - ...ite-freezer-state-after-every-state-.patch | 46 - ...odify-files-cgroup-info-reading-path.patch | 79 - ...y-kill-other-process-when-container-.patch | 43 - ...ix-cgroup-hugetlb-size-prefix-for-kB.patch | 54 - ...check-nil-pointers-in-cgroup-manager.patch | 46 - ...ss-back-the-pid-of-runc-1-CHILD-so-w.patch | 143 - ...all-devices-when-update-cgroup-resou.patch | 180 - ...otfs-do-not-permit-proc-mounts-to-no.patch | 49 - ...nc-use-git-commit-to-store-commit-ID.patch | 28 - patch/0120-runc-fix-permission-denied.patch | 45 - ...d-memory-info-when-print-cgroup-info.patch | 70 - ...runc-add-sys-symbol-to-support-riscv.patch | 7988 - ...122-runc-add-riscv-on-existing-files.patch | 36 - patch/0124-runc-fix-freezing-race.patch | 69 - .../0125-runc-compile-option-compliance.patch | 38 - patch/0126-runc-add-check-in-spec.patch | 27 - ...-destination-validation-fix-CVE-2021.patch | 1344 - patch/0128-runc-fix-CVE-2022-29162.patch | 45 - patch/0128-runc-optimize-nsexec-logging.patch | 280 - .../0129-runc-improve-log-for-debugging.patch | 297 - ...130-runc-fix-cgroup-info-print-error.patch | 40 - patch/0131-runc-change-Umask-to-0022.patch | 57 - ...emd-cgroup-after-memory-type-changed.patch | 30 - ...-runc-add-CGO-sercuity-build-options.patch | 27 - ...-runc-add-errnoRet-in-Syscall-struct.patch | 182 - ...et-cpuset-cpus-and-cpuset-mems-at-th.patch | 28 - ...138-runc-write-state.json-atomically.patch | 57 - ...ignalAllProcesses-is-invoked-in-the-.patch | 27 - runc.spec | 85 +- series.conf | 172 +- test_unit.sh | 21 + unit_test_list | 12 + v1.0.0-rc3.zip | Bin 658025 -> 0 bytes 162 files changed, 1687 insertions(+), 149162 deletions(-) delete mode 100644 patch/0001-.travis.yml-Don-t-require-FETCH_HEAD.patch rename patch/{0031-Add-spec-for-euleros.patch => 0001-runc-Add-spec-for-euleros.patch} (73%) delete mode 100644 patch/0002-Don-t-try-to-read-freezer.state-from-the-cu.patch rename patch/{0039-Fix-unittest-and-integration-test-error-cause.patch => 0002-runc-fix-unittest-and-integration-test-error-caused.patch} (38%) delete mode 100644 patch/0003-Use-opencontainers-selinux-package.patch create mode 100644 patch/0003-runc-add-timeout-for-syscall.Openat.patch delete mode 100644 patch/0004-handle-unprivileged-operations-and-dumpable.patch rename patch/{0042-update-state-earlier-to-avoid-cgroup-leak-whe.patch => 0004-runc-update-state-eariler-to-avoid-cgroup-leak-when-.patch} (64%) delete mode 100644 patch/0005-runc-add-support-for-rootless-containers.patch rename patch/{0046-runc-print-cgroup-info-if-cpuset-missing-occu.patch => 0005-runc-print-cgroup-info-if-cpuset-missing-occurs.patch} (43%) delete mode 100644 patch/0006-rootless-add-rootless-cgroup-manager.patch create mode 100644 patch/0006-runc-add-more-specific-log-for-hooks.patch delete mode 100644 patch/0007-libcontainer-configs-add-proper-HostUID-and.patch rename patch/{0052-runc-reduce-max-number-of-retries-to-10.patch => 0007-runc-reduce-max-number-of-retries-to-10.patch} (52%) delete mode 100644 patch/0008-libcontainer-init-fix-unmapped-console-fcho.patch rename patch/{0053-runc-print-error-message-during-start-into-co.patch => 0008-runc-print-error-message-during-start-into-container.patch} (40%) delete mode 100644 patch/0009-rootless-add-autogenerated-rootless-config-.patch create mode 100644 patch/0009-runc-ignore-exec.fifo-removing-not-exist-error.patch delete mode 100644 patch/0010-integration-added-root-requires.patch rename patch/{0055-Add-file-fds-limit.patch => 0010-runc-Add-file-fds-limit.patch} (54%) rename patch/{0060-runc-runc-logs-forwarding-to-syslog.patch => 0011-runc-logs-forwarding-to-syslog.patch} (57%) delete mode 100644 patch/0011-tests-add-rootless-integration-tests.patch rename patch/{0065-runc-support-namespaced-kernel-params-can-be-.patch => 0012-runc-support-namespaced-kernel-params-can-be-changed.patch} (56%) delete mode 100644 patch/0012-vendor-add-golang.org-x-sys-unix-9a7256cb28.patch delete mode 100644 patch/0013-libcontainer-rewrite-cmsg-to-use-sys-unix.patch create mode 100644 patch/0013-runc-modify-minHookTimeOut.patch delete mode 100644 patch/0014-Set-container-state-only-once-during-start.patch create mode 100644 patch/0014-runc-make-hooks-log-more-userful-and-fix-syslog-hook.patch delete mode 100644 patch/0015-checkpoint-check-if-system-supports-pre-dum.patch create mode 100644 patch/0015-runc-fix-runc-log-decode-failed.patch delete mode 100644 patch/0016-Fix-console-syscalls.patch rename patch/{0085-runc-do-not-setup-sysctl-in-runc-when-userns-.patch => 0016-runc-do-not-setup-sysctl-in-runc-when-userns-enable.patch} (52%) delete mode 100644 patch/0017-restore-apply-resource-limits.patch rename patch/{0086-runc-support-set-seccomp-priority.patch => 0017-runc-support-set-seccomp-priority.patch} (30%) delete mode 100644 patch/0018-could-load-a-stopped-container.patch create mode 100644 patch/0018-runc-do-not-kill-container-if-poststart-hooks-execut.patch delete mode 100644 patch/0019-Revert-back-to-using-sbin.patch create mode 100644 patch/0019-runc-print-memory-info-when-syscall.Exec-failed.patch delete mode 100644 patch/0020-add-testcase-in-generic_error_test.go.patch rename patch/{0102-runc-add-sysctl-kernel.pid_max-to-whitelist.patch => 0020-runc-add-sysctl-kernel.pid_max-to-whitelist.patch} (51%) delete mode 100644 patch/0021-Fix-misspelling-of-properties-in-various-pl.patch create mode 100644 patch/0021-runc-disable-core-dump-during-exec.patch delete mode 100644 patch/0022-Add-a-rootless-containers-section-on-README.patch rename patch/{0107-runc-fix-exec-problem-caused-by-libseccomp-up.patch => 0022-runc-fix-exec-problem-caused-by-libseccomp-updating.patch} (58%) create mode 100644 patch/0023-runc-add-log-message-for-cgroup-file-check.patch delete mode 100644 patch/0023-vendor-clean-up-to-be-better-written.patch delete mode 100644 patch/0024-Optimizing-looping-over-namespaces.patch create mode 100644 patch/0024-runc-unified-use-of-logpipe.patch delete mode 100644 patch/0025-Add-a-rootless-section-to-spec-man-page-and.patch rename patch/{0135-runc-support-set-cpuset.prefer_cpus-using-cpuset-cpu.patch => 0025-runc-support-set-cpuset.prefer_cpus-using-cpuset-cpu.patch} (70%) delete mode 100644 patch/0026-Allow-updating-container-pids-limit.patch rename patch/{0136-runc-add-DT-for-cpuset.preferred_cpus-setting.patch => 0026-runc-add-DT-for-cpuset.preferred_cpus-setting.patch} (79%) delete mode 100644 patch/0027-Remove-redundant-declaraion-of-namespace-sl.patch create mode 100644 patch/0027-runc-modify-runc-Makefile.patch delete mode 100644 patch/0028-Revert-saneTerminal.patch create mode 100644 patch/0028-runc-cgroup-apply-method-modify.patch create mode 100644 patch/0029-runc-runc-log-forward-to-syslog.patch delete mode 100644 patch/0029-vendor-runtime-spec-fork-docker-runtime-spe.patch delete mode 100644 patch/0030-Update-memory-specs-to-use-int64-not-uint64.patch rename patch/{0140-runc-support-specify-umask.patch => 0030-runc-support-specify-umask.patch} (44%) delete mode 100644 patch/0032-runc-17-Always-save-own-namespace-paths.patch delete mode 100644 patch/0033-runc-change-runc-default-umask-to-027.patch delete mode 100644 patch/0034-runc-17-Add-some-compatibility-code-to-surpor.patch delete mode 100644 patch/0035-runc-17-Add-root-to-HookState-for-compatibili.patch delete mode 100644 patch/0036-runc-17-add-compatibility-for-docker-1.11.2.patch delete mode 100644 patch/0037-docker-Don-t-enalbe-kmem-accounting-by-defa.patch delete mode 100644 patch/0041-Add-timeout-for-syscall.Openat.patch delete mode 100644 patch/0043-runc-Use-rslave-instead-of-rprivate-in-chro.patch delete mode 100644 patch/0044-runc-default-mount-propagation-correctly.patch delete mode 100644 patch/0045-runc-add-hook-specific-info-when-error-occurr.patch delete mode 100644 patch/0047-runc-add-more-specific-log-for-hooks.patch delete mode 100644 patch/0048-runc-Only-configure-networking.patch delete mode 100644 patch/0049-cgroups-fs-fix-NPE-on-Destroy-than-no-cgrou.patch delete mode 100644 patch/0050-runc-Avoid-race-when-opening-exec-fifo.patch delete mode 100644 patch/0051-runc-Return-from-goroutine-when-it-should-t.patch delete mode 100644 patch/0054-runc-ignore-exec.fifo-removing-not-exist-erro.patch delete mode 100644 patch/0056-runc-Modify-max-files.limit-to-max-because-of.patch delete mode 100644 patch/0057-runc-change-read-value-of-cgroup-files.limit-.patch delete mode 100644 patch/0058-runc-fix-panic-when-Linux-is-nil.patch delete mode 100644 patch/0059-Fix-setup-cgroup-before-prestart-hook.patch delete mode 100644 patch/0061-runc-17-change-golang-build-version-to-make-o.patch delete mode 100644 patch/0062-runc-Check-the-hook-timeout-in-case-overflow.patch delete mode 100644 patch/0063-docker-close-openchan-immediately-to-avoid-er.patch delete mode 100644 patch/0064-runc-bump-to-v1.0.0.rc3.4-after-normalization.patch delete mode 100644 patch/0066-runc-bump-to-v1.0.0.rc3.6.patch delete mode 100644 patch/0067-runc-make-the-runc-log-more-useful.patch delete mode 100644 patch/0068-runc-reduced-the-same-log-when-the-hook-exect.patch delete mode 100644 patch/0069-runc-Change-Files-to-LinuxFiles-for-file-limi.patch delete mode 100644 patch/0070-runc-not-print-no-such-file-when-cli-err.patch delete mode 100644 patch/0071-runc-revert-Change-Files-to-LinuxFiles-for-fi.patch delete mode 100644 patch/0072-Revert-runc-not-print-no-such-file-when-cli-e.patch delete mode 100644 patch/0073-runc-fix-state.json-no-such-file-or-directory.patch delete mode 100644 patch/0074-runc-fix-check-sysctl-in-host-network-mode.patch delete mode 100644 patch/0075-runc-Fix-systemd-journald-service-dependency.patch delete mode 100644 patch/0076-runc-Fix-syslog-hook-bug.patch delete mode 100644 patch/0077-runc-Require-libseccomp-static-lib-for-upgrade-f.patch delete mode 100644 patch/0078-runc-Fix-race-in-runc-exec.patch delete mode 100644 patch/0079-runc-modify-spec-file-for-upgrade.patch delete mode 100644 patch/0080-runc-support-specify-umask.patch delete mode 100644 patch/0081-runc-fix-oom-killer-disable-unhandled-due-t.patch delete mode 100644 patch/0082-runc-make-runc-spec-and-docker-18.9-compati.patch delete mode 100644 patch/0083-log-fix-runc-log-decode-failed.patch delete mode 100644 patch/0084-oci-fix-runc-panic-and-support-oom-score.patch delete mode 100644 patch/0087-runc-fix-spec-LinuxSyscall-struct.patch delete mode 100644 patch/0088-nsenter-clone-proc-self-exe-to-avoid-exposi.patch delete mode 100644 patch/0089-Revert-nsenter-clone-proc-self-exe-to-avoid.patch delete mode 100644 patch/0090-nsenter-clone-proc-self-exe-to-avoid-exposi.patch delete mode 100644 patch/0091-runc-cve-2019-5736-workaround-if-memfd_create.patch delete mode 100644 patch/0092-runc-cve-2019-5736-fix-build-failure.patch delete mode 100644 patch/0093-runc-fix-error-when-check-the-init-process.patch delete mode 100644 patch/0094-runc-If-tmp-is-mounted-by-option-noexec-docke.patch delete mode 100644 patch/0095-runc-just-warning-when-poststart-and-poststop.patch delete mode 100644 patch/0096-runc-do-not-kill-container-if-poststart-hooks.patch delete mode 100644 patch/0097-runc-Fix-mountpoint-leak-and-pivot_root-error.patch delete mode 100644 patch/0098-runc-fix-read-only-containers-under-userns-.patch delete mode 100644 patch/0099-runc-enable-bep-ldflags.patch delete mode 100644 patch/0100-runc-set-makefile-buildid.patch delete mode 100644 patch/0101-runc-print-memory-info-when-syscall.Exec-fail.patch delete mode 100644 patch/0104-runc-Retry-adding-pids-to-cgroups-when-EINV.patch delete mode 100644 patch/0105-runc-disable-core-dump-during-pipe-io.patch delete mode 100644 patch/0106-runc-do-not-override-devices.allow-file-when-.patch delete mode 100644 patch/0108-runc-print-files-limit-and-usage-when-exec-fa.patch delete mode 100644 patch/0109-runc-add-copyright.patch delete mode 100644 patch/0110-runc-add-lisence.patch delete mode 100644 patch/0111-runc-add-log-message-for-cgroup-file-check.patch delete mode 100644 patch/0112-runc-Fixes-1585-config.Namespaces-is-empty-.patch delete mode 100644 patch/0112-runc-add-log-message-for-cgroup-file-check.patch delete mode 100644 patch/0113-runc-Write-freezer-state-after-every-state-.patch delete mode 100644 patch/0113-runc-modify-files-cgroup-info-reading-path.patch delete mode 100644 patch/0114-runc-may-kill-other-process-when-container-.patch delete mode 100644 patch/0115-runc-Fix-cgroup-hugetlb-size-prefix-for-kB.patch delete mode 100644 patch/0116-runc-check-nil-pointers-in-cgroup-manager.patch delete mode 100644 patch/0117-runc-Pass-back-the-pid-of-runc-1-CHILD-so-w.patch delete mode 100644 patch/0118-runc-don-t-deny-all-devices-when-update-cgroup-resou.patch delete mode 100644 patch/0118-runc-rootfs-do-not-permit-proc-mounts-to-no.patch delete mode 100644 patch/0119-runc-use-git-commit-to-store-commit-ID.patch delete mode 100644 patch/0120-runc-fix-permission-denied.patch delete mode 100644 patch/0121-runc-add-cpu-and-memory-info-when-print-cgroup-info.patch delete mode 100644 patch/0121-runc-add-sys-symbol-to-support-riscv.patch delete mode 100644 patch/0122-runc-add-riscv-on-existing-files.patch delete mode 100644 patch/0124-runc-fix-freezing-race.patch delete mode 100644 patch/0125-runc-compile-option-compliance.patch delete mode 100644 patch/0126-runc-add-check-in-spec.patch delete mode 100644 patch/0127-runc-add-mount-destination-validation-fix-CVE-2021.patch delete mode 100644 patch/0128-runc-fix-CVE-2022-29162.patch delete mode 100644 patch/0128-runc-optimize-nsexec-logging.patch delete mode 100644 patch/0129-runc-improve-log-for-debugging.patch delete mode 100644 patch/0130-runc-fix-cgroup-info-print-error.patch delete mode 100644 patch/0131-runc-change-Umask-to-0022.patch delete mode 100644 patch/0132-runc-fix-systemd-cgroup-after-memory-type-changed.patch delete mode 100644 patch/0133-runc-add-CGO-sercuity-build-options.patch delete mode 100644 patch/0134-runc-add-errnoRet-in-Syscall-struct.patch delete mode 100644 patch/0137-runc-fix-can-t-set-cpuset-cpus-and-cpuset-mems-at-th.patch delete mode 100644 patch/0138-runc-write-state.json-atomically.patch delete mode 100644 patch/0139-runc-Make-sure-signalAllProcesses-is-invoked-in-the-.patch create mode 100755 test_unit.sh create mode 100644 unit_test_list delete mode 100644 v1.0.0-rc3.zip diff --git a/apply-patch b/apply-patch index 47718c8..7ad233d 100755 --- a/apply-patch +++ b/apply-patch @@ -5,11 +5,11 @@ # Author: jingrui@huawei.com # Create: 2019-03-02 -pkg=runc-1.0.0-rc3 +pkg=runc-1.1.3 cwd=$PWD src=$cwd/$pkg -unzip v1.0.0-rc3.zip +tar zxvf v1.1.3.tar.gz if [ ! -d patch ];then tar -xzf patch.tar.gz fi @@ -19,10 +19,10 @@ while IPF= read -r line do if [[ "$line" =~ ^patch* ]]; then echo patch -p1 $cwd/$line - cd $src && patch -p1 < $cwd/$line + cd $src && patch -p1 < $cwd/$line fi done <"$series" cd $cwd cp -rf $src/* . -rm -rf runc-1.0.0-rc3 +rm -rf runc-1.1.3 diff --git a/git-commit b/git-commit index 7992231..36e4edc 100644 --- a/git-commit +++ b/git-commit @@ -1 +1 @@ -1ffb75b05b79fca3919ddfa6cce5e68e143f2b5c +cbf2b5fbcc5fe032a694335f80c651c54a6c27e6 diff --git a/patch/0001-.travis.yml-Don-t-require-FETCH_HEAD.patch b/patch/0001-.travis.yml-Don-t-require-FETCH_HEAD.patch deleted file mode 100644 index b46ea18..0000000 --- a/patch/0001-.travis.yml-Don-t-require-FETCH_HEAD.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 3eb678a633ddf3be06851a1b8c69a98650e9a367 Mon Sep 17 00:00:00 2001 -From: "W. Trevor King" -Date: Tue, 21 Mar 2017 11:48:39 -0700 -Subject: [PATCH 01/94] .travis.yml: Don't require FETCH_HEAD - -Master builds only have a 'git clone ...' [1] so FETCH_HEAD isn't -defined and git-validation crashes [2]. We don't want to be -hard-coding a range here, and should update git-validation to handle -these cases automatically. - -Also echo TRAVIS_* variables during testing to make debugging -git-validation easier. - -[1]: https://travis-ci.org/opencontainers/runc/jobs/213508696#L243 -[2]: https://travis-ci.org/opencontainers/runc/jobs/213508696#L347 - -Change-Id: I325ae392323133b123f0ef7577a4464ae10a54cb -Signed-off-by: W. Trevor King ---- - .travis.yml | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/.travis.yml b/.travis.yml -index 04f71f5..244c643 100644 ---- a/.travis.yml -+++ b/.travis.yml -@@ -23,8 +23,9 @@ before_install: - - go get -u github.com/golang/lint/golint - - go get -u github.com/vbatts/git-validation - - go get -u github.com/mvdan/sh/cmd/shfmt -+ - env | grep TRAVIS_ - - script: -- - git-validation -run DCO,short-subject -v -range ${TRAVIS_BRANCH}..FETCH_HEAD -+ - git-validation -run DCO,short-subject -v - - make BUILDTAGS="${BUILDTAGS}" - - make BUILDTAGS="${BUILDTAGS}" clean validate test --- -2.7.4.3 - diff --git a/patch/0031-Add-spec-for-euleros.patch b/patch/0001-runc-Add-spec-for-euleros.patch similarity index 73% rename from patch/0031-Add-spec-for-euleros.patch rename to patch/0001-runc-Add-spec-for-euleros.patch index cc24a0c..161dc1e 100644 --- a/patch/0031-Add-spec-for-euleros.patch +++ b/patch/0001-runc-Add-spec-for-euleros.patch @@ -1,21 +1,19 @@ -From 3a4b5e8752e2200d0b7967c0cf0fd8ab859b6d1a Mon Sep 17 00:00:00 2001 -From: Lei Jitang -Date: Mon, 17 Jul 2017 02:39:37 -0400 -Subject: [PATCH 31/94] Add spec for euleros +From ee228fa3991d1d0008416df61b4bae645adf8e1a Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:13:12 +0800 +Subject: [PATCH] runc: Add spec for euleros -Change-Id: I74128e7ba4aa7f2a15515ac753664c933432b149 -Signed-off-by: Lei Jitang --- - script/runc-euleros.spec | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 49 insertions(+) + script/runc-euleros.spec | 50 ++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 50 insertions(+) create mode 100644 script/runc-euleros.spec diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec new file mode 100644 -index 0000000..a925e02 +index 0000000..db4e868 --- /dev/null +++ b/script/runc-euleros.spec -@@ -0,0 +1,49 @@ +@@ -0,0 +1,50 @@ +%global _bindir /usr/local/bin + +Name: docker-runc @@ -36,6 +34,7 @@ index 0000000..a925e02 +BuildRequires: libseccomp-devel +BuildRequires: libselinux-devel + ++BuildRequires: libseccomp-static + +%description +runc is a CLI tool for spawning and running containers according to the OCF specification @@ -66,5 +65,5 @@ index 0000000..a925e02 +%changelog + -- -2.7.4.3 +2.30.0 diff --git a/patch/0002-Don-t-try-to-read-freezer.state-from-the-cu.patch b/patch/0002-Don-t-try-to-read-freezer.state-from-the-cu.patch deleted file mode 100644 index d5d77c5..0000000 --- a/patch/0002-Don-t-try-to-read-freezer.state-from-the-cu.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 4ccbadc228c9e4fc0fd20690ca13517f02aab59d Mon Sep 17 00:00:00 2001 -From: Andrei Vagin -Date: Thu, 23 Mar 2017 01:43:39 +0300 -Subject: [PATCH 02/94] Don't try to read freezer.state from the - current directory - -If we try to pause a container on the system without freezer cgroups, -we can found that runc tries to open ./freezer.state. It is obviously wrong. - -$ ./runc pause test -no such directory for freezer.state - -$ echo FROZEN > freezer.state -$ ./runc pause test -container not running or created: paused - -Change-Id: Ia7eba3a300a7ca6f1e8e10e4b1cbb4360e083e33 -Signed-off-by: Andrei Vagin ---- - libcontainer/container_linux.go | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 28dff86..cd9235d 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -1284,7 +1284,12 @@ func (c *linuxContainer) runType() (Status, error) { - } - - func (c *linuxContainer) isPaused() (bool, error) { -- data, err := ioutil.ReadFile(filepath.Join(c.cgroupManager.GetPaths()["freezer"], "freezer.state")) -+ fcg := c.cgroupManager.GetPaths()["freezer"] -+ if fcg == "" { -+ // A container doesn't have a freezer cgroup -+ return false, nil -+ } -+ data, err := ioutil.ReadFile(filepath.Join(fcg, "freezer.state")) - if err != nil { - // If freezer cgroup is not mounted, the container would just be not paused. - if os.IsNotExist(err) { --- -2.7.4.3 - diff --git a/patch/0039-Fix-unittest-and-integration-test-error-cause.patch b/patch/0002-runc-fix-unittest-and-integration-test-error-caused.patch similarity index 38% rename from patch/0039-Fix-unittest-and-integration-test-error-cause.patch rename to patch/0002-runc-fix-unittest-and-integration-test-error-caused.patch index 8333411..3d5f0bd 100644 --- a/patch/0039-Fix-unittest-and-integration-test-error-cause.patch +++ b/patch/0002-runc-fix-unittest-and-integration-test-error-caused.patch @@ -1,18 +1,15 @@ -From 423ffe00c5c0cdb999bf9a193ad43ed5b6473a2d Mon Sep 17 00:00:00 2001 -From: Wang Long -Date: Tue, 24 Jan 2017 18:51:22 +0800 -Subject: [PATCH 39/94] Fix unittest and integration test error caused - by tty +From 992170fc8663968692d76db0710ca3fa64de5917 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:16:57 +0800 +Subject: [PATCH] runc:fix unittest and integration test error caused -Change-Id: Iae44f5a598e60b9e026ced99ca9e92aa90771fcc -Signed-off-by: Wang Long --- libcontainer/integration/execin_test.go | 8 +------- tests/integration/exec.bats | 4 ++-- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/libcontainer/integration/execin_test.go b/libcontainer/integration/execin_test.go -index 019757f..f06075e 100644 +index f8a6a9c..9669eca 100644 --- a/libcontainer/integration/execin_test.go +++ b/libcontainer/integration/execin_test.go @@ -62,9 +62,6 @@ func TestExecIn(t *testing.T) { @@ -20,45 +17,47 @@ index 019757f..f06075e 100644 t.Fatalf("unexpected running process, output %q", out) } - if strings.Contains(out, "\r") { -- t.Fatalf("unexpected carriage-return in output") +- t.Fatalf("unexpected carriage-return in output %q", out) - } } func TestExecInUsernsRlimit(t *testing.T) { -@@ -327,12 +324,9 @@ func TestExecInTTY(t *testing.T) { - waitProcess(process, t) +@@ -318,12 +315,9 @@ func TestExecInTTY(t *testing.T) { + _ = child.Close() - out := stdout.String() -- if !strings.Contains(out, "cat") || !strings.Contains(out, "ps") { -+ if !strings.Contains(out, "cat") || !strings.Contains(string(out), "ps") { - t.Fatalf("unexpected running process, output %q", out) + out := stdout.String() +- if !strings.Contains(out, "cat") || !strings.Contains(out, "ps") { ++ if !strings.Contains(out, "cat") || !strings.Contains(string(out), "ps") { + t.Fatalf("unexpected running process, output %q", out) + } +- if strings.Contains(out, "\r") { +- t.Fatalf("unexpected carriage-return in output %q", out) +- } } -- if strings.Contains(out, "\r") { -- t.Fatalf("unexpected carriage-return in output") -- } } - func TestExecInEnvironment(t *testing.T) { diff --git a/tests/integration/exec.bats b/tests/integration/exec.bats -index f172f9b..268a7e1 100644 +index 140cd18..cd01f00 100644 --- a/tests/integration/exec.bats +++ b/tests/integration/exec.bats -@@ -95,7 +95,7 @@ function teardown() { +@@ -101,7 +101,7 @@ function teardown() { - runc exec --cwd /bin test_busybox pwd - [ "$status" -eq 0 ] -- [[ ${output} == "/bin" ]] -+ [[ $(echo "${output}" | tr -d '\r') == "/bin" ]] + runc exec --cwd /bin test_busybox pwd + [ "$status" -eq 0 ] +- [[ ${output} == "/bin"* ]] ++ [[ $(echo "${output}" | tr -d '\r') == "/bin" ]] } @test "runc exec --env" { -@@ -124,5 +124,5 @@ function teardown() { - runc exec --user 1000:1000 test_busybox id - [ "$status" -eq 0 ] +@@ -126,7 +126,7 @@ function teardown() { + runc exec --user 1000:1000 test_busybox id + [ "$status" -eq 0 ] -- [[ ${output} == "uid=1000 gid=1000" ]] -+ [[ $(echo "${output}" | tr -d '\r') == "uid=1000 gid=1000" ]] +- [[ "${output}" == "uid=1000 gid=1000"* ]] ++ [[ $(echo "${output}" | tr -d '\r') == "uid=1000 gid=1000" ] } + + @test "runc exec --additional-gids" { -- -2.7.4.3 +2.30.0 diff --git a/patch/0003-Use-opencontainers-selinux-package.patch b/patch/0003-Use-opencontainers-selinux-package.patch deleted file mode 100644 index 56e75d0..0000000 --- a/patch/0003-Use-opencontainers-selinux-package.patch +++ /dev/null @@ -1,2424 +0,0 @@ -From d9ba1ae8b4ce5099b857f50dc2393bf90921be44 Mon Sep 17 00:00:00 2001 -From: Qiang Huang -Date: Thu, 23 Mar 2017 08:21:19 +0800 -Subject: [PATCH 03/94] Use opencontainers/selinux package - -It's splitted as a separate project. - -Change-Id: Iaac4fde7a9cfd95695afe2654ca59f68469f7872 -Signed-off-by: Qiang Huang ---- - libcontainer/configs/validate/validator.go | 4 +- - libcontainer/label/label.go | 84 --- - libcontainer/label/label_selinux.go | 204 ------- - libcontainer/label/label_selinux_test.go | 148 ----- - libcontainer/rootfs_linux.go | 2 +- - libcontainer/selinux/selinux.go | 549 ------------------- - libcontainer/selinux/selinux_test.go | 85 --- - libcontainer/setns_init_linux.go | 2 +- - libcontainer/standard_init_linux.go | 2 +- - vendor.conf | 1 + - vendor/github.com/opencontainers/selinux/LICENSE | 201 +++++++ - vendor/github.com/opencontainers/selinux/README.md | 7 + - .../selinux/go-selinux/label/label.go | 84 +++ - .../selinux/go-selinux/label/label_selinux.go | 204 +++++++ - .../opencontainers/selinux/go-selinux/selinux.go | 593 +++++++++++++++++++++ - .../opencontainers/selinux/go-selinux/xattrs.go | 78 +++ - 16 files changed, 1173 insertions(+), 1075 deletions(-) - delete mode 100644 libcontainer/label/label.go - delete mode 100644 libcontainer/label/label_selinux.go - delete mode 100644 libcontainer/label/label_selinux_test.go - delete mode 100644 libcontainer/selinux/selinux.go - delete mode 100644 libcontainer/selinux/selinux_test.go - create mode 100644 vendor/github.com/opencontainers/selinux/LICENSE - create mode 100644 vendor/github.com/opencontainers/selinux/README.md - create mode 100644 vendor/github.com/opencontainers/selinux/go-selinux/label/label.go - create mode 100644 vendor/github.com/opencontainers/selinux/go-selinux/label/label_selinux.go - create mode 100644 vendor/github.com/opencontainers/selinux/go-selinux/selinux.go - create mode 100644 vendor/github.com/opencontainers/selinux/go-selinux/xattrs.go - -diff --git a/libcontainer/configs/validate/validator.go b/libcontainer/configs/validate/validator.go -index f076f50..ecf8335 100644 ---- a/libcontainer/configs/validate/validator.go -+++ b/libcontainer/configs/validate/validator.go -@@ -7,7 +7,7 @@ import ( - "strings" - - "github.com/opencontainers/runc/libcontainer/configs" -- "github.com/opencontainers/runc/libcontainer/selinux" -+ selinux "github.com/opencontainers/selinux/go-selinux" - ) - - type Validator interface { -@@ -87,7 +87,7 @@ func (v *ConfigValidator) security(config *configs.Config) error { - !config.Namespaces.Contains(configs.NEWNS) { - return fmt.Errorf("unable to restrict sys entries without a private MNT namespace") - } -- if config.ProcessLabel != "" && !selinux.SelinuxEnabled() { -+ if config.ProcessLabel != "" && !selinux.GetEnabled() { - return fmt.Errorf("selinux label is specified in config, but selinux is disabled or not supported") - } - -diff --git a/libcontainer/label/label.go b/libcontainer/label/label.go -deleted file mode 100644 -index fddec46..0000000 ---- a/libcontainer/label/label.go -+++ /dev/null -@@ -1,84 +0,0 @@ --// +build !selinux !linux -- --package label -- --// InitLabels returns the process label and file labels to be used within --// the container. A list of options can be passed into this function to alter --// the labels. --func InitLabels(options []string) (string, string, error) { -- return "", "", nil --} -- --func GetROMountLabel() string { -- return "" --} -- --func GenLabels(options string) (string, string, error) { -- return "", "", nil --} -- --func FormatMountLabel(src string, mountLabel string) string { -- return src --} -- --func SetProcessLabel(processLabel string) error { -- return nil --} -- --func GetFileLabel(path string) (string, error) { -- return "", nil --} -- --func SetFileLabel(path string, fileLabel string) error { -- return nil --} -- --func SetFileCreateLabel(fileLabel string) error { -- return nil --} -- --func Relabel(path string, fileLabel string, shared bool) error { -- return nil --} -- --func GetPidLabel(pid int) (string, error) { -- return "", nil --} -- --func Init() { --} -- --func ReserveLabel(label string) error { -- return nil --} -- --func UnreserveLabel(label string) error { -- return nil --} -- --// DupSecOpt takes a process label and returns security options that --// can be used to set duplicate labels on future container processes --func DupSecOpt(src string) []string { -- return nil --} -- --// DisableSecOpt returns a security opt that can disable labeling --// support for future container processes --func DisableSecOpt() []string { -- return nil --} -- --// Validate checks that the label does not include unexpected options --func Validate(label string) error { -- return nil --} -- --// RelabelNeeded checks whether the user requested a relabel --func RelabelNeeded(label string) bool { -- return false --} -- --// IsShared checks that the label includes a "shared" mark --func IsShared(label string) bool { -- return false --} -diff --git a/libcontainer/label/label_selinux.go b/libcontainer/label/label_selinux.go -deleted file mode 100644 -index 058c922..0000000 ---- a/libcontainer/label/label_selinux.go -+++ /dev/null -@@ -1,204 +0,0 @@ --// +build selinux,linux -- --package label -- --import ( -- "fmt" -- "strings" -- -- "github.com/opencontainers/runc/libcontainer/selinux" --) -- --// Valid Label Options --var validOptions = map[string]bool{ -- "disable": true, -- "type": true, -- "user": true, -- "role": true, -- "level": true, --} -- --var ErrIncompatibleLabel = fmt.Errorf("Bad SELinux option z and Z can not be used together") -- --// InitLabels returns the process label and file labels to be used within --// the container. A list of options can be passed into this function to alter --// the labels. The labels returned will include a random MCS String, that is --// guaranteed to be unique. --func InitLabels(options []string) (string, string, error) { -- if !selinux.SelinuxEnabled() { -- return "", "", nil -- } -- processLabel, mountLabel := selinux.GetLxcContexts() -- if processLabel != "" { -- pcon := selinux.NewContext(processLabel) -- mcon := selinux.NewContext(mountLabel) -- for _, opt := range options { -- if opt == "disable" { -- return "", "", nil -- } -- if i := strings.Index(opt, ":"); i == -1 { -- return "", "", fmt.Errorf("Bad label option %q, valid options 'disable' or \n'user, role, level, type' followed by ':' and a value", opt) -- } -- con := strings.SplitN(opt, ":", 2) -- if !validOptions[con[0]] { -- return "", "", fmt.Errorf("Bad label option %q, valid options 'disable, user, role, level, type'", con[0]) -- -- } -- pcon[con[0]] = con[1] -- if con[0] == "level" || con[0] == "user" { -- mcon[con[0]] = con[1] -- } -- } -- processLabel = pcon.Get() -- mountLabel = mcon.Get() -- } -- return processLabel, mountLabel, nil --} -- --func GetROMountLabel() string { -- return selinux.GetROFileLabel() --} -- --// DEPRECATED: The GenLabels function is only to be used during the transition to the official API. --func GenLabels(options string) (string, string, error) { -- return InitLabels(strings.Fields(options)) --} -- --// FormatMountLabel returns a string to be used by the mount command. --// The format of this string will be used to alter the labeling of the mountpoint. --// The string returned is suitable to be used as the options field of the mount command. --// If you need to have additional mount point options, you can pass them in as --// the first parameter. Second parameter is the label that you wish to apply --// to all content in the mount point. --func FormatMountLabel(src, mountLabel string) string { -- if mountLabel != "" { -- switch src { -- case "": -- src = fmt.Sprintf("context=%q", mountLabel) -- default: -- src = fmt.Sprintf("%s,context=%q", src, mountLabel) -- } -- } -- return src --} -- --// SetProcessLabel takes a process label and tells the kernel to assign the --// label to the next program executed by the current process. --func SetProcessLabel(processLabel string) error { -- if processLabel == "" { -- return nil -- } -- return selinux.Setexeccon(processLabel) --} -- --// GetProcessLabel returns the process label that the kernel will assign --// to the next program executed by the current process. If "" is returned --// this indicates that the default labeling will happen for the process. --func GetProcessLabel() (string, error) { -- return selinux.Getexeccon() --} -- --// GetFileLabel returns the label for specified path --func GetFileLabel(path string) (string, error) { -- return selinux.Getfilecon(path) --} -- --// SetFileLabel modifies the "path" label to the specified file label --func SetFileLabel(path string, fileLabel string) error { -- if selinux.SelinuxEnabled() && fileLabel != "" { -- return selinux.Setfilecon(path, fileLabel) -- } -- return nil --} -- --// SetFileCreateLabel tells the kernel the label for all files to be created --func SetFileCreateLabel(fileLabel string) error { -- if selinux.SelinuxEnabled() { -- return selinux.Setfscreatecon(fileLabel) -- } -- return nil --} -- --// Relabel changes the label of path to the filelabel string. --// It changes the MCS label to s0 if shared is true. --// This will allow all containers to share the content. --func Relabel(path string, fileLabel string, shared bool) error { -- if !selinux.SelinuxEnabled() { -- return nil -- } -- -- if fileLabel == "" { -- return nil -- } -- -- exclude_paths := map[string]bool{"/": true, "/usr": true, "/etc": true} -- if exclude_paths[path] { -- return fmt.Errorf("SELinux relabeling of %s is not allowed", path) -- } -- -- if shared { -- c := selinux.NewContext(fileLabel) -- c["level"] = "s0" -- fileLabel = c.Get() -- } -- if err := selinux.Chcon(path, fileLabel, true); err != nil { -- return err -- } -- return nil --} -- --// GetPidLabel will return the label of the process running with the specified pid --func GetPidLabel(pid int) (string, error) { -- return selinux.Getpidcon(pid) --} -- --// Init initialises the labeling system --func Init() { -- selinux.SelinuxEnabled() --} -- --// ReserveLabel will record the fact that the MCS label has already been used. --// This will prevent InitLabels from using the MCS label in a newly created --// container --func ReserveLabel(label string) error { -- selinux.ReserveLabel(label) -- return nil --} -- --// UnreserveLabel will remove the reservation of the MCS label. --// This will allow InitLabels to use the MCS label in a newly created --// containers --func UnreserveLabel(label string) error { -- selinux.FreeLxcContexts(label) -- return nil --} -- --// DupSecOpt takes a process label and returns security options that --// can be used to set duplicate labels on future container processes --func DupSecOpt(src string) []string { -- return selinux.DupSecOpt(src) --} -- --// DisableSecOpt returns a security opt that can disable labeling --// support for future container processes --func DisableSecOpt() []string { -- return selinux.DisableSecOpt() --} -- --// Validate checks that the label does not include unexpected options --func Validate(label string) error { -- if strings.Contains(label, "z") && strings.Contains(label, "Z") { -- return ErrIncompatibleLabel -- } -- return nil --} -- --// RelabelNeeded checks whether the user requested a relabel --func RelabelNeeded(label string) bool { -- return strings.Contains(label, "z") || strings.Contains(label, "Z") --} -- --// IsShared checks that the label includes a "shared" mark --func IsShared(label string) bool { -- return strings.Contains(label, "z") --} -diff --git a/libcontainer/label/label_selinux_test.go b/libcontainer/label/label_selinux_test.go -deleted file mode 100644 -index 8956a70..0000000 ---- a/libcontainer/label/label_selinux_test.go -+++ /dev/null -@@ -1,148 +0,0 @@ --// +build selinux,linux -- --package label -- --import ( -- "os" -- "strings" -- "testing" -- -- "github.com/opencontainers/runc/libcontainer/selinux" --) -- --func TestInit(t *testing.T) { -- if selinux.SelinuxEnabled() { -- var testNull []string -- plabel, mlabel, err := InitLabels(testNull) -- if err != nil { -- t.Log("InitLabels Failed") -- t.Fatal(err) -- } -- testDisabled := []string{"disable"} -- roMountLabel := GetROMountLabel() -- if roMountLabel == "" { -- t.Errorf("GetROMountLabel Failed") -- } -- plabel, mlabel, err = InitLabels(testDisabled) -- if err != nil { -- t.Log("InitLabels Disabled Failed") -- t.Fatal(err) -- } -- if plabel != "" { -- t.Log("InitLabels Disabled Failed") -- t.FailNow() -- } -- testUser := []string{"user:user_u", "role:user_r", "type:user_t", "level:s0:c1,c15"} -- plabel, mlabel, err = InitLabels(testUser) -- if err != nil { -- t.Log("InitLabels User Failed") -- t.Fatal(err) -- } -- if plabel != "user_u:user_r:user_t:s0:c1,c15" || mlabel != "user_u:object_r:svirt_sandbox_file_t:s0:c1,c15" { -- t.Log("InitLabels User Match Failed") -- t.Log(plabel, mlabel) -- t.Fatal(err) -- } -- -- testBadData := []string{"user", "role:user_r", "type:user_t", "level:s0:c1,c15"} -- if _, _, err = InitLabels(testBadData); err == nil { -- t.Log("InitLabels Bad Failed") -- t.Fatal(err) -- } -- } --} --func TestDuplicateLabel(t *testing.T) { -- secopt := DupSecOpt("system_u:system_r:svirt_lxc_net_t:s0:c1,c2") -- t.Log(secopt) -- for _, opt := range secopt { -- parts := strings.SplitN(opt, "=", 2) -- if len(parts) != 2 || parts[0] != "label" { -- t.Errorf("Invalid DupSecOpt return value") -- continue -- } -- con := strings.SplitN(parts[1], ":", 2) -- if con[0] == "user" { -- if con[1] != "system_u" { -- t.Errorf("DupSecOpt Failed user incorrect") -- } -- continue -- } -- if con[0] == "role" { -- if con[1] != "system_r" { -- t.Errorf("DupSecOpt Failed role incorrect") -- } -- continue -- } -- if con[0] == "type" { -- if con[1] != "svirt_lxc_net_t" { -- t.Errorf("DupSecOpt Failed type incorrect") -- } -- continue -- } -- if con[0] == "level" { -- if con[1] != "s0:c1,c2" { -- t.Errorf("DupSecOpt Failed level incorrect") -- } -- continue -- } -- t.Errorf("DupSecOpt Failed invalid field %q", con[0]) -- } -- secopt = DisableSecOpt() -- if secopt[0] != "label=disable" { -- t.Errorf("DisableSecOpt Failed level incorrect") -- } --} --func TestRelabel(t *testing.T) { -- testdir := "/tmp/test" -- if err := os.Mkdir(testdir, 0755); err != nil { -- t.Fatal(err) -- } -- defer os.RemoveAll(testdir) -- label := "system_u:object_r:svirt_sandbox_file_t:s0:c1,c2" -- if err := Relabel(testdir, "", true); err != nil { -- t.Fatalf("Relabel with no label failed: %v", err) -- } -- if err := Relabel(testdir, label, true); err != nil { -- t.Fatalf("Relabel shared failed: %v", err) -- } -- if err := Relabel(testdir, label, false); err != nil { -- t.Fatalf("Relabel unshared failed: %v", err) -- } -- if err := Relabel("/etc", label, false); err == nil { -- t.Fatalf("Relabel /etc succeeded") -- } -- if err := Relabel("/", label, false); err == nil { -- t.Fatalf("Relabel / succeeded") -- } -- if err := Relabel("/usr", label, false); err == nil { -- t.Fatalf("Relabel /usr succeeded") -- } --} -- --func TestValidate(t *testing.T) { -- if err := Validate("zZ"); err != ErrIncompatibleLabel { -- t.Fatalf("Expected incompatible error, got %v", err) -- } -- if err := Validate("Z"); err != nil { -- t.Fatal(err) -- } -- if err := Validate("z"); err != nil { -- t.Fatal(err) -- } -- if err := Validate(""); err != nil { -- t.Fatal(err) -- } --} -- --func TestIsShared(t *testing.T) { -- if shared := IsShared("Z"); shared { -- t.Fatalf("Expected label `Z` to not be shared, got %v", shared) -- } -- if shared := IsShared("z"); !shared { -- t.Fatalf("Expected label `z` to be shared, got %v", shared) -- } -- if shared := IsShared("Zz"); !shared { -- t.Fatalf("Expected label `Zz` to be shared, got %v", shared) -- } -- --} -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index 2635fd6..1045a45 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -19,9 +19,9 @@ import ( - "github.com/mrunalp/fileutils" - "github.com/opencontainers/runc/libcontainer/cgroups" - "github.com/opencontainers/runc/libcontainer/configs" -- "github.com/opencontainers/runc/libcontainer/label" - "github.com/opencontainers/runc/libcontainer/system" - libcontainerUtils "github.com/opencontainers/runc/libcontainer/utils" -+ "github.com/opencontainers/selinux/go-selinux/label" - ) - - const defaultMountFlags = syscall.MS_NOEXEC | syscall.MS_NOSUID | syscall.MS_NODEV -diff --git a/libcontainer/selinux/selinux.go b/libcontainer/selinux/selinux.go -deleted file mode 100644 -index 5bd028b..0000000 ---- a/libcontainer/selinux/selinux.go -+++ /dev/null -@@ -1,549 +0,0 @@ --// +build linux -- --package selinux -- --import ( -- "bufio" -- "crypto/rand" -- "encoding/binary" -- "fmt" -- "io" -- "os" -- "path/filepath" -- "regexp" -- "strconv" -- "strings" -- "sync" -- "syscall" -- -- "github.com/opencontainers/runc/libcontainer/system" --) -- --const ( -- Enforcing = 1 -- Permissive = 0 -- Disabled = -1 -- selinuxDir = "/etc/selinux/" -- selinuxConfig = selinuxDir + "config" -- selinuxTypeTag = "SELINUXTYPE" -- selinuxTag = "SELINUX" -- selinuxPath = "/sys/fs/selinux" -- xattrNameSelinux = "security.selinux" -- stRdOnly = 0x01 --) -- --type selinuxState struct { -- enabledSet bool -- enabled bool -- selinuxfsSet bool -- selinuxfs string -- mcsList map[string]bool -- sync.Mutex --} -- --var ( -- assignRegex = regexp.MustCompile(`^([^=]+)=(.*)$`) -- state = selinuxState{ -- mcsList: make(map[string]bool), -- } --) -- --type SELinuxContext map[string]string -- --func (s *selinuxState) setEnable(enabled bool) bool { -- s.Lock() -- defer s.Unlock() -- s.enabledSet = true -- s.enabled = enabled -- return s.enabled --} -- --func (s *selinuxState) getEnabled() bool { -- s.Lock() -- enabled := s.enabled -- enabledSet := s.enabledSet -- s.Unlock() -- if enabledSet { -- return enabled -- } -- -- enabled = false -- if fs := getSelinuxMountPoint(); fs != "" { -- if con, _ := Getcon(); con != "kernel" { -- enabled = true -- } -- } -- return s.setEnable(enabled) --} -- --// SetDisabled disables selinux support for the package --func SetDisabled() { -- state.setEnable(false) --} -- --func (s *selinuxState) setSELinuxfs(selinuxfs string) string { -- s.Lock() -- defer s.Unlock() -- s.selinuxfsSet = true -- s.selinuxfs = selinuxfs -- return s.selinuxfs --} -- --func (s *selinuxState) getSELinuxfs() string { -- s.Lock() -- selinuxfs := s.selinuxfs -- selinuxfsSet := s.selinuxfsSet -- s.Unlock() -- if selinuxfsSet { -- return selinuxfs -- } -- -- selinuxfs = "" -- f, err := os.Open("/proc/self/mountinfo") -- if err != nil { -- return selinuxfs -- } -- defer f.Close() -- -- scanner := bufio.NewScanner(f) -- for scanner.Scan() { -- txt := scanner.Text() -- // Safe as mountinfo encodes mountpoints with spaces as \040. -- sepIdx := strings.Index(txt, " - ") -- if sepIdx == -1 { -- continue -- } -- if !strings.Contains(txt[sepIdx:], "selinuxfs") { -- continue -- } -- fields := strings.Split(txt, " ") -- if len(fields) < 5 { -- continue -- } -- selinuxfs = fields[4] -- break -- } -- -- if selinuxfs != "" { -- var buf syscall.Statfs_t -- syscall.Statfs(selinuxfs, &buf) -- if (buf.Flags & stRdOnly) == 1 { -- selinuxfs = "" -- } -- } -- return s.setSELinuxfs(selinuxfs) --} -- --// getSelinuxMountPoint returns the path to the mountpoint of an selinuxfs --// filesystem or an empty string if no mountpoint is found. Selinuxfs is --// a proc-like pseudo-filesystem that exposes the selinux policy API to --// processes. The existence of an selinuxfs mount is used to determine --// whether selinux is currently enabled or not. --func getSelinuxMountPoint() string { -- return state.getSELinuxfs() --} -- --// SelinuxEnabled returns whether selinux is currently enabled. --func SelinuxEnabled() bool { -- return state.getEnabled() --} -- --func readConfig(target string) (value string) { -- var ( -- val, key string -- bufin *bufio.Reader -- ) -- -- in, err := os.Open(selinuxConfig) -- if err != nil { -- return "" -- } -- defer in.Close() -- -- bufin = bufio.NewReader(in) -- -- for done := false; !done; { -- var line string -- if line, err = bufin.ReadString('\n'); err != nil { -- if err != io.EOF { -- return "" -- } -- done = true -- } -- line = strings.TrimSpace(line) -- if len(line) == 0 { -- // Skip blank lines -- continue -- } -- if line[0] == ';' || line[0] == '#' { -- // Skip comments -- continue -- } -- if groups := assignRegex.FindStringSubmatch(line); groups != nil { -- key, val = strings.TrimSpace(groups[1]), strings.TrimSpace(groups[2]) -- if key == target { -- return strings.Trim(val, "\"") -- } -- } -- } -- return "" --} -- --func getSELinuxPolicyRoot() string { -- return selinuxDir + readConfig(selinuxTypeTag) --} -- --func readCon(name string) (string, error) { -- var val string -- -- in, err := os.Open(name) -- if err != nil { -- return "", err -- } -- defer in.Close() -- -- _, err = fmt.Fscanf(in, "%s", &val) -- return val, err --} -- --// Setfilecon sets the SELinux label for this path or returns an error. --func Setfilecon(path string, scon string) error { -- return system.Lsetxattr(path, xattrNameSelinux, []byte(scon), 0) --} -- --// Getfilecon returns the SELinux label for this path or returns an error. --func Getfilecon(path string) (string, error) { -- con, err := system.Lgetxattr(path, xattrNameSelinux) -- if err != nil { -- return "", err -- } -- // Trim the NUL byte at the end of the byte buffer, if present. -- if len(con) > 0 && con[len(con)-1] == '\x00' { -- con = con[:len(con)-1] -- } -- return string(con), nil --} -- --func Setfscreatecon(scon string) error { -- return writeCon(fmt.Sprintf("/proc/self/task/%d/attr/fscreate", syscall.Gettid()), scon) --} -- --func Getfscreatecon() (string, error) { -- return readCon(fmt.Sprintf("/proc/self/task/%d/attr/fscreate", syscall.Gettid())) --} -- --// Getcon returns the SELinux label of the current process thread, or an error. --func Getcon() (string, error) { -- return readCon(fmt.Sprintf("/proc/self/task/%d/attr/current", syscall.Gettid())) --} -- --// Getpidcon returns the SELinux label of the given pid, or an error. --func Getpidcon(pid int) (string, error) { -- return readCon(fmt.Sprintf("/proc/%d/attr/current", pid)) --} -- --func Getexeccon() (string, error) { -- return readCon(fmt.Sprintf("/proc/self/task/%d/attr/exec", syscall.Gettid())) --} -- --func writeCon(name string, val string) error { -- out, err := os.OpenFile(name, os.O_WRONLY, 0) -- if err != nil { -- return err -- } -- defer out.Close() -- -- if val != "" { -- _, err = out.Write([]byte(val)) -- } else { -- _, err = out.Write(nil) -- } -- return err --} -- --func Setexeccon(scon string) error { -- return writeCon(fmt.Sprintf("/proc/self/task/%d/attr/exec", syscall.Gettid()), scon) --} -- --func (c SELinuxContext) Get() string { -- return fmt.Sprintf("%s:%s:%s:%s", c["user"], c["role"], c["type"], c["level"]) --} -- --func NewContext(scon string) SELinuxContext { -- c := make(SELinuxContext) -- -- if len(scon) != 0 { -- con := strings.SplitN(scon, ":", 4) -- c["user"] = con[0] -- c["role"] = con[1] -- c["type"] = con[2] -- c["level"] = con[3] -- } -- return c --} -- --func ReserveLabel(scon string) { -- if len(scon) != 0 { -- con := strings.SplitN(scon, ":", 4) -- mcsAdd(con[3]) -- } --} -- --func selinuxEnforcePath() string { -- return fmt.Sprintf("%s/enforce", selinuxPath) --} -- --func SelinuxGetEnforce() int { -- var enforce int -- -- enforceS, err := readCon(selinuxEnforcePath()) -- if err != nil { -- return -1 -- } -- -- enforce, err = strconv.Atoi(string(enforceS)) -- if err != nil { -- return -1 -- } -- return enforce --} -- --func SelinuxSetEnforce(mode int) error { -- return writeCon(selinuxEnforcePath(), fmt.Sprintf("%d", mode)) --} -- --func SelinuxGetEnforceMode() int { -- switch readConfig(selinuxTag) { -- case "enforcing": -- return Enforcing -- case "permissive": -- return Permissive -- } -- return Disabled --} -- --func mcsAdd(mcs string) error { -- state.Lock() -- defer state.Unlock() -- if state.mcsList[mcs] { -- return fmt.Errorf("MCS Label already exists") -- } -- state.mcsList[mcs] = true -- return nil --} -- --func mcsDelete(mcs string) { -- state.Lock() -- defer state.Unlock() -- state.mcsList[mcs] = false --} -- --func IntToMcs(id int, catRange uint32) string { -- var ( -- SETSIZE = int(catRange) -- TIER = SETSIZE -- ORD = id -- ) -- -- if id < 1 || id > 523776 { -- return "" -- } -- -- for ORD > TIER { -- ORD = ORD - TIER -- TIER-- -- } -- TIER = SETSIZE - TIER -- ORD = ORD + TIER -- return fmt.Sprintf("s0:c%d,c%d", TIER, ORD) --} -- --func uniqMcs(catRange uint32) string { -- var ( -- n uint32 -- c1, c2 uint32 -- mcs string -- ) -- -- for { -- binary.Read(rand.Reader, binary.LittleEndian, &n) -- c1 = n % catRange -- binary.Read(rand.Reader, binary.LittleEndian, &n) -- c2 = n % catRange -- if c1 == c2 { -- continue -- } else { -- if c1 > c2 { -- c1, c2 = c2, c1 -- } -- } -- mcs = fmt.Sprintf("s0:c%d,c%d", c1, c2) -- if err := mcsAdd(mcs); err != nil { -- continue -- } -- break -- } -- return mcs --} -- --func FreeLxcContexts(scon string) { -- if len(scon) != 0 { -- con := strings.SplitN(scon, ":", 4) -- mcsDelete(con[3]) -- } --} -- --var roFileLabel string -- --func GetROFileLabel() (fileLabel string) { -- return roFileLabel --} -- --func GetLxcContexts() (processLabel string, fileLabel string) { -- var ( -- val, key string -- bufin *bufio.Reader -- ) -- -- if !SelinuxEnabled() { -- return "", "" -- } -- lxcPath := fmt.Sprintf("%s/contexts/lxc_contexts", getSELinuxPolicyRoot()) -- in, err := os.Open(lxcPath) -- if err != nil { -- return "", "" -- } -- defer in.Close() -- -- bufin = bufio.NewReader(in) -- -- for done := false; !done; { -- var line string -- if line, err = bufin.ReadString('\n'); err != nil { -- if err == io.EOF { -- done = true -- } else { -- goto exit -- } -- } -- line = strings.TrimSpace(line) -- if len(line) == 0 { -- // Skip blank lines -- continue -- } -- if line[0] == ';' || line[0] == '#' { -- // Skip comments -- continue -- } -- if groups := assignRegex.FindStringSubmatch(line); groups != nil { -- key, val = strings.TrimSpace(groups[1]), strings.TrimSpace(groups[2]) -- if key == "process" { -- processLabel = strings.Trim(val, "\"") -- } -- if key == "file" { -- fileLabel = strings.Trim(val, "\"") -- } -- if key == "ro_file" { -- roFileLabel = strings.Trim(val, "\"") -- } -- } -- } -- -- if processLabel == "" || fileLabel == "" { -- return "", "" -- } -- -- if roFileLabel == "" { -- roFileLabel = fileLabel -- } --exit: -- // mcs := IntToMcs(os.Getpid(), 1024) -- mcs := uniqMcs(1024) -- scon := NewContext(processLabel) -- scon["level"] = mcs -- processLabel = scon.Get() -- scon = NewContext(fileLabel) -- scon["level"] = mcs -- fileLabel = scon.Get() -- return processLabel, fileLabel --} -- --func SecurityCheckContext(val string) error { -- return writeCon(fmt.Sprintf("%s.context", selinuxPath), val) --} -- --func CopyLevel(src, dest string) (string, error) { -- if src == "" { -- return "", nil -- } -- if err := SecurityCheckContext(src); err != nil { -- return "", err -- } -- if err := SecurityCheckContext(dest); err != nil { -- return "", err -- } -- scon := NewContext(src) -- tcon := NewContext(dest) -- mcsDelete(tcon["level"]) -- mcsAdd(scon["level"]) -- tcon["level"] = scon["level"] -- return tcon.Get(), nil --} -- --// Prevent users from relabing system files --func badPrefix(fpath string) error { -- var badprefixes = []string{"/usr"} -- -- for _, prefix := range badprefixes { -- if fpath == prefix || strings.HasPrefix(fpath, fmt.Sprintf("%s/", prefix)) { -- return fmt.Errorf("relabeling content in %s is not allowed", prefix) -- } -- } -- return nil --} -- --// Chcon changes the fpath file object to the SELinux label scon. --// If the fpath is a directory and recurse is true Chcon will walk the --// directory tree setting the label --func Chcon(fpath string, scon string, recurse bool) error { -- if scon == "" { -- return nil -- } -- if err := badPrefix(fpath); err != nil { -- return err -- } -- callback := func(p string, info os.FileInfo, err error) error { -- return Setfilecon(p, scon) -- } -- -- if recurse { -- return filepath.Walk(fpath, callback) -- } -- -- return Setfilecon(fpath, scon) --} -- --// DupSecOpt takes an SELinux process label and returns security options that --// can will set the SELinux Type and Level for future container processes --func DupSecOpt(src string) []string { -- if src == "" { -- return nil -- } -- con := NewContext(src) -- if con["user"] == "" || -- con["role"] == "" || -- con["type"] == "" || -- con["level"] == "" { -- return nil -- } -- return []string{"user:" + con["user"], -- "role:" + con["role"], -- "type:" + con["type"], -- "level:" + con["level"]} --} -- --// DisableSecOpt returns a security opt that can be used to disabling SELinux --// labeling support for future container processes --func DisableSecOpt() []string { -- return []string{"disable"} --} -diff --git a/libcontainer/selinux/selinux_test.go b/libcontainer/selinux/selinux_test.go -deleted file mode 100644 -index d67284e..0000000 ---- a/libcontainer/selinux/selinux_test.go -+++ /dev/null -@@ -1,85 +0,0 @@ --// +build linux,selinux -- --package selinux_test -- --import ( -- "os" -- "testing" -- -- "github.com/opencontainers/runc/libcontainer/selinux" --) -- --func TestSetfilecon(t *testing.T) { -- if selinux.SelinuxEnabled() { -- tmp := "selinux_test" -- con := "system_u:object_r:bin_t:s0" -- out, _ := os.OpenFile(tmp, os.O_WRONLY|os.O_CREATE, 0) -- out.Close() -- err := selinux.Setfilecon(tmp, con) -- if err != nil { -- t.Log("Setfilecon failed") -- t.Fatal(err) -- } -- filecon, err := selinux.Getfilecon(tmp) -- if err != nil { -- t.Log("Getfilecon failed") -- t.Fatal(err) -- } -- if con != filecon { -- t.Fatal("Getfilecon failed, returned %s expected %s", filecon, con) -- } -- -- os.Remove(tmp) -- } --} -- --func TestSELinux(t *testing.T) { -- var ( -- err error -- plabel, flabel string -- ) -- -- if selinux.SelinuxEnabled() { -- t.Log("Enabled") -- plabel, flabel = selinux.GetLxcContexts() -- t.Log(plabel) -- t.Log(flabel) -- selinux.FreeLxcContexts(plabel) -- plabel, flabel = selinux.GetLxcContexts() -- t.Log(plabel) -- t.Log(flabel) -- selinux.FreeLxcContexts(plabel) -- t.Log("getenforce ", selinux.SelinuxGetEnforce()) -- mode := selinux.SelinuxGetEnforceMode() -- t.Log("getenforcemode ", mode) -- -- defer selinux.SelinuxSetEnforce(mode) -- if err := selinux.SelinuxSetEnforce(selinux.Enforcing); err != nil { -- t.Fatalf("enforcing selinux failed: %v", err) -- } -- if err := selinux.SelinuxSetEnforce(selinux.Permissive); err != nil { -- t.Fatalf("setting selinux mode to permissive failed: %v", err) -- } -- selinux.SelinuxSetEnforce(mode) -- -- pid := os.Getpid() -- t.Logf("PID:%d MCS:%s\n", pid, selinux.IntToMcs(pid, 1023)) -- err = selinux.Setfscreatecon("unconfined_u:unconfined_r:unconfined_t:s0") -- if err == nil { -- t.Log(selinux.Getfscreatecon()) -- } else { -- t.Log("setfscreatecon failed", err) -- t.Fatal(err) -- } -- err = selinux.Setfscreatecon("") -- if err == nil { -- t.Log(selinux.Getfscreatecon()) -- } else { -- t.Log("setfscreatecon failed", err) -- t.Fatal(err) -- } -- t.Log(selinux.Getpidcon(1)) -- } else { -- t.Log("Disabled") -- } --} -diff --git a/libcontainer/setns_init_linux.go b/libcontainer/setns_init_linux.go -index f6e8998..48cc0ae 100644 ---- a/libcontainer/setns_init_linux.go -+++ b/libcontainer/setns_init_linux.go -@@ -8,9 +8,9 @@ import ( - - "github.com/opencontainers/runc/libcontainer/apparmor" - "github.com/opencontainers/runc/libcontainer/keys" -- "github.com/opencontainers/runc/libcontainer/label" - "github.com/opencontainers/runc/libcontainer/seccomp" - "github.com/opencontainers/runc/libcontainer/system" -+ "github.com/opencontainers/selinux/go-selinux/label" - ) - - // linuxSetnsInit performs the container's initialization for running a new process -diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go -index d9cc5e5..ee6f19a 100644 ---- a/libcontainer/standard_init_linux.go -+++ b/libcontainer/standard_init_linux.go -@@ -11,9 +11,9 @@ import ( - "github.com/opencontainers/runc/libcontainer/apparmor" - "github.com/opencontainers/runc/libcontainer/configs" - "github.com/opencontainers/runc/libcontainer/keys" -- "github.com/opencontainers/runc/libcontainer/label" - "github.com/opencontainers/runc/libcontainer/seccomp" - "github.com/opencontainers/runc/libcontainer/system" -+ "github.com/opencontainers/selinux/go-selinux/label" - ) - - type linuxStandardInit struct { -diff --git a/vendor.conf b/vendor.conf -index e3a29d2..75dfca4 100644 ---- a/vendor.conf -+++ b/vendor.conf -@@ -7,6 +7,7 @@ github.com/godbus/dbus c7fdd8b5cd55e87b4e1f4e372cdb1db61dd6c66f - github.com/golang/protobuf/proto f7137ae6b19afbfd61a94b746fda3b3fe0491874 - github.com/mrunalp/fileutils ed869b029674c0e9ce4c0dfa781405c2d9946d08 - github.com/opencontainers/runtime-spec/specs-go 035da1dca3dfbb00d752eb58b0b158d6129f3776 -+github.com/opencontainers/selinux ba1aefe8057f1d0cfb8e88d0ec1dc85925ef987d - github.com/seccomp/libseccomp-golang 32f571b70023028bd57d9288c20efbcb237f3ce0 - github.com/syndtr/gocapability/capability e7cb7fa329f456b3855136a2642b197bad7366ba - github.com/urfave/cli d53eb991652b1d438abdd34ce4bfa3ef1539108e -diff --git a/vendor/github.com/opencontainers/selinux/LICENSE b/vendor/github.com/opencontainers/selinux/LICENSE -new file mode 100644 -index 0000000..8dada3e ---- /dev/null -+++ b/vendor/github.com/opencontainers/selinux/LICENSE -@@ -0,0 +1,201 @@ -+ Apache License -+ Version 2.0, January 2004 -+ http://www.apache.org/licenses/ -+ -+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -+ -+ 1. Definitions. -+ -+ "License" shall mean the terms and conditions for use, reproduction, -+ and distribution as defined by Sections 1 through 9 of this document. -+ -+ "Licensor" shall mean the copyright owner or entity authorized by -+ the copyright owner that is granting the License. -+ -+ "Legal Entity" shall mean the union of the acting entity and all -+ other entities that control, are controlled by, or are under common -+ control with that entity. For the purposes of this definition, -+ "control" means (i) the power, direct or indirect, to cause the -+ direction or management of such entity, whether by contract or -+ otherwise, or (ii) ownership of fifty percent (50%) or more of the -+ outstanding shares, or (iii) beneficial ownership of such entity. -+ -+ "You" (or "Your") shall mean an individual or Legal Entity -+ exercising permissions granted by this License. -+ -+ "Source" form shall mean the preferred form for making modifications, -+ including but not limited to software source code, documentation -+ source, and configuration files. -+ -+ "Object" form shall mean any form resulting from mechanical -+ transformation or translation of a Source form, including but -+ not limited to compiled object code, generated documentation, -+ and conversions to other media types. -+ -+ "Work" shall mean the work of authorship, whether in Source or -+ Object form, made available under the License, as indicated by a -+ copyright notice that is included in or attached to the work -+ (an example is provided in the Appendix below). -+ -+ "Derivative Works" shall mean any work, whether in Source or Object -+ form, that is based on (or derived from) the Work and for which the -+ editorial revisions, annotations, elaborations, or other modifications -+ represent, as a whole, an original work of authorship. For the purposes -+ of this License, Derivative Works shall not include works that remain -+ separable from, or merely link (or bind by name) to the interfaces of, -+ the Work and Derivative Works thereof. -+ -+ "Contribution" shall mean any work of authorship, including -+ the original version of the Work and any modifications or additions -+ to that Work or Derivative Works thereof, that is intentionally -+ submitted to Licensor for inclusion in the Work by the copyright owner -+ or by an individual or Legal Entity authorized to submit on behalf of -+ the copyright owner. For the purposes of this definition, "submitted" -+ means any form of electronic, verbal, or written communication sent -+ to the Licensor or its representatives, including but not limited to -+ communication on electronic mailing lists, source code control systems, -+ and issue tracking systems that are managed by, or on behalf of, the -+ Licensor for the purpose of discussing and improving the Work, but -+ excluding communication that is conspicuously marked or otherwise -+ designated in writing by the copyright owner as "Not a Contribution." -+ -+ "Contributor" shall mean Licensor and any individual or Legal Entity -+ on behalf of whom a Contribution has been received by Licensor and -+ subsequently incorporated within the Work. -+ -+ 2. Grant of Copyright License. Subject to the terms and conditions of -+ this License, each Contributor hereby grants to You a perpetual, -+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable -+ copyright license to reproduce, prepare Derivative Works of, -+ publicly display, publicly perform, sublicense, and distribute the -+ Work and such Derivative Works in Source or Object form. -+ -+ 3. Grant of Patent License. Subject to the terms and conditions of -+ this License, each Contributor hereby grants to You a perpetual, -+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable -+ (except as stated in this section) patent license to make, have made, -+ use, offer to sell, sell, import, and otherwise transfer the Work, -+ where such license applies only to those patent claims licensable -+ by such Contributor that are necessarily infringed by their -+ Contribution(s) alone or by combination of their Contribution(s) -+ with the Work to which such Contribution(s) was submitted. If You -+ institute patent litigation against any entity (including a -+ cross-claim or counterclaim in a lawsuit) alleging that the Work -+ or a Contribution incorporated within the Work constitutes direct -+ or contributory patent infringement, then any patent licenses -+ granted to You under this License for that Work shall terminate -+ as of the date such litigation is filed. -+ -+ 4. Redistribution. You may reproduce and distribute copies of the -+ Work or Derivative Works thereof in any medium, with or without -+ modifications, and in Source or Object form, provided that You -+ meet the following conditions: -+ -+ (a) You must give any other recipients of the Work or -+ Derivative Works a copy of this License; and -+ -+ (b) You must cause any modified files to carry prominent notices -+ stating that You changed the files; and -+ -+ (c) You must retain, in the Source form of any Derivative Works -+ that You distribute, all copyright, patent, trademark, and -+ attribution notices from the Source form of the Work, -+ excluding those notices that do not pertain to any part of -+ the Derivative Works; and -+ -+ (d) If the Work includes a "NOTICE" text file as part of its -+ distribution, then any Derivative Works that You distribute must -+ include a readable copy of the attribution notices contained -+ within such NOTICE file, excluding those notices that do not -+ pertain to any part of the Derivative Works, in at least one -+ of the following places: within a NOTICE text file distributed -+ as part of the Derivative Works; within the Source form or -+ documentation, if provided along with the Derivative Works; or, -+ within a display generated by the Derivative Works, if and -+ wherever such third-party notices normally appear. The contents -+ of the NOTICE file are for informational purposes only and -+ do not modify the License. You may add Your own attribution -+ notices within Derivative Works that You distribute, alongside -+ or as an addendum to the NOTICE text from the Work, provided -+ that such additional attribution notices cannot be construed -+ as modifying the License. -+ -+ You may add Your own copyright statement to Your modifications and -+ may provide additional or different license terms and conditions -+ for use, reproduction, or distribution of Your modifications, or -+ for any such Derivative Works as a whole, provided Your use, -+ reproduction, and distribution of the Work otherwise complies with -+ the conditions stated in this License. -+ -+ 5. Submission of Contributions. Unless You explicitly state otherwise, -+ any Contribution intentionally submitted for inclusion in the Work -+ by You to the Licensor shall be under the terms and conditions of -+ this License, without any additional terms or conditions. -+ Notwithstanding the above, nothing herein shall supersede or modify -+ the terms of any separate license agreement you may have executed -+ with Licensor regarding such Contributions. -+ -+ 6. Trademarks. This License does not grant permission to use the trade -+ names, trademarks, service marks, or product names of the Licensor, -+ except as required for reasonable and customary use in describing the -+ origin of the Work and reproducing the content of the NOTICE file. -+ -+ 7. Disclaimer of Warranty. Unless required by applicable law or -+ agreed to in writing, Licensor provides the Work (and each -+ Contributor provides its Contributions) on an "AS IS" BASIS, -+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -+ implied, including, without limitation, any warranties or conditions -+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A -+ PARTICULAR PURPOSE. You are solely responsible for determining the -+ appropriateness of using or redistributing the Work and assume any -+ risks associated with Your exercise of permissions under this License. -+ -+ 8. Limitation of Liability. In no event and under no legal theory, -+ whether in tort (including negligence), contract, or otherwise, -+ unless required by applicable law (such as deliberate and grossly -+ negligent acts) or agreed to in writing, shall any Contributor be -+ liable to You for damages, including any direct, indirect, special, -+ incidental, or consequential damages of any character arising as a -+ result of this License or out of the use or inability to use the -+ Work (including but not limited to damages for loss of goodwill, -+ work stoppage, computer failure or malfunction, or any and all -+ other commercial damages or losses), even if such Contributor -+ has been advised of the possibility of such damages. -+ -+ 9. Accepting Warranty or Additional Liability. While redistributing -+ the Work or Derivative Works thereof, You may choose to offer, -+ and charge a fee for, acceptance of support, warranty, indemnity, -+ or other liability obligations and/or rights consistent with this -+ License. However, in accepting such obligations, You may act only -+ on Your own behalf and on Your sole responsibility, not on behalf -+ of any other Contributor, and only if You agree to indemnify, -+ defend, and hold each Contributor harmless for any liability -+ incurred by, or claims asserted against, such Contributor by reason -+ of your accepting any such warranty or additional liability. -+ -+ END OF TERMS AND CONDITIONS -+ -+ APPENDIX: How to apply the Apache License to your work. -+ -+ To apply the Apache License to your work, attach the following -+ boilerplate notice, with the fields enclosed by brackets "{}" -+ replaced with your own identifying information. (Don't include -+ the brackets!) The text should be enclosed in the appropriate -+ comment syntax for the file format. We also recommend that a -+ file or class name and description of purpose be included on the -+ same "printed page" as the copyright notice for easier -+ identification within third-party archives. -+ -+ Copyright {yyyy} {name of copyright owner} -+ -+ Licensed under the Apache License, Version 2.0 (the "License"); -+ you may not use this file except in compliance with the License. -+ You may obtain a copy of the License at -+ -+ http://www.apache.org/licenses/LICENSE-2.0 -+ -+ Unless required by applicable law or agreed to in writing, software -+ distributed under the License is distributed on an "AS IS" BASIS, -+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ See the License for the specific language governing permissions and -+ limitations under the License. -diff --git a/vendor/github.com/opencontainers/selinux/README.md b/vendor/github.com/opencontainers/selinux/README.md -new file mode 100644 -index 0000000..043a929 ---- /dev/null -+++ b/vendor/github.com/opencontainers/selinux/README.md -@@ -0,0 +1,7 @@ -+# selinux -+ -+[![GoDoc](https://godoc.org/github.com/opencontainers/selinux?status.svg)](https://godoc.org/github.com/opencontainers/selinux) [![Go Report Card](https://goreportcard.com/badge/github.com/opencontainers/selinux)](https://goreportcard.com/report/github.com/opencontainers/selinux) [![Build Status](https://travis-ci.org/opencontainers/selinux.svg?branch=master)](https://travis-ci.org/opencontainers/selinux) -+ -+Common SELinux package used across the container ecosystem. -+ -+Please see the [godoc](https://godoc.org/github.com/opencontainers/selinux) for more information. -diff --git a/vendor/github.com/opencontainers/selinux/go-selinux/label/label.go b/vendor/github.com/opencontainers/selinux/go-selinux/label/label.go -new file mode 100644 -index 0000000..6cfc5fd ---- /dev/null -+++ b/vendor/github.com/opencontainers/selinux/go-selinux/label/label.go -@@ -0,0 +1,84 @@ -+// +build !selinux !linux -+ -+package label -+ -+// InitLabels returns the process label and file labels to be used within -+// the container. A list of options can be passed into this function to alter -+// the labels. -+func InitLabels(options []string) (string, string, error) { -+ return "", "", nil -+} -+ -+func GetROMountLabel() string { -+ return "" -+} -+ -+func GenLabels(options string) (string, string, error) { -+ return "", "", nil -+} -+ -+func FormatMountLabel(src string, mountLabel string) string { -+ return src -+} -+ -+func SetProcessLabel(processLabel string) error { -+ return nil -+} -+ -+func GetFileLabel(path string) (string, error) { -+ return "", nil -+} -+ -+func SetFileLabel(path string, fileLabel string) error { -+ return nil -+} -+ -+func SetFileCreateLabel(fileLabel string) error { -+ return nil -+} -+ -+func Relabel(path string, fileLabel string, shared bool) error { -+ return nil -+} -+ -+func GetPidLabel(pid int) (string, error) { -+ return "", nil -+} -+ -+func Init() { -+} -+ -+func ReserveLabel(label string) error { -+ return nil -+} -+ -+func ReleaseLabel(label string) error { -+ return nil -+} -+ -+// DupSecOpt takes a process label and returns security options that -+// can be used to set duplicate labels on future container processes -+func DupSecOpt(src string) []string { -+ return nil -+} -+ -+// DisableSecOpt returns a security opt that can disable labeling -+// support for future container processes -+func DisableSecOpt() []string { -+ return nil -+} -+ -+// Validate checks that the label does not include unexpected options -+func Validate(label string) error { -+ return nil -+} -+ -+// RelabelNeeded checks whether the user requested a relabel -+func RelabelNeeded(label string) bool { -+ return false -+} -+ -+// IsShared checks that the label includes a "shared" mark -+func IsShared(label string) bool { -+ return false -+} -diff --git a/vendor/github.com/opencontainers/selinux/go-selinux/label/label_selinux.go b/vendor/github.com/opencontainers/selinux/go-selinux/label/label_selinux.go -new file mode 100644 -index 0000000..569dcf0 ---- /dev/null -+++ b/vendor/github.com/opencontainers/selinux/go-selinux/label/label_selinux.go -@@ -0,0 +1,204 @@ -+// +build selinux,linux -+ -+package label -+ -+import ( -+ "fmt" -+ "strings" -+ -+ "github.com/opencontainers/selinux/go-selinux" -+) -+ -+// Valid Label Options -+var validOptions = map[string]bool{ -+ "disable": true, -+ "type": true, -+ "user": true, -+ "role": true, -+ "level": true, -+} -+ -+var ErrIncompatibleLabel = fmt.Errorf("Bad SELinux option z and Z can not be used together") -+ -+// InitLabels returns the process label and file labels to be used within -+// the container. A list of options can be passed into this function to alter -+// the labels. The labels returned will include a random MCS String, that is -+// guaranteed to be unique. -+func InitLabels(options []string) (string, string, error) { -+ if !selinux.GetEnabled() { -+ return "", "", nil -+ } -+ processLabel, mountLabel := selinux.ContainerLabels() -+ if processLabel != "" { -+ pcon := selinux.NewContext(processLabel) -+ mcon := selinux.NewContext(mountLabel) -+ for _, opt := range options { -+ if opt == "disable" { -+ return "", "", nil -+ } -+ if i := strings.Index(opt, ":"); i == -1 { -+ return "", "", fmt.Errorf("Bad label option %q, valid options 'disable' or \n'user, role, level, type' followed by ':' and a value", opt) -+ } -+ con := strings.SplitN(opt, ":", 2) -+ if !validOptions[con[0]] { -+ return "", "", fmt.Errorf("Bad label option %q, valid options 'disable, user, role, level, type'", con[0]) -+ -+ } -+ pcon[con[0]] = con[1] -+ if con[0] == "level" || con[0] == "user" { -+ mcon[con[0]] = con[1] -+ } -+ } -+ processLabel = pcon.Get() -+ mountLabel = mcon.Get() -+ } -+ return processLabel, mountLabel, nil -+} -+ -+func ROMountLabel() string { -+ return selinux.ROFileLabel() -+} -+ -+// DEPRECATED: The GenLabels function is only to be used during the transition to the official API. -+func GenLabels(options string) (string, string, error) { -+ return InitLabels(strings.Fields(options)) -+} -+ -+// FormatMountLabel returns a string to be used by the mount command. -+// The format of this string will be used to alter the labeling of the mountpoint. -+// The string returned is suitable to be used as the options field of the mount command. -+// If you need to have additional mount point options, you can pass them in as -+// the first parameter. Second parameter is the label that you wish to apply -+// to all content in the mount point. -+func FormatMountLabel(src, mountLabel string) string { -+ if mountLabel != "" { -+ switch src { -+ case "": -+ src = fmt.Sprintf("context=%q", mountLabel) -+ default: -+ src = fmt.Sprintf("%s,context=%q", src, mountLabel) -+ } -+ } -+ return src -+} -+ -+// SetProcessLabel takes a process label and tells the kernel to assign the -+// label to the next program executed by the current process. -+func SetProcessLabel(processLabel string) error { -+ if processLabel == "" { -+ return nil -+ } -+ return selinux.SetExecLabel(processLabel) -+} -+ -+// ProcessLabel returns the process label that the kernel will assign -+// to the next program executed by the current process. If "" is returned -+// this indicates that the default labeling will happen for the process. -+func ProcessLabel() (string, error) { -+ return selinux.ExecLabel() -+} -+ -+// GetFileLabel returns the label for specified path -+func FileLabel(path string) (string, error) { -+ return selinux.FileLabel(path) -+} -+ -+// SetFileLabel modifies the "path" label to the specified file label -+func SetFileLabel(path string, fileLabel string) error { -+ if selinux.GetEnabled() && fileLabel != "" { -+ return selinux.SetFileLabel(path, fileLabel) -+ } -+ return nil -+} -+ -+// SetFileCreateLabel tells the kernel the label for all files to be created -+func SetFileCreateLabel(fileLabel string) error { -+ if selinux.GetEnabled() { -+ return selinux.SetFSCreateLabel(fileLabel) -+ } -+ return nil -+} -+ -+// Relabel changes the label of path to the filelabel string. -+// It changes the MCS label to s0 if shared is true. -+// This will allow all containers to share the content. -+func Relabel(path string, fileLabel string, shared bool) error { -+ if !selinux.GetEnabled() { -+ return nil -+ } -+ -+ if fileLabel == "" { -+ return nil -+ } -+ -+ exclude_paths := map[string]bool{"/": true, "/usr": true, "/etc": true} -+ if exclude_paths[path] { -+ return fmt.Errorf("SELinux relabeling of %s is not allowed", path) -+ } -+ -+ if shared { -+ c := selinux.NewContext(fileLabel) -+ c["level"] = "s0" -+ fileLabel = c.Get() -+ } -+ if err := selinux.Chcon(path, fileLabel, true); err != nil { -+ return err -+ } -+ return nil -+} -+ -+// PidLabel will return the label of the process running with the specified pid -+func PidLabel(pid int) (string, error) { -+ return selinux.PidLabel(pid) -+} -+ -+// Init initialises the labeling system -+func Init() { -+ selinux.GetEnabled() -+} -+ -+// ReserveLabel will record the fact that the MCS label has already been used. -+// This will prevent InitLabels from using the MCS label in a newly created -+// container -+func ReserveLabel(label string) error { -+ selinux.ReserveLabel(label) -+ return nil -+} -+ -+// ReleaseLabel will remove the reservation of the MCS label. -+// This will allow InitLabels to use the MCS label in a newly created -+// containers -+func ReleaseLabel(label string) error { -+ selinux.ReleaseLabel(label) -+ return nil -+} -+ -+// DupSecOpt takes a process label and returns security options that -+// can be used to set duplicate labels on future container processes -+func DupSecOpt(src string) []string { -+ return selinux.DupSecOpt(src) -+} -+ -+// DisableSecOpt returns a security opt that can disable labeling -+// support for future container processes -+func DisableSecOpt() []string { -+ return selinux.DisableSecOpt() -+} -+ -+// Validate checks that the label does not include unexpected options -+func Validate(label string) error { -+ if strings.Contains(label, "z") && strings.Contains(label, "Z") { -+ return ErrIncompatibleLabel -+ } -+ return nil -+} -+ -+// RelabelNeeded checks whether the user requested a relabel -+func RelabelNeeded(label string) bool { -+ return strings.Contains(label, "z") || strings.Contains(label, "Z") -+} -+ -+// IsShared checks that the label includes a "shared" mark -+func IsShared(label string) bool { -+ return strings.Contains(label, "z") -+} -diff --git a/vendor/github.com/opencontainers/selinux/go-selinux/selinux.go b/vendor/github.com/opencontainers/selinux/go-selinux/selinux.go -new file mode 100644 -index 0000000..4cf2c45 ---- /dev/null -+++ b/vendor/github.com/opencontainers/selinux/go-selinux/selinux.go -@@ -0,0 +1,593 @@ -+// +build linux -+ -+package selinux -+ -+import ( -+ "bufio" -+ "crypto/rand" -+ "encoding/binary" -+ "fmt" -+ "io" -+ "os" -+ "path/filepath" -+ "regexp" -+ "strconv" -+ "strings" -+ "sync" -+ "syscall" -+) -+ -+const ( -+ // Enforcing constant indicate SELinux is in enforcing mode -+ Enforcing = 1 -+ // Permissive constant to indicate SELinux is in permissive mode -+ Permissive = 0 -+ // Disabled constant to indicate SELinux is disabled -+ Disabled = -1 -+ selinuxDir = "/etc/selinux/" -+ selinuxConfig = selinuxDir + "config" -+ selinuxTypeTag = "SELINUXTYPE" -+ selinuxTag = "SELINUX" -+ selinuxPath = "/sys/fs/selinux" -+ xattrNameSelinux = "security.selinux" -+ stRdOnly = 0x01 -+) -+ -+type selinuxState struct { -+ enabledSet bool -+ enabled bool -+ selinuxfsSet bool -+ selinuxfs string -+ mcsList map[string]bool -+ sync.Mutex -+} -+ -+var ( -+ assignRegex = regexp.MustCompile(`^([^=]+)=(.*)$`) -+ state = selinuxState{ -+ mcsList: make(map[string]bool), -+ } -+) -+ -+// Context is a representation of the SELinux label broken into 4 parts -+type Context map[string]string -+ -+func (s *selinuxState) setEnable(enabled bool) bool { -+ s.Lock() -+ defer s.Unlock() -+ s.enabledSet = true -+ s.enabled = enabled -+ return s.enabled -+} -+ -+func (s *selinuxState) getEnabled() bool { -+ s.Lock() -+ enabled := s.enabled -+ enabledSet := s.enabledSet -+ s.Unlock() -+ if enabledSet { -+ return enabled -+ } -+ -+ enabled = false -+ if fs := getSelinuxMountPoint(); fs != "" { -+ if con, _ := CurrentLabel(); con != "kernel" { -+ enabled = true -+ } -+ } -+ return s.setEnable(enabled) -+} -+ -+// SetDisabled disables selinux support for the package -+func SetDisabled() { -+ state.setEnable(false) -+} -+ -+func (s *selinuxState) setSELinuxfs(selinuxfs string) string { -+ s.Lock() -+ defer s.Unlock() -+ s.selinuxfsSet = true -+ s.selinuxfs = selinuxfs -+ return s.selinuxfs -+} -+ -+func (s *selinuxState) getSELinuxfs() string { -+ s.Lock() -+ selinuxfs := s.selinuxfs -+ selinuxfsSet := s.selinuxfsSet -+ s.Unlock() -+ if selinuxfsSet { -+ return selinuxfs -+ } -+ -+ selinuxfs = "" -+ f, err := os.Open("/proc/self/mountinfo") -+ if err != nil { -+ return selinuxfs -+ } -+ defer f.Close() -+ -+ scanner := bufio.NewScanner(f) -+ for scanner.Scan() { -+ txt := scanner.Text() -+ // Safe as mountinfo encodes mountpoints with spaces as \040. -+ sepIdx := strings.Index(txt, " - ") -+ if sepIdx == -1 { -+ continue -+ } -+ if !strings.Contains(txt[sepIdx:], "selinuxfs") { -+ continue -+ } -+ fields := strings.Split(txt, " ") -+ if len(fields) < 5 { -+ continue -+ } -+ selinuxfs = fields[4] -+ break -+ } -+ -+ if selinuxfs != "" { -+ var buf syscall.Statfs_t -+ syscall.Statfs(selinuxfs, &buf) -+ if (buf.Flags & stRdOnly) == 1 { -+ selinuxfs = "" -+ } -+ } -+ return s.setSELinuxfs(selinuxfs) -+} -+ -+// getSelinuxMountPoint returns the path to the mountpoint of an selinuxfs -+// filesystem or an empty string if no mountpoint is found. Selinuxfs is -+// a proc-like pseudo-filesystem that exposes the selinux policy API to -+// processes. The existence of an selinuxfs mount is used to determine -+// whether selinux is currently enabled or not. -+func getSelinuxMountPoint() string { -+ return state.getSELinuxfs() -+} -+ -+// GetEnabled returns whether selinux is currently enabled. -+func GetEnabled() bool { -+ return state.getEnabled() -+} -+ -+func readConfig(target string) (value string) { -+ var ( -+ val, key string -+ bufin *bufio.Reader -+ ) -+ -+ in, err := os.Open(selinuxConfig) -+ if err != nil { -+ return "" -+ } -+ defer in.Close() -+ -+ bufin = bufio.NewReader(in) -+ -+ for done := false; !done; { -+ var line string -+ if line, err = bufin.ReadString('\n'); err != nil { -+ if err != io.EOF { -+ return "" -+ } -+ done = true -+ } -+ line = strings.TrimSpace(line) -+ if len(line) == 0 { -+ // Skip blank lines -+ continue -+ } -+ if line[0] == ';' || line[0] == '#' { -+ // Skip comments -+ continue -+ } -+ if groups := assignRegex.FindStringSubmatch(line); groups != nil { -+ key, val = strings.TrimSpace(groups[1]), strings.TrimSpace(groups[2]) -+ if key == target { -+ return strings.Trim(val, "\"") -+ } -+ } -+ } -+ return "" -+} -+ -+func getSELinuxPolicyRoot() string { -+ return selinuxDir + readConfig(selinuxTypeTag) -+} -+ -+func readCon(name string) (string, error) { -+ var val string -+ -+ in, err := os.Open(name) -+ if err != nil { -+ return "", err -+ } -+ defer in.Close() -+ -+ _, err = fmt.Fscanf(in, "%s", &val) -+ return val, err -+} -+ -+// SetFileLabel sets the SELinux label for this path or returns an error. -+func SetFileLabel(path string, label string) error { -+ return lsetxattr(path, xattrNameSelinux, []byte(label), 0) -+} -+ -+// Filecon returns the SELinux label for this path or returns an error. -+func FileLabel(path string) (string, error) { -+ label, err := lgetxattr(path, xattrNameSelinux) -+ if err != nil { -+ return "", err -+ } -+ // Trim the NUL byte at the end of the byte buffer, if present. -+ if len(label) > 0 && label[len(label)-1] == '\x00' { -+ label = label[:len(label)-1] -+ } -+ return string(label), nil -+} -+ -+/* -+SetFSCreateLabel tells kernel the label to create all file system objects -+created by this task. Setting label="" to return to default. -+*/ -+func SetFSCreateLabel(label string) error { -+ return writeCon(fmt.Sprintf("/proc/self/task/%d/attr/fscreate", syscall.Gettid()), label) -+} -+ -+/* -+FSCreateLabel returns the default label the kernel which the kernel is using -+for file system objects created by this task. "" indicates default. -+*/ -+func FSCreateLabel() (string, error) { -+ return readCon(fmt.Sprintf("/proc/self/task/%d/attr/fscreate", syscall.Gettid())) -+} -+ -+// CurrentLabel returns the SELinux label of the current process thread, or an error. -+func CurrentLabel() (string, error) { -+ return readCon(fmt.Sprintf("/proc/self/task/%d/attr/current", syscall.Gettid())) -+} -+ -+// PidLabel returns the SELinux label of the given pid, or an error. -+func PidLabel(pid int) (string, error) { -+ return readCon(fmt.Sprintf("/proc/%d/attr/current", pid)) -+} -+ -+/* -+ExecLabel returns the SELinux label that the kernel will use for any programs -+that are executed by the current process thread, or an error. -+*/ -+func ExecLabel() (string, error) { -+ return readCon(fmt.Sprintf("/proc/self/task/%d/attr/exec", syscall.Gettid())) -+} -+ -+func writeCon(name string, val string) error { -+ out, err := os.OpenFile(name, os.O_WRONLY, 0) -+ if err != nil { -+ return err -+ } -+ defer out.Close() -+ -+ if val != "" { -+ _, err = out.Write([]byte(val)) -+ } else { -+ _, err = out.Write(nil) -+ } -+ return err -+} -+ -+/* -+SetExecLabel sets the SELinux label that the kernel will use for any programs -+that are executed by the current process thread, or an error. -+*/ -+func SetExecLabel(label string) error { -+ return writeCon(fmt.Sprintf("/proc/self/task/%d/attr/exec", syscall.Gettid()), label) -+} -+ -+// Get returns the Context as a string -+func (c Context) Get() string { -+ return fmt.Sprintf("%s:%s:%s:%s", c["user"], c["role"], c["type"], c["level"]) -+} -+ -+// NewContext creates a new Context struct from the specified label -+func NewContext(label string) Context { -+ c := make(Context) -+ -+ if len(label) != 0 { -+ con := strings.SplitN(label, ":", 4) -+ c["user"] = con[0] -+ c["role"] = con[1] -+ c["type"] = con[2] -+ c["level"] = con[3] -+ } -+ return c -+} -+ -+// ReserveLabel reserves the MLS/MCS level component of the specified label -+func ReserveLabel(label string) { -+ if len(label) != 0 { -+ con := strings.SplitN(label, ":", 4) -+ mcsAdd(con[3]) -+ } -+} -+ -+func selinuxEnforcePath() string { -+ return fmt.Sprintf("%s/enforce", selinuxPath) -+} -+ -+// EnforceMode returns the current SELinux mode Enforcing, Permissive, Disabled -+func EnforceMode() int { -+ var enforce int -+ -+ enforceS, err := readCon(selinuxEnforcePath()) -+ if err != nil { -+ return -1 -+ } -+ -+ enforce, err = strconv.Atoi(string(enforceS)) -+ if err != nil { -+ return -1 -+ } -+ return enforce -+} -+ -+/* -+SetEnforce sets the current SELinux mode Enforcing, Permissive. -+Disabled is not valid, since this needs to be set at boot time. -+*/ -+func SetEnforceMode(mode int) error { -+ return writeCon(selinuxEnforcePath(), fmt.Sprintf("%d", mode)) -+} -+ -+/* -+DefaultEnforceMode returns the systems default SELinux mode Enforcing, -+Permissive or Disabled. Note this is is just the default at boot time. -+EnforceMode tells you the systems current mode. -+*/ -+func DefaultEnforceMode() int { -+ switch readConfig(selinuxTag) { -+ case "enforcing": -+ return Enforcing -+ case "permissive": -+ return Permissive -+ } -+ return Disabled -+} -+ -+func mcsAdd(mcs string) error { -+ state.Lock() -+ defer state.Unlock() -+ if state.mcsList[mcs] { -+ return fmt.Errorf("MCS Label already exists") -+ } -+ state.mcsList[mcs] = true -+ return nil -+} -+ -+func mcsDelete(mcs string) { -+ state.Lock() -+ defer state.Unlock() -+ state.mcsList[mcs] = false -+} -+ -+func intToMcs(id int, catRange uint32) string { -+ var ( -+ SETSIZE = int(catRange) -+ TIER = SETSIZE -+ ORD = id -+ ) -+ -+ if id < 1 || id > 523776 { -+ return "" -+ } -+ -+ for ORD > TIER { -+ ORD = ORD - TIER -+ TIER-- -+ } -+ TIER = SETSIZE - TIER -+ ORD = ORD + TIER -+ return fmt.Sprintf("s0:c%d,c%d", TIER, ORD) -+} -+ -+func uniqMcs(catRange uint32) string { -+ var ( -+ n uint32 -+ c1, c2 uint32 -+ mcs string -+ ) -+ -+ for { -+ binary.Read(rand.Reader, binary.LittleEndian, &n) -+ c1 = n % catRange -+ binary.Read(rand.Reader, binary.LittleEndian, &n) -+ c2 = n % catRange -+ if c1 == c2 { -+ continue -+ } else { -+ if c1 > c2 { -+ c1, c2 = c2, c1 -+ } -+ } -+ mcs = fmt.Sprintf("s0:c%d,c%d", c1, c2) -+ if err := mcsAdd(mcs); err != nil { -+ continue -+ } -+ break -+ } -+ return mcs -+} -+ -+/* -+ReleaseLabel will unreserve the MLS/MCS Level field of the specified label. -+Allowing it to be used by another process. -+*/ -+func ReleaseLabel(label string) { -+ if len(label) != 0 { -+ con := strings.SplitN(label, ":", 4) -+ mcsDelete(con[3]) -+ } -+} -+ -+var roFileLabel string -+ -+// ROFileLabel returns the specified SELinux readonly file label -+func ROFileLabel() (fileLabel string) { -+ return roFileLabel -+} -+ -+/* -+ContainerLabels returns an allocated processLabel and fileLabel to be used for -+container labeling by the calling process. -+*/ -+func ContainerLabels() (processLabel string, fileLabel string) { -+ var ( -+ val, key string -+ bufin *bufio.Reader -+ ) -+ -+ if !GetEnabled() { -+ return "", "" -+ } -+ lxcPath := fmt.Sprintf("%s/contexts/lxc_contexts", getSELinuxPolicyRoot()) -+ in, err := os.Open(lxcPath) -+ if err != nil { -+ return "", "" -+ } -+ defer in.Close() -+ -+ bufin = bufio.NewReader(in) -+ -+ for done := false; !done; { -+ var line string -+ if line, err = bufin.ReadString('\n'); err != nil { -+ if err == io.EOF { -+ done = true -+ } else { -+ goto exit -+ } -+ } -+ line = strings.TrimSpace(line) -+ if len(line) == 0 { -+ // Skip blank lines -+ continue -+ } -+ if line[0] == ';' || line[0] == '#' { -+ // Skip comments -+ continue -+ } -+ if groups := assignRegex.FindStringSubmatch(line); groups != nil { -+ key, val = strings.TrimSpace(groups[1]), strings.TrimSpace(groups[2]) -+ if key == "process" { -+ processLabel = strings.Trim(val, "\"") -+ } -+ if key == "file" { -+ fileLabel = strings.Trim(val, "\"") -+ } -+ if key == "ro_file" { -+ roFileLabel = strings.Trim(val, "\"") -+ } -+ } -+ } -+ -+ if processLabel == "" || fileLabel == "" { -+ return "", "" -+ } -+ -+ if roFileLabel == "" { -+ roFileLabel = fileLabel -+ } -+exit: -+ mcs := uniqMcs(1024) -+ scon := NewContext(processLabel) -+ scon["level"] = mcs -+ processLabel = scon.Get() -+ scon = NewContext(fileLabel) -+ scon["level"] = mcs -+ fileLabel = scon.Get() -+ return processLabel, fileLabel -+} -+ -+// SecurityCheckContext validates that the SELinux label is understood by the kernel -+func SecurityCheckContext(val string) error { -+ return writeCon(fmt.Sprintf("%s.context", selinuxPath), val) -+} -+ -+/* -+CopyLevel returns a label with the MLS/MCS level from src label replaces on -+the dest label. -+*/ -+func CopyLevel(src, dest string) (string, error) { -+ if src == "" { -+ return "", nil -+ } -+ if err := SecurityCheckContext(src); err != nil { -+ return "", err -+ } -+ if err := SecurityCheckContext(dest); err != nil { -+ return "", err -+ } -+ scon := NewContext(src) -+ tcon := NewContext(dest) -+ mcsDelete(tcon["level"]) -+ mcsAdd(scon["level"]) -+ tcon["level"] = scon["level"] -+ return tcon.Get(), nil -+} -+ -+// Prevent users from relabing system files -+func badPrefix(fpath string) error { -+ var badprefixes = []string{"/usr"} -+ -+ for _, prefix := range badprefixes { -+ if fpath == prefix || strings.HasPrefix(fpath, fmt.Sprintf("%s/", prefix)) { -+ return fmt.Errorf("relabeling content in %s is not allowed", prefix) -+ } -+ } -+ return nil -+} -+ -+// Chcon changes the fpath file object to the SELinux label label. -+// If the fpath is a directory and recurse is true Chcon will walk the -+// directory tree setting the label -+func Chcon(fpath string, label string, recurse bool) error { -+ if label == "" { -+ return nil -+ } -+ if err := badPrefix(fpath); err != nil { -+ return err -+ } -+ callback := func(p string, info os.FileInfo, err error) error { -+ return SetFileLabel(p, label) -+ } -+ -+ if recurse { -+ return filepath.Walk(fpath, callback) -+ } -+ -+ return SetFileLabel(fpath, label) -+} -+ -+// DupSecOpt takes an SELinux process label and returns security options that -+// can will set the SELinux Type and Level for future container processes -+func DupSecOpt(src string) []string { -+ if src == "" { -+ return nil -+ } -+ con := NewContext(src) -+ if con["user"] == "" || -+ con["role"] == "" || -+ con["type"] == "" || -+ con["level"] == "" { -+ return nil -+ } -+ return []string{"user:" + con["user"], -+ "role:" + con["role"], -+ "type:" + con["type"], -+ "level:" + con["level"]} -+} -+ -+// DisableSecOpt returns a security opt that can be used to disabling SELinux -+// labeling support for future container processes -+func DisableSecOpt() []string { -+ return []string{"disable"} -+} -diff --git a/vendor/github.com/opencontainers/selinux/go-selinux/xattrs.go b/vendor/github.com/opencontainers/selinux/go-selinux/xattrs.go -new file mode 100644 -index 0000000..7f2ef85 ---- /dev/null -+++ b/vendor/github.com/opencontainers/selinux/go-selinux/xattrs.go -@@ -0,0 +1,78 @@ -+// +build linux -+ -+package selinux -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _zero uintptr -+ -+// Returns a []byte slice if the xattr is set and nil otherwise -+// Requires path and its attribute as arguments -+func lgetxattr(path string, attr string) ([]byte, error) { -+ var sz int -+ pathBytes, err := syscall.BytePtrFromString(path) -+ if err != nil { -+ return nil, err -+ } -+ attrBytes, err := syscall.BytePtrFromString(attr) -+ if err != nil { -+ return nil, err -+ } -+ -+ // Start with a 128 length byte array -+ sz = 128 -+ dest := make([]byte, sz) -+ destBytes := unsafe.Pointer(&dest[0]) -+ _sz, _, errno := syscall.Syscall6(syscall.SYS_LGETXATTR, uintptr(unsafe.Pointer(pathBytes)), uintptr(unsafe.Pointer(attrBytes)), uintptr(destBytes), uintptr(len(dest)), 0, 0) -+ -+ switch { -+ case errno == syscall.ENODATA: -+ return nil, errno -+ case errno == syscall.ENOTSUP: -+ return nil, errno -+ case errno == syscall.ERANGE: -+ // 128 byte array might just not be good enough, -+ // A dummy buffer is used ``uintptr(0)`` to get real size -+ // of the xattrs on disk -+ _sz, _, errno = syscall.Syscall6(syscall.SYS_LGETXATTR, uintptr(unsafe.Pointer(pathBytes)), uintptr(unsafe.Pointer(attrBytes)), uintptr(unsafe.Pointer(nil)), uintptr(0), 0, 0) -+ sz = int(_sz) -+ if sz < 0 { -+ return nil, errno -+ } -+ dest = make([]byte, sz) -+ destBytes := unsafe.Pointer(&dest[0]) -+ _sz, _, errno = syscall.Syscall6(syscall.SYS_LGETXATTR, uintptr(unsafe.Pointer(pathBytes)), uintptr(unsafe.Pointer(attrBytes)), uintptr(destBytes), uintptr(len(dest)), 0, 0) -+ if errno != 0 { -+ return nil, errno -+ } -+ case errno != 0: -+ return nil, errno -+ } -+ sz = int(_sz) -+ return dest[:sz], nil -+} -+ -+func lsetxattr(path string, attr string, data []byte, flags int) error { -+ pathBytes, err := syscall.BytePtrFromString(path) -+ if err != nil { -+ return err -+ } -+ attrBytes, err := syscall.BytePtrFromString(attr) -+ if err != nil { -+ return err -+ } -+ var dataBytes unsafe.Pointer -+ if len(data) > 0 { -+ dataBytes = unsafe.Pointer(&data[0]) -+ } else { -+ dataBytes = unsafe.Pointer(&_zero) -+ } -+ _, _, errno := syscall.Syscall6(syscall.SYS_LSETXATTR, uintptr(unsafe.Pointer(pathBytes)), uintptr(unsafe.Pointer(attrBytes)), uintptr(dataBytes), uintptr(len(data)), uintptr(flags), 0) -+ if errno != 0 { -+ return errno -+ } -+ return nil -+} --- -2.7.4.3 - diff --git a/patch/0003-runc-add-timeout-for-syscall.Openat.patch b/patch/0003-runc-add-timeout-for-syscall.Openat.patch new file mode 100644 index 0000000..974f8c5 --- /dev/null +++ b/patch/0003-runc-add-timeout-for-syscall.Openat.patch @@ -0,0 +1,60 @@ +From 1c953cdee5aa6c677bef7c7042dbec6fc9ddf172 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:18:37 +0800 +Subject: [PATCH] runc:add timeout for syscall.Openat + +--- + libcontainer/standard_init_linux.go | 29 ++++++++++++++++++++++------- + 1 file changed, 22 insertions(+), 7 deletions(-) + +diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go +index 585a04f..ab553ef 100644 +--- a/libcontainer/standard_init_linux.go ++++ b/libcontainer/standard_init_linux.go +@@ -6,6 +6,7 @@ import ( + "os" + "os/exec" + "strconv" ++ "time" + + "github.com/opencontainers/runtime-spec/specs-go" + "github.com/opencontainers/selinux/go-selinux" +@@ -227,14 +228,28 @@ func (l *linuxStandardInit) Init() error { + // was given to us was an O_PATH fd to the fifo itself. Linux allows us to + // re-open an O_PATH fd through /proc. + fifoPath := "/proc/self/fd/" + strconv.Itoa(l.fifoFd) +- fd, err := unix.Open(fifoPath, unix.O_WRONLY|unix.O_CLOEXEC, 0) +- if err != nil { +- return &os.PathError{Op: "open exec fifo", Path: fifoPath, Err: err} +- } +- if _, err := unix.Write(fd, []byte("0")); err != nil { +- return &os.PathError{Op: "write exec fifo", Path: fifoPath, Err: err} +- } ++ ch := make(chan error, 1) ++ go func() { ++ fd, err := unix.Open(fifoPath, unix.O_WRONLY|unix.O_CLOEXEC, 0) ++ if err != nil { ++ ch <- &os.PathError{Op: "open exec fifo", Path: fifoPath, Err: err} ++ return ++ } ++ if _, err := unix.Write(fd, []byte("0")); err != nil { ++ ch <- &os.PathError{Op: "write exec fifo", Path: fifoPath, Err: err} ++ return ++ } ++ ch <- nil ++ }() + ++ select { ++ case chErr := <- ch: ++ if chErr != nil { ++ return chErr ++ } ++ case <- time.After(120 * time.Second): ++ return fmt.Errorf("wait for the fifo to be opened on the other side timeout ") ++ } + // Close the O_PATH fifofd fd before exec because the kernel resets + // dumpable in the wrong order. This has been fixed in newer kernels, but + // we keep this to ensure CVE-2016-9962 doesn't re-emerge on older kernels. +-- +2.30.0 + diff --git a/patch/0004-handle-unprivileged-operations-and-dumpable.patch b/patch/0004-handle-unprivileged-operations-and-dumpable.patch deleted file mode 100644 index 9b00158..0000000 --- a/patch/0004-handle-unprivileged-operations-and-dumpable.patch +++ /dev/null @@ -1,272 +0,0 @@ -From 511eb03806523b4f51cbde7daedd563a3b5810e4 Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Tue, 17 Jan 2017 12:25:21 +1100 -Subject: [PATCH 04/94] *: handle unprivileged operations and - !dumpable - -Effectively, !dumpable makes implementing rootless containers quite -hard, due to a bunch of different operations on /proc/self no longer -being possible without reordering everything. - -!dumpable only really makes sense when you are switching between -different security contexts, which is only the case when we are joining -namespaces. Unfortunately this means that !dumpable will still have -issues in this instance, and it should only be necessary to set -!dumpable if we are not joining USER namespaces (new kernels have -protections that make !dumpable no longer necessary). But that's a topic -for another time. - -This also includes code to unset and then re-set dumpable when doing the -USER namespace mappings. This should also be safe because in principle -processes in a container can't see us until after we fork into the PID -namespace (which happens after the user mapping). - -In rootless containers, it is not possible to set a non-dumpable -process's /proc/self/oom_score_adj (it's owned by root and thus not -writeable). Thus, it needs to be set inside nsexec before we set -ourselves as non-dumpable. - -Change-Id: Iab9e2d9bf3997284253b4b33a504e8581fd787ae -Signed-off-by: Aleksa Sarai ---- - libcontainer/container_linux.go | 6 ++++ - libcontainer/init_linux.go | 8 ------ - libcontainer/message_linux.go | 14 +++++---- - libcontainer/nsenter/nsexec.c | 64 ++++++++++++++++++++++++++++++++++------- - libcontainer/process_linux.go | 8 ------ - 5 files changed, 68 insertions(+), 32 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index cd9235d..d2e0e2b 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -1460,5 +1460,11 @@ func (c *linuxContainer) bootstrapData(cloneFlags uintptr, nsMaps map[configs.Na - } - } - -+ // write oom_score_adj -+ r.AddData(&Bytemsg{ -+ Type: OomScoreAdjAttr, -+ Value: []byte(fmt.Sprintf("%d", c.config.OomScoreAdj)), -+ }) -+ - return bytes.NewReader(r.Serialize()), nil - } -diff --git a/libcontainer/init_linux.go b/libcontainer/init_linux.go -index 39b83a4..0f5d412 100644 ---- a/libcontainer/init_linux.go -+++ b/libcontainer/init_linux.go -@@ -6,10 +6,8 @@ import ( - "encoding/json" - "fmt" - "io" -- "io/ioutil" - "net" - "os" -- "strconv" - "strings" - "syscall" - "unsafe" -@@ -369,12 +367,6 @@ func setupRlimits(limits []configs.Rlimit, pid int) error { - return nil - } - --func setOomScoreAdj(oomScoreAdj int, pid int) error { -- path := fmt.Sprintf("/proc/%d/oom_score_adj", pid) -- -- return ioutil.WriteFile(path, []byte(strconv.Itoa(oomScoreAdj)), 0600) --} -- - const _P_PID = 1 - - type siginfo struct { -diff --git a/libcontainer/message_linux.go b/libcontainer/message_linux.go -index a189c72..321d664 100644 ---- a/libcontainer/message_linux.go -+++ b/libcontainer/message_linux.go -@@ -11,12 +11,14 @@ import ( - // list of known message types we want to send to bootstrap program - // The number is randomly chosen to not conflict with known netlink types - const ( -- InitMsg uint16 = 62000 -- CloneFlagsAttr uint16 = 27281 -- NsPathsAttr uint16 = 27282 -- UidmapAttr uint16 = 27283 -- GidmapAttr uint16 = 27284 -- SetgroupAttr uint16 = 27285 -+ InitMsg uint16 = 62000 -+ CloneFlagsAttr uint16 = 27281 -+ NsPathsAttr uint16 = 27282 -+ UidmapAttr uint16 = 27283 -+ GidmapAttr uint16 = 27284 -+ SetgroupAttr uint16 = 27285 -+ OomScoreAdjAttr uint16 = 27286 -+ - // When syscall.NLA_HDRLEN is in gccgo, take this out. - syscall_NLA_HDRLEN = (syscall.SizeofNlAttr + syscall.NLA_ALIGNTO - 1) & ^(syscall.NLA_ALIGNTO - 1) - ) -diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c -index 51bd1e3..9630206 100644 ---- a/libcontainer/nsenter/nsexec.c -+++ b/libcontainer/nsenter/nsexec.c -@@ -72,18 +72,21 @@ struct nlconfig_t { - char *namespaces; - size_t namespaces_len; - uint8_t is_setgroup; -+ char *oom_score_adj; -+ size_t oom_score_adj_len; - }; - - /* - * List of netlink message types sent to us as part of bootstrapping the init. - * These constants are defined in libcontainer/message_linux.go. - */ --#define INIT_MSG 62000 -+#define INIT_MSG 62000 - #define CLONE_FLAGS_ATTR 27281 - #define NS_PATHS_ATTR 27282 --#define UIDMAP_ATTR 27283 --#define GIDMAP_ATTR 27284 -+#define UIDMAP_ATTR 27283 -+#define GIDMAP_ATTR 27284 - #define SETGROUP_ATTR 27285 -+#define OOM_SCORE_ADJ_ATTR 27286 - - /* - * Use the raw syscall for versions of glibc which don't include a function for -@@ -186,7 +189,7 @@ static void update_setgroups(int pid, enum policy_t setgroup) - } - } - --static void update_uidmap(int pid, char *map, int map_len) -+static void update_uidmap(int pid, char *map, size_t map_len) - { - if (map == NULL || map_len <= 0) - return; -@@ -195,7 +198,7 @@ static void update_uidmap(int pid, char *map, int map_len) - bail("failed to update /proc/%d/uid_map", pid); - } - --static void update_gidmap(int pid, char *map, int map_len) -+static void update_gidmap(int pid, char *map, size_t map_len) - { - if (map == NULL || map_len <= 0) - return; -@@ -204,6 +207,15 @@ static void update_gidmap(int pid, char *map, int map_len) - bail("failed to update /proc/%d/gid_map", pid); - } - -+static void update_oom_score_adj(char *data, size_t len) -+{ -+ if (data == NULL || len <= 0) -+ return; -+ -+ if (write_file(data, len, "/proc/self/oom_score_adj") < 0) -+ bail("failed to update /proc/self/oom_score_adj"); -+} -+ - /* A dummy function that just jumps to the given jumpval. */ - static int child_func(void *arg) __attribute__ ((noinline)); - static int child_func(void *arg) -@@ -317,6 +329,10 @@ static void nl_parse(int fd, struct nlconfig_t *config) - case CLONE_FLAGS_ATTR: - config->cloneflags = readint32(current); - break; -+ case OOM_SCORE_ADJ_ATTR: -+ config->oom_score_adj = current; -+ config->oom_score_adj_len = payload_len; -+ break; - case NS_PATHS_ATTR: - config->namespaces = current; - config->namespaces_len = payload_len; -@@ -425,14 +441,32 @@ void nsexec(void) - if (pipenum == -1) - return; - -- /* make the process non-dumpable */ -- if (prctl(PR_SET_DUMPABLE, 0, 0, 0, 0) != 0) { -- bail("failed to set process as non-dumpable"); -- } -- - /* Parse all of the netlink configuration. */ - nl_parse(pipenum, &config); - -+ /* Set oom_score_adj. This has to be done before !dumpable because -+ * /proc/self/oom_score_adj is not writeable unless you're an privileged -+ * user (if !dumpable is set). All children inherit their parent's -+ * oom_score_adj value on fork(2) so this will always be propagated -+ * properly. -+ */ -+ update_oom_score_adj(config.oom_score_adj, config.oom_score_adj_len); -+ -+ /* -+ * Make the process non-dumpable, to avoid various race conditions that -+ * could cause processes in namespaces we're joining to access host -+ * resources (or potentially execute code). -+ * -+ * However, if the number of namespaces we are joining is 0, we are not -+ * going to be switching to a different security context. Thus setting -+ * ourselves to be non-dumpable only breaks things (like rootless -+ * containers), which is the recommendation from the kernel folks. -+ */ -+ if (config.namespaces) { -+ if (prctl(PR_SET_DUMPABLE, 0, 0, 0, 0) < 0) -+ bail("failed to set process as non-dumpable"); -+ } -+ - /* Pipe so we can tell the child when we've finished setting up. */ - if (socketpair(AF_LOCAL, SOCK_STREAM, 0, sync_child_pipe) < 0) - bail("failed to setup sync pipe between parent and child"); -@@ -681,6 +715,11 @@ void nsexec(void) - * clone_parent rant). So signal our parent to hook us up. - */ - -+ /* Switching is only necessary if we joined namespaces. */ -+ if (config.namespaces) { -+ if (prctl(PR_SET_DUMPABLE, 1, 0, 0, 0) < 0) -+ bail("failed to set process as dumpable"); -+ } - s = SYNC_USERMAP_PLS; - if (write(syncfd, &s, sizeof(s)) != sizeof(s)) - bail("failed to sync with parent: write(SYNC_USERMAP_PLS)"); -@@ -691,6 +730,11 @@ void nsexec(void) - bail("failed to sync with parent: read(SYNC_USERMAP_ACK)"); - if (s != SYNC_USERMAP_ACK) - bail("failed to sync with parent: SYNC_USERMAP_ACK: got %u", s); -+ /* Switching is only necessary if we joined namespaces. */ -+ if (config.namespaces) { -+ if (prctl(PR_SET_DUMPABLE, 0, 0, 0, 0) < 0) -+ bail("failed to set process as dumpable"); -+ } - } - - /* -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index 0f79a38..c60f473 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -85,10 +85,6 @@ func (p *setnsProcess) start() (err error) { - return newSystemErrorWithCausef(err, "adding pid %d to cgroups", p.pid()) - } - } -- // set oom_score_adj -- if err := setOomScoreAdj(p.config.Config.OomScoreAdj, p.pid()); err != nil { -- return newSystemErrorWithCause(err, "setting oom score") -- } - // set rlimits, this has to be done here because we lose permissions - // to raise the limits once we enter a user-namespace - if err := setupRlimits(p.config.Rlimits, p.pid()); err != nil { -@@ -285,10 +281,6 @@ func (p *initProcess) start() error { - if err := p.manager.Set(p.config.Config); err != nil { - return newSystemErrorWithCause(err, "setting cgroup config for ready process") - } -- // set oom_score_adj -- if err := setOomScoreAdj(p.config.Config.OomScoreAdj, p.pid()); err != nil { -- return newSystemErrorWithCause(err, "setting oom score for ready process") -- } - // set rlimits, this has to be done here because we lose permissions - // to raise the limits once we enter a user-namespace - if err := setupRlimits(p.config.Rlimits, p.pid()); err != nil { --- -2.7.4.3 - diff --git a/patch/0042-update-state-earlier-to-avoid-cgroup-leak-whe.patch b/patch/0004-runc-update-state-eariler-to-avoid-cgroup-leak-when-.patch similarity index 64% rename from patch/0042-update-state-earlier-to-avoid-cgroup-leak-whe.patch rename to patch/0004-runc-update-state-eariler-to-avoid-cgroup-leak-when-.patch index a985cdd..a918e23 100644 --- a/patch/0042-update-state-earlier-to-avoid-cgroup-leak-whe.patch +++ b/patch/0004-runc-update-state-eariler-to-avoid-cgroup-leak-when-.patch @@ -1,8 +1,8 @@ -From 3b61668af89b820482b0a58f5af5316e1529116b Mon Sep 17 00:00:00 2001 -From: Deng Guangxing -Date: Wed, 6 Sep 2017 15:04:47 +0800 -Subject: [PATCH 42/94] update state earlier to avoid cgroup leak when - process failed +From 88f50537a85aed278be136cd0b3d4664e8c71b5d Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:19:48 +0800 +Subject: [PATCH] runc: update state eariler to avoid cgroup leak when process + failed if process stuck in somewhere. upper caller like containerd may have a timeout for process launching. @@ -20,27 +20,27 @@ This patch perform state updating right after cgroup applying. so `runc delete` will do the cleaning job Change-Id: I7b247f501986e712a86da3958d1be573af4e84a6 -Signed-off-by: Deng Guangxing +Signed-off-by: Deng Guangxing -Date: Sat, 23 Apr 2016 23:39:42 +1000 -Subject: [PATCH 05/94] runc: add support for rootless containers - -This enables the support for the rootless container mode. There are many -restrictions on what rootless containers can do, so many different runC -commands have been disabled: - -* runc checkpoint -* runc events -* runc pause -* runc ps -* runc restore -* runc resume -* runc update - -The following commands work: - -* runc create -* runc delete -* runc exec -* runc kill -* runc list -* runc run -* runc spec -* runc state - -In addition, any specification options that imply joining cgroups have -also been disabled. This is due to support for unprivileged subtree -management not being available from Linux upstream. - -Change-Id: I5cfba61e3a3d7491f2b0bc00ccfd51b87684de8a -Signed-off-by: Aleksa Sarai ---- - Makefile | 2 +- - checkpoint.go | 5 + - exec.go | 3 - - libcontainer/configs/config.go | 3 + - libcontainer/configs/validate/rootless.go | 117 +++++++++++++++ - libcontainer/configs/validate/rootless_test.go | 195 +++++++++++++++++++++++++ - libcontainer/configs/validate/validator.go | 5 + - libcontainer/container_linux.go | 49 +++++-- - libcontainer/init_linux.go | 41 +++++- - libcontainer/message_linux.go | 1 + - libcontainer/nsenter/nsexec.c | 26 +++- - libcontainer/process_linux.go | 28 +++- - libcontainer/specconv/example.go | 160 ++++++++++++++++++++ - libcontainer/specconv/spec_linux.go | 31 +++- - libcontainer/specconv/spec_linux_test.go | 80 +++++++++- - list.go | 19 ++- - ps.go | 5 + - restore.go | 6 + - spec.go | 150 +------------------ - utils.go | 3 - - utils_linux.go | 6 + - 21 files changed, 742 insertions(+), 193 deletions(-) - create mode 100644 libcontainer/configs/validate/rootless.go - create mode 100644 libcontainer/configs/validate/rootless_test.go - create mode 100644 libcontainer/specconv/example.go - -diff --git a/Makefile b/Makefile -index b82884a..5fff515 100644 ---- a/Makefile -+++ b/Makefile -@@ -4,7 +4,7 @@ - - SOURCES := $(shell find . 2>&1 | grep -E '.*\.(c|h|go)$$') - PREFIX := $(DESTDIR)/usr/local --BINDIR := $(PREFIX)/sbin -+BINDIR := $(PREFIX)/bin - GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null) - GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g") - RUNC_IMAGE := runc_dev$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN)) -diff --git a/checkpoint.go b/checkpoint.go -index dd7704f..78977d7 100644 ---- a/checkpoint.go -+++ b/checkpoint.go -@@ -39,6 +39,11 @@ checkpointed.`, - if err := checkArgs(context, 1, exactArgs); err != nil { - return err - } -+ // XXX: Currently this is untested with rootless containers. -+ if isRootless() { -+ return fmt.Errorf("runc checkpoint requires root") -+ } -+ - container, err := getContainer(context) - if err != nil { - return err -diff --git a/exec.go b/exec.go -index 84061e6..22f2689 100644 ---- a/exec.go -+++ b/exec.go -@@ -90,9 +90,6 @@ following will output a list of processes running in the container: - if err := checkArgs(context, 1, minArgs); err != nil { - return err - } -- if os.Geteuid() != 0 { -- return fmt.Errorf("runc should be run as root") -- } - if err := revisePidFile(context); err != nil { - return err - } -diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go -index 890cd7d..98f4b85 100644 ---- a/libcontainer/configs/config.go -+++ b/libcontainer/configs/config.go -@@ -183,6 +183,9 @@ type Config struct { - // NoNewKeyring will not allocated a new session keyring for the container. It will use the - // callers keyring in this case. - NoNewKeyring bool `json:"no_new_keyring"` -+ -+ // Rootless specifies whether the container is a rootless container. -+ Rootless bool `json:"rootless"` - } - - type Hooks struct { -diff --git a/libcontainer/configs/validate/rootless.go b/libcontainer/configs/validate/rootless.go -new file mode 100644 -index 0000000..1e83ced ---- /dev/null -+++ b/libcontainer/configs/validate/rootless.go -@@ -0,0 +1,117 @@ -+package validate -+ -+import ( -+ "fmt" -+ "os" -+ "reflect" -+ "strings" -+ -+ "github.com/opencontainers/runc/libcontainer/configs" -+) -+ -+var ( -+ geteuid = os.Geteuid -+ getegid = os.Getegid -+) -+ -+func (v *ConfigValidator) rootless(config *configs.Config) error { -+ if err := rootlessMappings(config); err != nil { -+ return err -+ } -+ if err := rootlessMount(config); err != nil { -+ return err -+ } -+ // Currently, cgroups cannot effectively be used in rootless containers. -+ // The new cgroup namespace doesn't really help us either because it doesn't -+ // have nice interactions with the user namespace (we're working with upstream -+ // to fix this). -+ if err := rootlessCgroup(config); err != nil { -+ return err -+ } -+ -+ // XXX: We currently can't verify the user config at all, because -+ // configs.Config doesn't store the user-related configs. So this -+ // has to be verified by setupUser() in init_linux.go. -+ -+ return nil -+} -+ -+func rootlessMappings(config *configs.Config) error { -+ rootuid, err := config.HostUID() -+ if err != nil { -+ return fmt.Errorf("failed to get root uid from uidMappings: %v", err) -+ } -+ if euid := geteuid(); euid != 0 { -+ if !config.Namespaces.Contains(configs.NEWUSER) { -+ return fmt.Errorf("rootless containers require user namespaces") -+ } -+ if rootuid != euid { -+ return fmt.Errorf("rootless containers cannot map container root to a different host user") -+ } -+ } -+ -+ rootgid, err := config.HostGID() -+ if err != nil { -+ return fmt.Errorf("failed to get root gid from gidMappings: %v", err) -+ } -+ -+ // Similar to the above test, we need to make sure that we aren't trying to -+ // map to a group ID that we don't have the right to be. -+ if rootgid != getegid() { -+ return fmt.Errorf("rootless containers cannot map container root to a different host group") -+ } -+ -+ // We can only map one user and group inside a container (our own). -+ if len(config.UidMappings) != 1 || config.UidMappings[0].Size != 1 { -+ return fmt.Errorf("rootless containers cannot map more than one user") -+ } -+ if len(config.GidMappings) != 1 || config.GidMappings[0].Size != 1 { -+ return fmt.Errorf("rootless containers cannot map more than one group") -+ } -+ -+ return nil -+} -+ -+// cgroup verifies that the user isn't trying to set any cgroup limits or paths. -+func rootlessCgroup(config *configs.Config) error { -+ // Nothing set at all. -+ if config.Cgroups == nil || config.Cgroups.Resources == nil { -+ return nil -+ } -+ -+ // Used for comparing to the zero value. -+ left := reflect.ValueOf(*config.Cgroups.Resources) -+ right := reflect.Zero(left.Type()) -+ -+ // This is all we need to do, since specconv won't add cgroup options in -+ // rootless mode. -+ if !reflect.DeepEqual(left.Interface(), right.Interface()) { -+ return fmt.Errorf("cannot specify resource limits in rootless container") -+ } -+ -+ return nil -+} -+ -+// mount verifies that the user isn't trying to set up any mounts they don't have -+// the rights to do. In addition, it makes sure that no mount has a `uid=` or -+// `gid=` option that doesn't resolve to root. -+func rootlessMount(config *configs.Config) error { -+ // XXX: We could whitelist allowed devices at this point, but I'm not -+ // convinced that's a good idea. The kernel is the best arbiter of -+ // access control. -+ -+ for _, mount := range config.Mounts { -+ // Check that the options list doesn't contain any uid= or gid= entries -+ // that don't resolve to root. -+ for _, opt := range strings.Split(mount.Data, ",") { -+ if strings.HasPrefix(opt, "uid=") && opt != "uid=0" { -+ return fmt.Errorf("cannot specify uid= mount options in rootless containers where argument isn't 0") -+ } -+ if strings.HasPrefix(opt, "gid=") && opt != "gid=0" { -+ return fmt.Errorf("cannot specify gid= mount options in rootless containers where argument isn't 0") -+ } -+ } -+ } -+ -+ return nil -+} -diff --git a/libcontainer/configs/validate/rootless_test.go b/libcontainer/configs/validate/rootless_test.go -new file mode 100644 -index 0000000..23d678d ---- /dev/null -+++ b/libcontainer/configs/validate/rootless_test.go -@@ -0,0 +1,195 @@ -+package validate -+ -+import ( -+ "testing" -+ -+ "github.com/opencontainers/runc/libcontainer/configs" -+) -+ -+func init() { -+ geteuid = func() int { return 1337 } -+ getegid = func() int { return 7331 } -+} -+ -+func rootlessConfig() *configs.Config { -+ return &configs.Config{ -+ Rootfs: "/var", -+ Rootless: true, -+ Namespaces: configs.Namespaces( -+ []configs.Namespace{ -+ {Type: configs.NEWUSER}, -+ }, -+ ), -+ UidMappings: []configs.IDMap{ -+ { -+ HostID: geteuid(), -+ ContainerID: 0, -+ Size: 1, -+ }, -+ }, -+ GidMappings: []configs.IDMap{ -+ { -+ HostID: getegid(), -+ ContainerID: 0, -+ Size: 1, -+ }, -+ }, -+ } -+} -+ -+func TestValidateRootless(t *testing.T) { -+ validator := New() -+ -+ config := rootlessConfig() -+ if err := validator.Validate(config); err != nil { -+ t.Errorf("Expected error to not occur: %+v", err) -+ } -+} -+ -+/* rootlessMappings() */ -+ -+func TestValidateRootlessUserns(t *testing.T) { -+ validator := New() -+ -+ config := rootlessConfig() -+ config.Namespaces = nil -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur if user namespaces not set") -+ } -+} -+ -+func TestValidateRootlessMappingUid(t *testing.T) { -+ validator := New() -+ -+ config := rootlessConfig() -+ config.UidMappings = nil -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur if no uid mappings provided") -+ } -+ -+ config = rootlessConfig() -+ config.UidMappings[0].HostID = geteuid() + 1 -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur if geteuid() != mapped uid") -+ } -+ -+ config = rootlessConfig() -+ config.UidMappings[0].Size = 1024 -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur if more than one uid mapped") -+ } -+ -+ config = rootlessConfig() -+ config.UidMappings = append(config.UidMappings, configs.IDMap{ -+ HostID: geteuid() + 1, -+ ContainerID: 0, -+ Size: 1, -+ }) -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur if more than one uid extent mapped") -+ } -+} -+ -+func TestValidateRootlessMappingGid(t *testing.T) { -+ validator := New() -+ -+ config := rootlessConfig() -+ config.GidMappings = nil -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur if no gid mappings provided") -+ } -+ -+ config = rootlessConfig() -+ config.GidMappings[0].HostID = getegid() + 1 -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur if getegid() != mapped gid") -+ } -+ -+ config = rootlessConfig() -+ config.GidMappings[0].Size = 1024 -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur if more than one gid mapped") -+ } -+ -+ config = rootlessConfig() -+ config.GidMappings = append(config.GidMappings, configs.IDMap{ -+ HostID: getegid() + 1, -+ ContainerID: 0, -+ Size: 1, -+ }) -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur if more than one gid extent mapped") -+ } -+} -+ -+/* rootlessMount() */ -+ -+func TestValidateRootlessMountUid(t *testing.T) { -+ config := rootlessConfig() -+ validator := New() -+ -+ config.Mounts = []*configs.Mount{ -+ { -+ Source: "devpts", -+ Destination: "/dev/pts", -+ Device: "devpts", -+ }, -+ } -+ -+ if err := validator.Validate(config); err != nil { -+ t.Errorf("Expected error to not occur when uid= not set in mount options: %+v", err) -+ } -+ -+ config.Mounts[0].Data = "uid=5" -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur when setting uid=5 in mount options") -+ } -+ -+ config.Mounts[0].Data = "uid=0" -+ if err := validator.Validate(config); err != nil { -+ t.Errorf("Expected error to not occur when setting uid=0 in mount options: %+v", err) -+ } -+} -+ -+func TestValidateRootlessMountGid(t *testing.T) { -+ config := rootlessConfig() -+ validator := New() -+ -+ config.Mounts = []*configs.Mount{ -+ { -+ Source: "devpts", -+ Destination: "/dev/pts", -+ Device: "devpts", -+ }, -+ } -+ -+ if err := validator.Validate(config); err != nil { -+ t.Errorf("Expected error to not occur when gid= not set in mount options: %+v", err) -+ } -+ -+ config.Mounts[0].Data = "gid=5" -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur when setting gid=5 in mount options") -+ } -+ -+ config.Mounts[0].Data = "gid=0" -+ if err := validator.Validate(config); err != nil { -+ t.Errorf("Expected error to not occur when setting gid=0 in mount options: %+v", err) -+ } -+} -+ -+/* rootlessCgroup() */ -+ -+func TestValidateRootlessCgroup(t *testing.T) { -+ validator := New() -+ -+ config := rootlessConfig() -+ config.Cgroups = &configs.Cgroup{ -+ Resources: &configs.Resources{ -+ PidsLimit: 1337, -+ }, -+ } -+ if err := validator.Validate(config); err == nil { -+ t.Errorf("Expected error to occur if cgroup limits set") -+ } -+} -diff --git a/libcontainer/configs/validate/validator.go b/libcontainer/configs/validate/validator.go -index ecf8335..8284345 100644 ---- a/libcontainer/configs/validate/validator.go -+++ b/libcontainer/configs/validate/validator.go -@@ -40,6 +40,11 @@ func (v *ConfigValidator) Validate(config *configs.Config) error { - if err := v.sysctl(config); err != nil { - return err - } -+ if config.Rootless { -+ if err := v.rootless(config); err != nil { -+ return err -+ } -+ } - return nil - } - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index d2e0e2b..372763a 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -51,6 +51,9 @@ type State struct { - - // Platform specific fields below here - -+ // Specifies if the container was started under the rootless mode. -+ Rootless bool `json:"rootless"` -+ - // Path to all the cgroups setup for a container. Key is cgroup subsystem name - // with the value as the path. - CgroupPaths map[string]string `json:"cgroup_paths"` -@@ -452,6 +455,7 @@ func (c *linuxContainer) newInitConfig(process *Process) *initConfig { - PassedFilesCount: len(process.ExtraFiles), - ContainerId: c.ID(), - NoNewPrivileges: c.config.NoNewPrivileges, -+ Rootless: c.config.Rootless, - AppArmorProfile: c.config.AppArmorProfile, - ProcessLabel: c.config.ProcessLabel, - Rlimits: c.config.Rlimits, -@@ -622,6 +626,13 @@ func (c *linuxContainer) Checkpoint(criuOpts *CriuOpts) error { - c.m.Lock() - defer c.m.Unlock() - -+ // TODO(avagin): Figure out how to make this work nicely. CRIU 2.0 has -+ // support for doing unprivileged dumps, but the setup of -+ // rootless containers might make this complicated. -+ if c.config.Rootless { -+ return fmt.Errorf("cannot checkpoint a rootless container") -+ } -+ - if err := c.checkCriuVersion("1.5.2"); err != nil { - return err - } -@@ -791,6 +802,13 @@ func (c *linuxContainer) restoreNetwork(req *criurpc.CriuReq, criuOpts *CriuOpts - func (c *linuxContainer) Restore(process *Process, criuOpts *CriuOpts) error { - c.m.Lock() - defer c.m.Unlock() -+ -+ // TODO(avagin): Figure out how to make this work nicely. CRIU doesn't have -+ // support for unprivileged restore at the moment. -+ if c.config.Rootless { -+ return fmt.Errorf("cannot restore a rootless container") -+ } -+ - if err := c.checkCriuVersion("1.5.2"); err != nil { - return err - } -@@ -918,6 +936,7 @@ func (c *linuxContainer) Restore(process *Process, criuOpts *CriuOpts) error { - } - - func (c *linuxContainer) criuApplyCgroups(pid int, req *criurpc.CriuReq) error { -+ // XXX: Do we need to deal with this case? AFAIK criu still requires root. - if err := c.cgroupManager.Apply(pid); err != nil { - return err - } -@@ -1319,6 +1338,7 @@ func (c *linuxContainer) currentState() (*State, error) { - InitProcessStartTime: startTime, - Created: c.created, - }, -+ Rootless: c.config.Rootless, - CgroupPaths: c.cgroupManager.GetPaths(), - NamespacePaths: make(map[configs.NamespaceType]string), - ExternalDescriptors: externalDescriptors, -@@ -1446,16 +1466,19 @@ func (c *linuxContainer) bootstrapData(cloneFlags uintptr, nsMaps map[configs.Na - Type: GidmapAttr, - Value: b, - }) -- // check if we have CAP_SETGID to setgroup properly -- pid, err := capability.NewPid(os.Getpid()) -- if err != nil { -- return nil, err -- } -- if !pid.Get(capability.EFFECTIVE, capability.CAP_SETGID) { -- r.AddData(&Boolmsg{ -- Type: SetgroupAttr, -- Value: true, -- }) -+ // The following only applies if we are root. -+ if !c.config.Rootless { -+ // check if we have CAP_SETGID to setgroup properly -+ pid, err := capability.NewPid(os.Getpid()) -+ if err != nil { -+ return nil, err -+ } -+ if !pid.Get(capability.EFFECTIVE, capability.CAP_SETGID) { -+ r.AddData(&Boolmsg{ -+ Type: SetgroupAttr, -+ Value: true, -+ }) -+ } - } - } - } -@@ -1466,5 +1489,11 @@ func (c *linuxContainer) bootstrapData(cloneFlags uintptr, nsMaps map[configs.Na - Value: []byte(fmt.Sprintf("%d", c.config.OomScoreAdj)), - }) - -+ // write rootless -+ r.AddData(&Boolmsg{ -+ Type: RootlessAttr, -+ Value: c.config.Rootless, -+ }) -+ - return bytes.NewReader(r.Serialize()), nil - } -diff --git a/libcontainer/init_linux.go b/libcontainer/init_linux.go -index 0f5d412..1187835 100644 ---- a/libcontainer/init_linux.go -+++ b/libcontainer/init_linux.go -@@ -58,6 +58,7 @@ type initConfig struct { - ContainerId string `json:"containerid"` - Rlimits []configs.Rlimit `json:"rlimits"` - CreateConsole bool `json:"create_console"` -+ Rootless bool `json:"rootless"` - } - - type initer interface { -@@ -229,18 +230,21 @@ func syncParentHooks(pipe io.ReadWriter) error { - func setupUser(config *initConfig) error { - // Set up defaults. - defaultExecUser := user.ExecUser{ -- Uid: syscall.Getuid(), -- Gid: syscall.Getgid(), -+ Uid: 0, -+ Gid: 0, - Home: "/", - } -+ - passwdPath, err := user.GetPasswdPath() - if err != nil { - return err - } -+ - groupPath, err := user.GetGroupPath() - if err != nil { - return err - } -+ - execUser, err := user.GetExecUserPath(config.User, &defaultExecUser, passwdPath, groupPath) - if err != nil { - return err -@@ -253,22 +257,49 @@ func setupUser(config *initConfig) error { - return err - } - } -+ -+ if config.Rootless { -+ if execUser.Uid != 0 { -+ return fmt.Errorf("cannot run as a non-root user in a rootless container") -+ } -+ -+ if execUser.Gid != 0 { -+ return fmt.Errorf("cannot run as a non-root group in a rootless container") -+ } -+ -+ // We cannot set any additional groups in a rootless container and thus we -+ // bail if the user asked us to do so. TODO: We currently can't do this -+ // earlier, but if libcontainer.Process.User was typesafe this might work. -+ if len(addGroups) > 0 { -+ return fmt.Errorf("cannot set any additional groups in a rootless container") -+ } -+ } -+ - // before we change to the container's user make sure that the processes STDIO - // is correctly owned by the user that we are switching to. - if err := fixStdioPermissions(execUser); err != nil { - return err - } -- suppGroups := append(execUser.Sgids, addGroups...) -- if err := syscall.Setgroups(suppGroups); err != nil { -- return err -+ -+ // This isn't allowed in an unprivileged user namespace since Linux 3.19. -+ // There's nothing we can do about /etc/group entries, so we silently -+ // ignore setting groups here (since the user didn't explicitly ask us to -+ // set the group). -+ if !config.Rootless { -+ suppGroups := append(execUser.Sgids, addGroups...) -+ if err := syscall.Setgroups(suppGroups); err != nil { -+ return err -+ } - } - - if err := system.Setgid(execUser.Gid); err != nil { - return err - } -+ - if err := system.Setuid(execUser.Uid); err != nil { - return err - } -+ - // if we didn't get HOME already, set it based on the user's HOME - if envHome := os.Getenv("HOME"); envHome == "" { - if err := os.Setenv("HOME", execUser.Home); err != nil { -diff --git a/libcontainer/message_linux.go b/libcontainer/message_linux.go -index 321d664..bc725a2 100644 ---- a/libcontainer/message_linux.go -+++ b/libcontainer/message_linux.go -@@ -18,6 +18,7 @@ const ( - GidmapAttr uint16 = 27284 - SetgroupAttr uint16 = 27285 - OomScoreAdjAttr uint16 = 27286 -+ RootlessAttr uint16 = 27287 - - // When syscall.NLA_HDRLEN is in gccgo, take this out. - syscall_NLA_HDRLEN = (syscall.SizeofNlAttr + syscall.NLA_ALIGNTO - 1) & ^(syscall.NLA_ALIGNTO - 1) -diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c -index 9630206..0ad6883 100644 ---- a/libcontainer/nsenter/nsexec.c -+++ b/libcontainer/nsenter/nsexec.c -@@ -72,6 +72,7 @@ struct nlconfig_t { - char *namespaces; - size_t namespaces_len; - uint8_t is_setgroup; -+ uint8_t is_rootless; - char *oom_score_adj; - size_t oom_score_adj_len; - }; -@@ -87,6 +88,7 @@ struct nlconfig_t { - #define GIDMAP_ATTR 27284 - #define SETGROUP_ATTR 27285 - #define OOM_SCORE_ADJ_ATTR 27286 -+#define ROOTLESS_ATTR 27287 - - /* - * Use the raw syscall for versions of glibc which don't include a function for -@@ -175,6 +177,7 @@ static void update_setgroups(int pid, enum policy_t setgroup) - policy = "deny"; - break; - case SETGROUPS_DEFAULT: -+ default: - /* Nothing to do. */ - return; - } -@@ -329,6 +332,9 @@ static void nl_parse(int fd, struct nlconfig_t *config) - case CLONE_FLAGS_ATTR: - config->cloneflags = readint32(current); - break; -+ case ROOTLESS_ATTR: -+ config->is_rootless = readint8(current); -+ break; - case OOM_SCORE_ADJ_ATTR: - config->oom_score_adj = current; - config->oom_score_adj_len = payload_len; -@@ -574,9 +580,21 @@ void nsexec(void) - - exit(ret); - case SYNC_USERMAP_PLS: -- /* Enable setgroups(2) if we've been asked to. */ -+ /* -+ * Enable setgroups(2) if we've been asked to. But we also -+ * have to explicitly disable setgroups(2) if we're -+ * creating a rootless container (this is required since -+ * Linux 3.19). -+ */ -+ if (config.is_rootless && config.is_setgroup) { -+ kill(child, SIGKILL); -+ bail("cannot allow setgroup in an unprivileged user namespace setup"); -+ } -+ - if (config.is_setgroup) - update_setgroups(child, SETGROUPS_ALLOW); -+ if (config.is_rootless) -+ update_setgroups(child, SETGROUPS_DENY); - - /* Set up mappings. */ - update_uidmap(child, config.uidmap, config.uidmap_len); -@@ -818,8 +836,10 @@ void nsexec(void) - if (setgid(0) < 0) - bail("setgid failed"); - -- if (setgroups(0, NULL) < 0) -- bail("setgroups failed"); -+ if (!config.is_rootless && config.is_setgroup) { -+ if (setgroups(0, NULL) < 0) -+ bail("setgroups failed"); -+ } - - s = SYNC_CHILD_READY; - if (write(syncfd, &s, sizeof(s)) != sizeof(s)) -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index c60f473..e8b7506 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -80,7 +80,8 @@ func (p *setnsProcess) start() (err error) { - if err = p.execSetns(); err != nil { - return newSystemErrorWithCause(err, "executing setns process") - } -- if len(p.cgroupPaths) > 0 { -+ // We can't join cgroups if we're in a rootless container. -+ if !p.config.Rootless && len(p.cgroupPaths) > 0 { - if err := cgroups.EnterPid(p.cgroupPaths, p.pid()); err != nil { - return newSystemErrorWithCausef(err, "adding pid %d to cgroups", p.pid()) - } -@@ -253,13 +254,15 @@ func (p *initProcess) start() error { - return newSystemErrorWithCausef(err, "getting pipe fds for pid %d", p.pid()) - } - p.setExternalDescriptors(fds) -- // Do this before syncing with child so that no children -- // can escape the cgroup -- if err := p.manager.Apply(p.pid()); err != nil { -- return newSystemErrorWithCause(err, "applying cgroup configuration for process") -+ if !p.container.config.Rootless { -+ // Do this before syncing with child so that no children can escape the -+ // cgroup. We can't do this if we're not running as root. -+ if err := p.manager.Apply(p.pid()); err != nil { -+ return newSystemErrorWithCause(err, "applying cgroup configuration for process") -+ } - } - defer func() { -- if err != nil { -+ if err != nil && !p.container.config.Rootless { - // TODO: should not be the responsibility to call here - p.manager.Destroy() - } -@@ -278,8 +281,11 @@ func (p *initProcess) start() error { - ierr := parseSync(p.parentPipe, func(sync *syncT) error { - switch sync.Type { - case procReady: -- if err := p.manager.Set(p.config.Config); err != nil { -- return newSystemErrorWithCause(err, "setting cgroup config for ready process") -+ // We can't set cgroups if we're in a rootless container. -+ if !p.container.config.Rootless { -+ if err := p.manager.Set(p.config.Config); err != nil { -+ return newSystemErrorWithCause(err, "setting cgroup config for ready process") -+ } - } - // set rlimits, this has to be done here because we lose permissions - // to raise the limits once we enter a user-namespace -@@ -424,6 +430,12 @@ func getPipeFds(pid int) ([]string, error) { - f := filepath.Join(dirPath, strconv.Itoa(i)) - target, err := os.Readlink(f) - if err != nil { -+ // Ignore permission errors, for rootless containers and other -+ // non-dumpable processes. if we can't get the fd for a particular -+ // file, there's not much we can do. -+ if os.IsPermission(err) { -+ continue -+ } - return fds, err - } - fds[i] = target -diff --git a/libcontainer/specconv/example.go b/libcontainer/specconv/example.go -new file mode 100644 -index 0000000..44fad97 ---- /dev/null -+++ b/libcontainer/specconv/example.go -@@ -0,0 +1,160 @@ -+package specconv -+ -+import ( -+ "runtime" -+ -+ "github.com/opencontainers/runtime-spec/specs-go" -+) -+ -+func sPtr(s string) *string { return &s } -+ -+// ExampleSpec returns an example spec file, with many options set so a user -+// can see what a standard spec file looks like. -+func ExampleSpec() *specs.Spec { -+ return &specs.Spec{ -+ Version: specs.Version, -+ Platform: specs.Platform{ -+ OS: runtime.GOOS, -+ Arch: runtime.GOARCH, -+ }, -+ Root: specs.Root{ -+ Path: "rootfs", -+ Readonly: true, -+ }, -+ Process: specs.Process{ -+ Terminal: true, -+ User: specs.User{}, -+ Args: []string{ -+ "sh", -+ }, -+ Env: []string{ -+ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", -+ "TERM=xterm", -+ }, -+ Cwd: "/", -+ NoNewPrivileges: true, -+ Capabilities: &specs.LinuxCapabilities{ -+ Bounding: []string{ -+ "CAP_AUDIT_WRITE", -+ "CAP_KILL", -+ "CAP_NET_BIND_SERVICE", -+ }, -+ Permitted: []string{ -+ "CAP_AUDIT_WRITE", -+ "CAP_KILL", -+ "CAP_NET_BIND_SERVICE", -+ }, -+ Inheritable: []string{ -+ "CAP_AUDIT_WRITE", -+ "CAP_KILL", -+ "CAP_NET_BIND_SERVICE", -+ }, -+ Ambient: []string{ -+ "CAP_AUDIT_WRITE", -+ "CAP_KILL", -+ "CAP_NET_BIND_SERVICE", -+ }, -+ Effective: []string{ -+ "CAP_AUDIT_WRITE", -+ "CAP_KILL", -+ "CAP_NET_BIND_SERVICE", -+ }, -+ }, -+ Rlimits: []specs.LinuxRlimit{ -+ { -+ Type: "RLIMIT_NOFILE", -+ Hard: uint64(1024), -+ Soft: uint64(1024), -+ }, -+ }, -+ }, -+ Hostname: "runc", -+ Mounts: []specs.Mount{ -+ { -+ Destination: "/proc", -+ Type: "proc", -+ Source: "proc", -+ Options: nil, -+ }, -+ { -+ Destination: "/dev", -+ Type: "tmpfs", -+ Source: "tmpfs", -+ Options: []string{"nosuid", "strictatime", "mode=755", "size=65536k"}, -+ }, -+ { -+ Destination: "/dev/pts", -+ Type: "devpts", -+ Source: "devpts", -+ Options: []string{"nosuid", "noexec", "newinstance", "ptmxmode=0666", "mode=0620", "gid=5"}, -+ }, -+ { -+ Destination: "/dev/shm", -+ Type: "tmpfs", -+ Source: "shm", -+ Options: []string{"nosuid", "noexec", "nodev", "mode=1777", "size=65536k"}, -+ }, -+ { -+ Destination: "/dev/mqueue", -+ Type: "mqueue", -+ Source: "mqueue", -+ Options: []string{"nosuid", "noexec", "nodev"}, -+ }, -+ { -+ Destination: "/sys", -+ Type: "sysfs", -+ Source: "sysfs", -+ Options: []string{"nosuid", "noexec", "nodev", "ro"}, -+ }, -+ { -+ Destination: "/sys/fs/cgroup", -+ Type: "cgroup", -+ Source: "cgroup", -+ Options: []string{"nosuid", "noexec", "nodev", "relatime", "ro"}, -+ }, -+ }, -+ Linux: &specs.Linux{ -+ MaskedPaths: []string{ -+ "/proc/kcore", -+ "/proc/latency_stats", -+ "/proc/timer_list", -+ "/proc/timer_stats", -+ "/proc/sched_debug", -+ "/sys/firmware", -+ }, -+ ReadonlyPaths: []string{ -+ "/proc/asound", -+ "/proc/bus", -+ "/proc/fs", -+ "/proc/irq", -+ "/proc/sys", -+ "/proc/sysrq-trigger", -+ }, -+ Resources: &specs.LinuxResources{ -+ Devices: []specs.LinuxDeviceCgroup{ -+ { -+ Allow: false, -+ Access: "rwm", -+ }, -+ }, -+ }, -+ Namespaces: []specs.LinuxNamespace{ -+ { -+ Type: "pid", -+ }, -+ { -+ Type: "network", -+ }, -+ { -+ Type: "ipc", -+ }, -+ { -+ Type: "uts", -+ }, -+ { -+ Type: "mount", -+ }, -+ }, -+ }, -+ } -+} -diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index 52b3ca1..346b268 100644 ---- a/libcontainer/specconv/spec_linux.go -+++ b/libcontainer/specconv/spec_linux.go -@@ -145,6 +145,7 @@ type CreateOpts struct { - NoPivotRoot bool - NoNewKeyring bool - Spec *specs.Spec -+ Rootless bool - } - - // CreateLibcontainerConfig creates a new libcontainer configuration from a -@@ -175,6 +176,7 @@ func CreateLibcontainerConfig(opts *CreateOpts) (*configs.Config, error) { - Hostname: spec.Hostname, - Labels: append(labels, fmt.Sprintf("bundle=%s", cwd)), - NoNewKeyring: opts.NoNewKeyring, -+ Rootless: opts.Rootless, - } - - exists := false -@@ -208,7 +210,7 @@ func CreateLibcontainerConfig(opts *CreateOpts) (*configs.Config, error) { - if err := setupUserNamespace(spec, config); err != nil { - return nil, err - } -- c, err := createCgroupConfig(opts.CgroupName, opts.UseSystemdCgroup, spec) -+ c, err := createCgroupConfig(opts) - if err != nil { - return nil, err - } -@@ -264,8 +266,14 @@ func createLibcontainerMount(cwd string, m specs.Mount) *configs.Mount { - } - } - --func createCgroupConfig(name string, useSystemdCgroup bool, spec *specs.Spec) (*configs.Cgroup, error) { -- var myCgroupPath string -+func createCgroupConfig(opts *CreateOpts) (*configs.Cgroup, error) { -+ var ( -+ myCgroupPath string -+ -+ spec = opts.Spec -+ useSystemdCgroup = opts.UseSystemdCgroup -+ name = opts.CgroupName -+ ) - - c := &configs.Cgroup{ - Resources: &configs.Resources{}, -@@ -301,9 +309,14 @@ func createCgroupConfig(name string, useSystemdCgroup bool, spec *specs.Spec) (* - c.Path = myCgroupPath - } - -- c.Resources.AllowedDevices = allowedDevices -- if spec.Linux == nil { -- return c, nil -+ // In rootless containers, any attempt to make cgroup changes will fail. -+ // libcontainer will validate this and we shouldn't add any cgroup options -+ // the user didn't specify. -+ if !opts.Rootless { -+ c.Resources.AllowedDevices = allowedDevices -+ if spec.Linux == nil { -+ return c, nil -+ } - } - r := spec.Linux.Resources - if r == nil { -@@ -340,8 +353,10 @@ func createCgroupConfig(name string, useSystemdCgroup bool, spec *specs.Spec) (* - } - c.Resources.Devices = append(c.Resources.Devices, dd) - } -- // append the default allowed devices to the end of the list -- c.Resources.Devices = append(c.Resources.Devices, allowedDevices...) -+ if !opts.Rootless { -+ // append the default allowed devices to the end of the list -+ c.Resources.Devices = append(c.Resources.Devices, allowedDevices...) -+ } - if r.Memory != nil { - if r.Memory.Limit != nil { - c.Resources.Memory = *r.Memory.Limit -diff --git a/libcontainer/specconv/spec_linux_test.go b/libcontainer/specconv/spec_linux_test.go -index baa2638..741fae6 100644 ---- a/libcontainer/specconv/spec_linux_test.go -+++ b/libcontainer/specconv/spec_linux_test.go -@@ -3,8 +3,10 @@ - package specconv - - import ( -+ "os" - "testing" - -+ "github.com/opencontainers/runc/libcontainer/configs/validate" - "github.com/opencontainers/runtime-spec/specs-go" - ) - -@@ -16,7 +18,13 @@ func TestLinuxCgroupsPathSpecified(t *testing.T) { - CgroupsPath: cgroupsPath, - } - -- cgroup, err := createCgroupConfig("ContainerID", false, spec) -+ opts := &CreateOpts{ -+ CgroupName: "ContainerID", -+ UseSystemdCgroup: false, -+ Spec: spec, -+ } -+ -+ cgroup, err := createCgroupConfig(opts) - if err != nil { - t.Errorf("Couldn't create Cgroup config: %v", err) - } -@@ -28,8 +36,13 @@ func TestLinuxCgroupsPathSpecified(t *testing.T) { - - func TestLinuxCgroupsPathNotSpecified(t *testing.T) { - spec := &specs.Spec{} -+ opts := &CreateOpts{ -+ CgroupName: "ContainerID", -+ UseSystemdCgroup: false, -+ Spec: spec, -+ } - -- cgroup, err := createCgroupConfig("ContainerID", false, spec) -+ cgroup, err := createCgroupConfig(opts) - if err != nil { - t.Errorf("Couldn't create Cgroup config: %v", err) - } -@@ -39,6 +52,26 @@ func TestLinuxCgroupsPathNotSpecified(t *testing.T) { - } - } - -+func TestSpecconvExampleValidate(t *testing.T) { -+ spec := ExampleSpec() -+ spec.Root.Path = "/" -+ opts := &CreateOpts{ -+ CgroupName: "ContainerID", -+ UseSystemdCgroup: false, -+ Spec: spec, -+ } -+ -+ config, err := CreateLibcontainerConfig(opts) -+ if err != nil { -+ t.Errorf("Couldn't create libcontainer config: %v", err) -+ } -+ -+ validator := validate.New() -+ if err := validator.Validate(config); err != nil { -+ t.Errorf("Expected specconv to produce valid container config: %v", err) -+ } -+} -+ - func TestDupNamespaces(t *testing.T) { - spec := &specs.Spec{ - Linux: &specs.Linux{ -@@ -62,3 +95,46 @@ func TestDupNamespaces(t *testing.T) { - t.Errorf("Duplicated namespaces should be forbidden") - } - } -+ -+func TestRootlessSpecconvValidate(t *testing.T) { -+ spec := &specs.Spec{ -+ Linux: specs.Linux{ -+ Namespaces: []specs.Namespace{ -+ { -+ Type: specs.UserNamespace, -+ }, -+ }, -+ UIDMappings: []specs.IDMapping{ -+ { -+ HostID: uint32(os.Geteuid()), -+ ContainerID: 0, -+ Size: 1, -+ }, -+ }, -+ GIDMappings: []specs.IDMapping{ -+ { -+ HostID: uint32(os.Getegid()), -+ ContainerID: 0, -+ Size: 1, -+ }, -+ }, -+ }, -+ } -+ -+ opts := &CreateOpts{ -+ CgroupName: "ContainerID", -+ UseSystemdCgroup: false, -+ Spec: spec, -+ Rootless: true, -+ } -+ -+ config, err := CreateLibcontainerConfig(opts) -+ if err != nil { -+ t.Errorf("Couldn't create libcontainer config: %v", err) -+ } -+ -+ validator := validate.New() -+ if err := validator.Validate(config); err != nil { -+ t.Errorf("Expected specconv to produce valid rootless container config: %v", err) -+ } -+} -diff --git a/list.go b/list.go -index c7550a2..1c3b9aa 100644 ---- a/list.go -+++ b/list.go -@@ -7,12 +7,14 @@ import ( - "io/ioutil" - "os" - "path/filepath" -+ "syscall" - "text/tabwriter" - "time" - - "encoding/json" - - "github.com/opencontainers/runc/libcontainer" -+ "github.com/opencontainers/runc/libcontainer/user" - "github.com/opencontainers/runc/libcontainer/utils" - "github.com/urfave/cli" - ) -@@ -38,6 +40,8 @@ type containerState struct { - Created time.Time `json:"created"` - // Annotations is the user defined annotations added to the config. - Annotations map[string]string `json:"annotations,omitempty"` -+ // The owner of the state directory (the owner of the container). -+ Owner string `json:"owner"` - } - - var listCommand = cli.Command{ -@@ -85,14 +89,15 @@ To list containers created using a non-default value for "--root": - switch context.String("format") { - case "table": - w := tabwriter.NewWriter(os.Stdout, 12, 1, 3, ' ', 0) -- fmt.Fprint(w, "ID\tPID\tSTATUS\tBUNDLE\tCREATED\n") -+ fmt.Fprint(w, "ID\tPID\tSTATUS\tBUNDLE\tCREATED\tOWNER\n") - for _, item := range s { -- fmt.Fprintf(w, "%s\t%d\t%s\t%s\t%s\n", -+ fmt.Fprintf(w, "%s\t%d\t%s\t%s\t%s\t%s\n", - item.ID, - item.InitProcessPid, - item.Status, - item.Bundle, -- item.Created.Format(time.RFC3339Nano)) -+ item.Created.Format(time.RFC3339Nano), -+ item.Owner) - } - if err := w.Flush(); err != nil { - return err -@@ -126,6 +131,13 @@ func getContainers(context *cli.Context) ([]containerState, error) { - var s []containerState - for _, item := range list { - if item.IsDir() { -+ // This cast is safe on Linux. -+ stat := item.Sys().(*syscall.Stat_t) -+ owner, err := user.LookupUid(int(stat.Uid)) -+ if err != nil { -+ owner.Name = string(stat.Uid) -+ } -+ - container, err := factory.Load(item.Name()) - if err != nil { - fmt.Fprintf(os.Stderr, "load container %s: %v\n", item.Name(), err) -@@ -155,6 +167,7 @@ func getContainers(context *cli.Context) ([]containerState, error) { - Rootfs: state.BaseState.Config.Rootfs, - Created: state.BaseState.Created, - Annotations: annotations, -+ Owner: owner.Name, - }) - } - } -diff --git a/ps.go b/ps.go -index b8a1b11..6e0c737 100644 ---- a/ps.go -+++ b/ps.go -@@ -28,6 +28,11 @@ var psCommand = cli.Command{ - if err := checkArgs(context, 1, minArgs); err != nil { - return err - } -+ // XXX: Currently not supported with rootless containers. -+ if isRootless() { -+ return fmt.Errorf("runc ps requires root") -+ } -+ - container, err := getContainer(context) - if err != nil { - return err -diff --git a/restore.go b/restore.go -index afc6046..06f635f 100644 ---- a/restore.go -+++ b/restore.go -@@ -3,6 +3,7 @@ - package main - - import ( -+ "fmt" - "os" - "syscall" - -@@ -86,6 +87,11 @@ using the runc checkpoint command.`, - if err := checkArgs(context, 1, exactArgs); err != nil { - return err - } -+ // XXX: Currently this is untested with rootless containers. -+ if isRootless() { -+ return fmt.Errorf("runc restore requires root") -+ } -+ - imagePath := context.String("image-path") - id := context.Args().First() - if id == "" { -diff --git a/spec.go b/spec.go -index 1b55c6b..d7df312 100644 ---- a/spec.go -+++ b/spec.go -@@ -10,6 +10,7 @@ import ( - "runtime" - - "github.com/opencontainers/runc/libcontainer/configs" -+ "github.com/opencontainers/runc/libcontainer/specconv" - "github.com/opencontainers/runtime-spec/specs-go" - "github.com/urfave/cli" - ) -@@ -68,152 +69,7 @@ container on your host.`, - if err := checkArgs(context, 0, exactArgs); err != nil { - return err - } -- spec := specs.Spec{ -- Version: specs.Version, -- Platform: specs.Platform{ -- OS: runtime.GOOS, -- Arch: runtime.GOARCH, -- }, -- Root: specs.Root{ -- Path: "rootfs", -- Readonly: true, -- }, -- Process: specs.Process{ -- Terminal: true, -- User: specs.User{}, -- Args: []string{ -- "sh", -- }, -- Env: []string{ -- "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", -- "TERM=xterm", -- }, -- Cwd: "/", -- NoNewPrivileges: true, -- Capabilities: &specs.LinuxCapabilities{ -- Bounding: []string{ -- "CAP_AUDIT_WRITE", -- "CAP_KILL", -- "CAP_NET_BIND_SERVICE", -- }, -- Permitted: []string{ -- "CAP_AUDIT_WRITE", -- "CAP_KILL", -- "CAP_NET_BIND_SERVICE", -- }, -- Inheritable: []string{ -- "CAP_AUDIT_WRITE", -- "CAP_KILL", -- "CAP_NET_BIND_SERVICE", -- }, -- Ambient: []string{ -- "CAP_AUDIT_WRITE", -- "CAP_KILL", -- "CAP_NET_BIND_SERVICE", -- }, -- Effective: []string{ -- "CAP_AUDIT_WRITE", -- "CAP_KILL", -- "CAP_NET_BIND_SERVICE", -- }, -- }, -- Rlimits: []specs.LinuxRlimit{ -- { -- Type: "RLIMIT_NOFILE", -- Hard: uint64(1024), -- Soft: uint64(1024), -- }, -- }, -- }, -- Hostname: "runc", -- Mounts: []specs.Mount{ -- { -- Destination: "/proc", -- Type: "proc", -- Source: "proc", -- Options: nil, -- }, -- { -- Destination: "/dev", -- Type: "tmpfs", -- Source: "tmpfs", -- Options: []string{"nosuid", "strictatime", "mode=755", "size=65536k"}, -- }, -- { -- Destination: "/dev/pts", -- Type: "devpts", -- Source: "devpts", -- Options: []string{"nosuid", "noexec", "newinstance", "ptmxmode=0666", "mode=0620", "gid=5"}, -- }, -- { -- Destination: "/dev/shm", -- Type: "tmpfs", -- Source: "shm", -- Options: []string{"nosuid", "noexec", "nodev", "mode=1777", "size=65536k"}, -- }, -- { -- Destination: "/dev/mqueue", -- Type: "mqueue", -- Source: "mqueue", -- Options: []string{"nosuid", "noexec", "nodev"}, -- }, -- { -- Destination: "/sys", -- Type: "sysfs", -- Source: "sysfs", -- Options: []string{"nosuid", "noexec", "nodev", "ro"}, -- }, -- { -- Destination: "/sys/fs/cgroup", -- Type: "cgroup", -- Source: "cgroup", -- Options: []string{"nosuid", "noexec", "nodev", "relatime", "ro"}, -- }, -- }, -- Linux: &specs.Linux{ -- MaskedPaths: []string{ -- "/proc/kcore", -- "/proc/latency_stats", -- "/proc/timer_list", -- "/proc/timer_stats", -- "/proc/sched_debug", -- "/sys/firmware", -- }, -- ReadonlyPaths: []string{ -- "/proc/asound", -- "/proc/bus", -- "/proc/fs", -- "/proc/irq", -- "/proc/sys", -- "/proc/sysrq-trigger", -- }, -- Resources: &specs.LinuxResources{ -- Devices: []specs.LinuxDeviceCgroup{ -- { -- Allow: false, -- Access: "rwm", -- }, -- }, -- }, -- Namespaces: []specs.LinuxNamespace{ -- { -- Type: "pid", -- }, -- { -- Type: "network", -- }, -- { -- Type: "ipc", -- }, -- { -- Type: "uts", -- }, -- { -- Type: "mount", -- }, -- }, -- }, -- } -+ spec := specconv.ExampleSpec() - - checkNoFile := func(name string) error { - _, err := os.Stat(name) -@@ -234,7 +90,7 @@ container on your host.`, - if err := checkNoFile(specConfig); err != nil { - return err - } -- data, err := json.MarshalIndent(&spec, "", "\t") -+ data, err := json.MarshalIndent(spec, "", "\t") - if err != nil { - return err - } -diff --git a/utils.go b/utils.go -index 1286fd6..98f93a4 100644 ---- a/utils.go -+++ b/utils.go -@@ -63,9 +63,6 @@ func setupSpec(context *cli.Context) (*specs.Spec, error) { - if err != nil { - return nil, err - } -- if os.Geteuid() != 0 { -- return nil, fmt.Errorf("runc should be run as root") -- } - return spec, nil - } - -diff --git a/utils_linux.go b/utils_linux.go -index dcf156c..767015e 100644 ---- a/utils_linux.go -+++ b/utils_linux.go -@@ -186,6 +186,11 @@ func createPidFile(path string, process *libcontainer.Process) error { - return os.Rename(tmpName, path) - } - -+// XXX: Currently we autodetect rootless mode. -+func isRootless() bool { -+ return os.Geteuid() != 0 -+} -+ - func createContainer(context *cli.Context, id string, spec *specs.Spec) (libcontainer.Container, error) { - config, err := specconv.CreateLibcontainerConfig(&specconv.CreateOpts{ - CgroupName: id, -@@ -193,6 +198,7 @@ func createContainer(context *cli.Context, id string, spec *specs.Spec) (libcont - NoPivotRoot: context.Bool("no-pivot"), - NoNewKeyring: context.Bool("no-new-keyring"), - Spec: spec, -+ Rootless: isRootless(), - }) - if err != nil { - return nil, err --- -2.7.4.3 - diff --git a/patch/0046-runc-print-cgroup-info-if-cpuset-missing-occu.patch b/patch/0005-runc-print-cgroup-info-if-cpuset-missing-occurs.patch similarity index 43% rename from patch/0046-runc-print-cgroup-info-if-cpuset-missing-occu.patch rename to patch/0005-runc-print-cgroup-info-if-cpuset-missing-occurs.patch index 0ed8181..0e6fde3 100644 --- a/patch/0046-runc-print-cgroup-info-if-cpuset-missing-occu.patch +++ b/patch/0005-runc-print-cgroup-info-if-cpuset-missing-occurs.patch @@ -1,34 +1,20 @@ -From a410e6a2f9adeb46813a5016812ad334c6560b2d Mon Sep 17 00:00:00 2001 -From: dengguangxing -Date: Thu, 18 Jan 2018 11:47:04 +0800 -Subject: [PATCH 46/94] runc: print cgroup info if cpuset missing - occurs +From f2a2674f9883e6eb588ce9235161019d31bcedc6 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:21:10 +0800 +Subject: [PATCH] runc: print cgroup info if cpuset missing occurs -[Changelog]: print cgroup info if cpuset missing occurs -[Author]:Shukui Yang - -Change-Id: I3f8af2b57b441f5f2b4d38cb89d6826a7f24e24b -Signed-off-by: dengguangxing --- - libcontainer/cgroups/fs/cpuset.go | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) + libcontainer/cgroups/fs/cpuset.go | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) diff --git a/libcontainer/cgroups/fs/cpuset.go b/libcontainer/cgroups/fs/cpuset.go -index 918b9a3..069c491 100644 +index 550baa4..341d5dc 100644 --- a/libcontainer/cgroups/fs/cpuset.go +++ b/libcontainer/cgroups/fs/cpuset.go -@@ -9,6 +9,7 @@ import ( - "os" - "path/filepath" - -+ "github.com/Sirupsen/logrus" - "github.com/opencontainers/runc/libcontainer/cgroups" - "github.com/opencontainers/runc/libcontainer/configs" - libcontainerUtils "github.com/opencontainers/runc/libcontainer/utils" -@@ -91,6 +92,26 @@ func (s *CpusetGroup) ApplyDir(dir string, cgroup *configs.Cgroup, pid int) erro +@@ -172,6 +172,26 @@ func (s *CpusetGroup) ApplyDir(dir string, r *configs.Resources, pid int) error } - func (s *CpusetGroup) getSubsystemSettings(parent string) (cpus []byte, mems []byte, err error) { + func getCpusetSubsystemSettings(parent string) (cpus, mems string, err error) { + defer func() { + if err != nil { + minfo, err1 := ioutil.ReadFile("/proc/self/mountinfo") @@ -49,9 +35,9 @@ index 918b9a3..069c491 100644 + "path: %s, mountinfo: [%s], dirinfo: [%s]", parent, string(minfo), dirInfo) + } + }() - if cpus, err = ioutil.ReadFile(filepath.Join(parent, "cpuset.cpus")); err != nil { + if cpus, err = cgroups.ReadFile(parent, "cpuset.cpus"); err != nil { return } -- -2.7.4.3 +2.30.0 diff --git a/patch/0006-rootless-add-rootless-cgroup-manager.patch b/patch/0006-rootless-add-rootless-cgroup-manager.patch deleted file mode 100644 index 0e7858f..0000000 --- a/patch/0006-rootless-add-rootless-cgroup-manager.patch +++ /dev/null @@ -1,421 +0,0 @@ -From 6c69b3f5c8eb23eb47917371b4ae69a76912ec83 Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Tue, 26 Apr 2016 02:19:39 +1000 -Subject: [PATCH 06/94] rootless: add rootless cgroup manager - -The rootless cgroup manager acts as a noop for all set and apply -operations. It is just used for rootless setups. Currently this is far -too simple (we need to add opportunistic cgroup management), but is good -enough as a first-pass at a noop cgroup manager. - -Change-Id: Iae5668680e5e2896246792fe6f2ac1bb37eab1d5 -Signed-off-by: Aleksa Sarai ---- - libcontainer/cgroups/fs/apply_raw.go | 24 +---- - libcontainer/cgroups/rootless/rootless.go | 128 ++++++++++++++++++++++++++ - libcontainer/cgroups/systemd/apply_systemd.go | 2 +- - libcontainer/cgroups/utils.go | 41 ++++++++- - libcontainer/container_linux.go | 8 ++ - libcontainer/factory_linux.go | 22 +++++ - libcontainer/process_linux.go | 20 ++-- - libcontainer/rootfs_linux.go | 2 +- - 8 files changed, 210 insertions(+), 37 deletions(-) - create mode 100644 libcontainer/cgroups/rootless/rootless.go - -diff --git a/libcontainer/cgroups/fs/apply_raw.go b/libcontainer/cgroups/fs/apply_raw.go -index d316313..22d82ac 100644 ---- a/libcontainer/cgroups/fs/apply_raw.go -+++ b/libcontainer/cgroups/fs/apply_raw.go -@@ -267,25 +267,8 @@ func getCgroupData(c *configs.Cgroup, pid int) (*cgroupData, error) { - }, nil - } - --func (raw *cgroupData) parentPath(subsystem, mountpoint, root string) (string, error) { -- // Use GetThisCgroupDir instead of GetInitCgroupDir, because the creating -- // process could in container and shared pid namespace with host, and -- // /proc/1/cgroup could point to whole other world of cgroups. -- initPath, err := cgroups.GetThisCgroupDir(subsystem) -- if err != nil { -- return "", err -- } -- // This is needed for nested containers, because in /proc/self/cgroup we -- // see pathes from host, which don't exist in container. -- relDir, err := filepath.Rel(root, initPath) -- if err != nil { -- return "", err -- } -- return filepath.Join(mountpoint, relDir), nil --} -- - func (raw *cgroupData) path(subsystem string) (string, error) { -- mnt, root, err := cgroups.FindCgroupMountpointAndRoot(subsystem) -+ mnt, err := cgroups.FindCgroupMountpoint(subsystem) - // If we didn't mount the subsystem, there is no point we make the path. - if err != nil { - return "", err -@@ -297,7 +280,10 @@ func (raw *cgroupData) path(subsystem string) (string, error) { - return filepath.Join(raw.root, filepath.Base(mnt), raw.innerPath), nil - } - -- parentPath, err := raw.parentPath(subsystem, mnt, root) -+ // Use GetOwnCgroupPath instead of GetInitCgroupPath, because the creating -+ // process could in container and shared pid namespace with host, and -+ // /proc/1/cgroup could point to whole other world of cgroups. -+ parentPath, err := cgroups.GetOwnCgroupPath(subsystem) - if err != nil { - return "", err - } -diff --git a/libcontainer/cgroups/rootless/rootless.go b/libcontainer/cgroups/rootless/rootless.go -new file mode 100644 -index 0000000..b1efbfd ---- /dev/null -+++ b/libcontainer/cgroups/rootless/rootless.go -@@ -0,0 +1,128 @@ -+// +build linux -+ -+package rootless -+ -+import ( -+ "fmt" -+ -+ "github.com/opencontainers/runc/libcontainer/cgroups" -+ "github.com/opencontainers/runc/libcontainer/cgroups/fs" -+ "github.com/opencontainers/runc/libcontainer/configs" -+ "github.com/opencontainers/runc/libcontainer/configs/validate" -+) -+ -+// TODO: This is copied from libcontainer/cgroups/fs, which duplicates this code -+// needlessly. We should probably export this list. -+ -+var subsystems = []subsystem{ -+ &fs.CpusetGroup{}, -+ &fs.DevicesGroup{}, -+ &fs.MemoryGroup{}, -+ &fs.CpuGroup{}, -+ &fs.CpuacctGroup{}, -+ &fs.PidsGroup{}, -+ &fs.BlkioGroup{}, -+ &fs.HugetlbGroup{}, -+ &fs.NetClsGroup{}, -+ &fs.NetPrioGroup{}, -+ &fs.PerfEventGroup{}, -+ &fs.FreezerGroup{}, -+ &fs.NameGroup{GroupName: "name=systemd"}, -+} -+ -+type subsystem interface { -+ // Name returns the name of the subsystem. -+ Name() string -+ -+ // Returns the stats, as 'stats', corresponding to the cgroup under 'path'. -+ GetStats(path string, stats *cgroups.Stats) error -+} -+ -+// The noop cgroup manager is used for rootless containers, because we currently -+// cannot manage cgroups if we are in a rootless setup. This manager is chosen -+// by factory if we are in rootless mode. We error out if any cgroup options are -+// set in the config -- this may change in the future with upcoming kernel features -+// like the cgroup namespace. -+ -+type Manager struct { -+ Cgroups *configs.Cgroup -+ Paths map[string]string -+} -+ -+func (m *Manager) Apply(pid int) error { -+ // If there are no cgroup settings, there's nothing to do. -+ if m.Cgroups == nil { -+ return nil -+ } -+ -+ // We can't set paths. -+ // TODO(cyphar): Implement the case where the runner of a rootless container -+ // owns their own cgroup, which would allow us to set up a -+ // cgroup for each path. -+ if m.Cgroups.Paths != nil { -+ return fmt.Errorf("cannot change cgroup path in rootless container") -+ } -+ -+ // We load the paths into the manager. -+ paths := make(map[string]string) -+ for _, sys := range subsystems { -+ name := sys.Name() -+ -+ path, err := cgroups.GetOwnCgroupPath(name) -+ if err != nil { -+ // Ignore paths we couldn't resolve. -+ continue -+ } -+ -+ paths[name] = path -+ } -+ -+ m.Paths = paths -+ return nil -+} -+ -+func (m *Manager) GetPaths() map[string]string { -+ return m.Paths -+} -+ -+func (m *Manager) Set(container *configs.Config) error { -+ // We have to re-do the validation here, since someone might decide to -+ // update a rootless container. -+ return validate.New().Validate(container) -+} -+ -+func (m *Manager) GetPids() ([]int, error) { -+ dir, err := cgroups.GetOwnCgroupPath("devices") -+ if err != nil { -+ return nil, err -+ } -+ return cgroups.GetPids(dir) -+} -+ -+func (m *Manager) GetAllPids() ([]int, error) { -+ dir, err := cgroups.GetOwnCgroupPath("devices") -+ if err != nil { -+ return nil, err -+ } -+ return cgroups.GetAllPids(dir) -+} -+ -+func (m *Manager) GetStats() (*cgroups.Stats, error) { -+ // TODO(cyphar): We can make this work if we figure out a way to allow usage -+ // of cgroups with a rootless container. While this doesn't -+ // actually require write access to a cgroup directory, the -+ // statistics are not useful if they can be affected by -+ // non-container processes. -+ return nil, fmt.Errorf("cannot get cgroup stats in rootless container") -+} -+ -+func (m *Manager) Freeze(state configs.FreezerState) error { -+ // TODO(cyphar): We can make this work if we figure out a way to allow usage -+ // of cgroups with a rootless container. -+ return fmt.Errorf("cannot use freezer cgroup in rootless container") -+} -+ -+func (m *Manager) Destroy() error { -+ // We don't have to do anything here because we didn't do any setup. -+ return nil -+} -diff --git a/libcontainer/cgroups/systemd/apply_systemd.go b/libcontainer/cgroups/systemd/apply_systemd.go -index 2872bfa..456c57d 100644 ---- a/libcontainer/cgroups/systemd/apply_systemd.go -+++ b/libcontainer/cgroups/systemd/apply_systemd.go -@@ -426,7 +426,7 @@ func getSubsystemPath(c *configs.Cgroup, subsystem string) (string, error) { - return "", err - } - -- initPath, err := cgroups.GetInitCgroupDir(subsystem) -+ initPath, err := cgroups.GetInitCgroup(subsystem) - if err != nil { - return "", err - } -diff --git a/libcontainer/cgroups/utils.go b/libcontainer/cgroups/utils.go -index 52fc87e..5db3734 100644 ---- a/libcontainer/cgroups/utils.go -+++ b/libcontainer/cgroups/utils.go -@@ -109,7 +109,7 @@ type Mount struct { - Subsystems []string - } - --func (m Mount) GetThisCgroupDir(cgroups map[string]string) (string, error) { -+func (m Mount) GetOwnCgroup(cgroups map[string]string) (string, error) { - if len(m.Subsystems) == 0 { - return "", fmt.Errorf("no subsystem for mount") - } -@@ -203,8 +203,8 @@ func GetAllSubsystems() ([]string, error) { - return subsystems, nil - } - --// GetThisCgroupDir returns the relative path to the cgroup docker is running in. --func GetThisCgroupDir(subsystem string) (string, error) { -+// GetOwnCgroup returns the relative path to the cgroup docker is running in. -+func GetOwnCgroup(subsystem string) (string, error) { - cgroups, err := ParseCgroupFile("/proc/self/cgroup") - if err != nil { - return "", err -@@ -213,8 +213,16 @@ func GetThisCgroupDir(subsystem string) (string, error) { - return getControllerPath(subsystem, cgroups) - } - --func GetInitCgroupDir(subsystem string) (string, error) { -+func GetOwnCgroupPath(subsystem string) (string, error) { -+ cgroup, err := GetOwnCgroup(subsystem) -+ if err != nil { -+ return "", err -+ } - -+ return getCgroupPathHelper(subsystem, cgroup) -+} -+ -+func GetInitCgroup(subsystem string) (string, error) { - cgroups, err := ParseCgroupFile("/proc/1/cgroup") - if err != nil { - return "", err -@@ -223,6 +231,31 @@ func GetInitCgroupDir(subsystem string) (string, error) { - return getControllerPath(subsystem, cgroups) - } - -+func GetInitCgroupPath(subsystem string) (string, error) { -+ cgroup, err := GetInitCgroup(subsystem) -+ if err != nil { -+ return "", err -+ } -+ -+ return getCgroupPathHelper(subsystem, cgroup) -+} -+ -+func getCgroupPathHelper(subsystem, cgroup string) (string, error) { -+ mnt, root, err := FindCgroupMountpointAndRoot(subsystem) -+ if err != nil { -+ return "", err -+ } -+ -+ // This is needed for nested containers, because in /proc/self/cgroup we -+ // see pathes from host, which don't exist in container. -+ relCgroup, err := filepath.Rel(root, cgroup) -+ if err != nil { -+ return "", err -+ } -+ -+ return filepath.Join(mnt, relCgroup), nil -+} -+ - func readProcsFile(dir string) ([]int, error) { - f, err := os.Open(filepath.Join(dir, CgroupProcesses)) - if err != nil { -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 372763a..d847f18 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -520,10 +520,18 @@ func (c *linuxContainer) Resume() error { - } - - func (c *linuxContainer) NotifyOOM() (<-chan struct{}, error) { -+ // XXX(cyphar): This requires cgroups. -+ if c.config.Rootless { -+ return nil, fmt.Errorf("cannot get OOM notifications from rootless container") -+ } - return notifyOnOOM(c.cgroupManager.GetPaths()) - } - - func (c *linuxContainer) NotifyMemoryPressure(level PressureLevel) (<-chan struct{}, error) { -+ // XXX(cyphar): This requires cgroups. -+ if c.config.Rootless { -+ return nil, fmt.Errorf("cannot get memory pressure notifications from rootless container") -+ } - return notifyMemoryPressure(c.cgroupManager.GetPaths(), level) - } - -diff --git a/libcontainer/factory_linux.go b/libcontainer/factory_linux.go -index d553287..1f965e6 100644 ---- a/libcontainer/factory_linux.go -+++ b/libcontainer/factory_linux.go -@@ -15,6 +15,7 @@ import ( - "github.com/docker/docker/pkg/mount" - "github.com/opencontainers/runc/libcontainer/cgroups" - "github.com/opencontainers/runc/libcontainer/cgroups/fs" -+ "github.com/opencontainers/runc/libcontainer/cgroups/rootless" - "github.com/opencontainers/runc/libcontainer/cgroups/systemd" - "github.com/opencontainers/runc/libcontainer/configs" - "github.com/opencontainers/runc/libcontainer/configs/validate" -@@ -73,6 +74,20 @@ func Cgroupfs(l *LinuxFactory) error { - return nil - } - -+// RootlessCgroups is an options func to configure a LinuxFactory to -+// return containers that use the "rootless" cgroup manager, which will -+// fail to do any operations not possible to do with an unprivileged user. -+// It should only be used in conjunction with rootless containers. -+func RootlessCgroups(l *LinuxFactory) error { -+ l.NewCgroupsManager = func(config *configs.Cgroup, paths map[string]string) cgroups.Manager { -+ return &rootless.Manager{ -+ Cgroups: config, -+ Paths: paths, -+ } -+ } -+ return nil -+} -+ - // TmpfsRoot is an option func to mount LinuxFactory.Root to tmpfs. - func TmpfsRoot(l *LinuxFactory) error { - mounted, err := mount.Mounted(l.Root) -@@ -169,6 +184,9 @@ func (l *LinuxFactory) Create(id string, config *configs.Config) (Container, err - if err := os.Chown(containerRoot, uid, gid); err != nil { - return nil, newGenericError(err, SystemError) - } -+ if config.Rootless { -+ RootlessCgroups(l) -+ } - c := &linuxContainer{ - id: id, - root: containerRoot, -@@ -195,6 +213,10 @@ func (l *LinuxFactory) Load(id string) (Container, error) { - processStartTime: state.InitProcessStartTime, - fds: state.ExternalDescriptors, - } -+ // We have to use the RootlessManager. -+ if state.Rootless { -+ RootlessCgroups(l) -+ } - c := &linuxContainer{ - initProcess: r, - initProcessStartTime: state.InitProcessStartTime, -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index e8b7506..bfe9955 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -254,15 +254,14 @@ func (p *initProcess) start() error { - return newSystemErrorWithCausef(err, "getting pipe fds for pid %d", p.pid()) - } - p.setExternalDescriptors(fds) -- if !p.container.config.Rootless { -- // Do this before syncing with child so that no children can escape the -- // cgroup. We can't do this if we're not running as root. -- if err := p.manager.Apply(p.pid()); err != nil { -- return newSystemErrorWithCause(err, "applying cgroup configuration for process") -- } -+ // Do this before syncing with child so that no children can escape the -+ // cgroup. We don't need to worry about not doing this and not being root -+ // because we'd be using the rootless cgroup manager in that case. -+ if err := p.manager.Apply(p.pid()); err != nil { -+ return newSystemErrorWithCause(err, "applying cgroup configuration for process") - } - defer func() { -- if err != nil && !p.container.config.Rootless { -+ if err != nil { - // TODO: should not be the responsibility to call here - p.manager.Destroy() - } -@@ -281,11 +280,8 @@ func (p *initProcess) start() error { - ierr := parseSync(p.parentPipe, func(sync *syncT) error { - switch sync.Type { - case procReady: -- // We can't set cgroups if we're in a rootless container. -- if !p.container.config.Rootless { -- if err := p.manager.Set(p.config.Config); err != nil { -- return newSystemErrorWithCause(err, "setting cgroup config for ready process") -- } -+ if err := p.manager.Set(p.config.Config); err != nil { -+ return newSystemErrorWithCause(err, "setting cgroup config for ready process") - } - // set rlimits, this has to be done here because we lose permissions - // to raise the limits once we enter a user-namespace -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index 1045a45..d507373 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -348,7 +348,7 @@ func getCgroupMounts(m *configs.Mount) ([]*configs.Mount, error) { - var binds []*configs.Mount - - for _, mm := range mounts { -- dir, err := mm.GetThisCgroupDir(cgroupPaths) -+ dir, err := mm.GetOwnCgroup(cgroupPaths) - if err != nil { - return nil, err - } --- -2.7.4.3 - diff --git a/patch/0006-runc-add-more-specific-log-for-hooks.patch b/patch/0006-runc-add-more-specific-log-for-hooks.patch new file mode 100644 index 0000000..d5fcfce --- /dev/null +++ b/patch/0006-runc-add-more-specific-log-for-hooks.patch @@ -0,0 +1,28 @@ +From 7cc7be6f85400953208981415d9f46a4db12bbcc Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:22:53 +0800 +Subject: [PATCH] runc: add more specific log for hooks + +--- + libcontainer/configs/config.go | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go +index c1b4a00..72910ff 100644 +--- a/libcontainer/configs/config.go ++++ b/libcontainer/configs/config.go +@@ -279,9 +279,11 @@ type Capabilities struct { + + func (hooks HookList) RunHooks(state *specs.State) error { + for i, h := range hooks { ++ logrus.Infof("run hooks %d:%T", i, h) + if err := h.Run(state); err != nil { + return fmt.Errorf("error running hook #%d: %w", i, err) + } ++ logrus.Infof("hooks %d:%T done", i, h) + } + + return nil +-- +2.30.0 + diff --git a/patch/0007-libcontainer-configs-add-proper-HostUID-and.patch b/patch/0007-libcontainer-configs-add-proper-HostUID-and.patch deleted file mode 100644 index be6f687..0000000 --- a/patch/0007-libcontainer-configs-add-proper-HostUID-and.patch +++ /dev/null @@ -1,256 +0,0 @@ -From f139024bb220e087a20e8089b5dbd4fb4c06c4a8 Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Sat, 18 Mar 2017 04:32:16 +1100 -Subject: [PATCH 07/94] libcontainer: configs: add proper HostUID and - HostGID - -Previously Host{U,G}ID only gave you the root mapping, which isn't very -useful if you are trying to do other things with the IDMaps. - -Change-Id: Idceb42455e258e5514c966fe8363693adb9d0028 -Signed-off-by: Aleksa Sarai ---- - libcontainer/configs/config_unix.go | 40 ++++++++++++++++++++----------- - libcontainer/configs/config_unix_test.go | 16 ++++++------- - libcontainer/configs/validate/rootless.go | 4 ++-- - libcontainer/container_linux.go | 4 ++-- - libcontainer/factory_linux.go | 4 ++-- - libcontainer/specconv/spec_linux.go | 4 ++-- - utils_linux.go | 4 ++-- - 7 files changed, 44 insertions(+), 32 deletions(-) - -diff --git a/libcontainer/configs/config_unix.go b/libcontainer/configs/config_unix.go -index a60554a..8446399 100644 ---- a/libcontainer/configs/config_unix.go -+++ b/libcontainer/configs/config_unix.go -@@ -4,38 +4,50 @@ package configs - - import "fmt" - --// HostUID gets the root uid for the process on host which could be non-zero --// when user namespaces are enabled. --func (c Config) HostUID() (int, error) { -+// HostUID gets the translated uid for the process on host which could be -+// different when user namespaces are enabled. -+func (c Config) HostUID(containerId int) (int, error) { - if c.Namespaces.Contains(NEWUSER) { - if c.UidMappings == nil { -- return -1, fmt.Errorf("User namespaces enabled, but no user mappings found.") -+ return -1, fmt.Errorf("User namespaces enabled, but no uid mappings found.") - } -- id, found := c.hostIDFromMapping(0, c.UidMappings) -+ id, found := c.hostIDFromMapping(containerId, c.UidMappings) - if !found { -- return -1, fmt.Errorf("User namespaces enabled, but no root user mapping found.") -+ return -1, fmt.Errorf("User namespaces enabled, but no user mapping found.") - } - return id, nil - } -- // Return default root uid 0 -- return 0, nil -+ // Return unchanged id. -+ return containerId, nil - } - --// HostGID gets the root gid for the process on host which could be non-zero -+// HostRootUID gets the root uid for the process on host which could be non-zero - // when user namespaces are enabled. --func (c Config) HostGID() (int, error) { -+func (c Config) HostRootUID() (int, error) { -+ return c.HostUID(0) -+} -+ -+// HostGID gets the translated gid for the process on host which could be -+// different when user namespaces are enabled. -+func (c Config) HostGID(containerId int) (int, error) { - if c.Namespaces.Contains(NEWUSER) { - if c.GidMappings == nil { - return -1, fmt.Errorf("User namespaces enabled, but no gid mappings found.") - } -- id, found := c.hostIDFromMapping(0, c.GidMappings) -+ id, found := c.hostIDFromMapping(containerId, c.GidMappings) - if !found { -- return -1, fmt.Errorf("User namespaces enabled, but no root group mapping found.") -+ return -1, fmt.Errorf("User namespaces enabled, but no group mapping found.") - } - return id, nil - } -- // Return default root gid 0 -- return 0, nil -+ // Return unchanged id. -+ return containerId, nil -+} -+ -+// HostRootGID gets the root gid for the process on host which could be non-zero -+// when user namespaces are enabled. -+func (c Config) HostRootGID() (int, error) { -+ return c.HostGID(0) - } - - // Utility function that gets a host ID for a container ID from user namespace map -diff --git a/libcontainer/configs/config_unix_test.go b/libcontainer/configs/config_unix_test.go -index dc01cd0..7f96615 100644 ---- a/libcontainer/configs/config_unix_test.go -+++ b/libcontainer/configs/config_unix_test.go -@@ -65,11 +65,11 @@ func TestRemoveNamespace(t *testing.T) { - } - } - --func TestHostUIDNoUSERNS(t *testing.T) { -+func TestHostRootUIDNoUSERNS(t *testing.T) { - config := &Config{ - Namespaces: Namespaces{}, - } -- uid, err := config.HostUID() -+ uid, err := config.HostRootUID() - if err != nil { - t.Fatal(err) - } -@@ -78,7 +78,7 @@ func TestHostUIDNoUSERNS(t *testing.T) { - } - } - --func TestHostUIDWithUSERNS(t *testing.T) { -+func TestHostRootUIDWithUSERNS(t *testing.T) { - config := &Config{ - Namespaces: Namespaces{{Type: NEWUSER}}, - UidMappings: []IDMap{ -@@ -89,7 +89,7 @@ func TestHostUIDWithUSERNS(t *testing.T) { - }, - }, - } -- uid, err := config.HostUID() -+ uid, err := config.HostRootUID() - if err != nil { - t.Fatal(err) - } -@@ -98,11 +98,11 @@ func TestHostUIDWithUSERNS(t *testing.T) { - } - } - --func TestHostGIDNoUSERNS(t *testing.T) { -+func TestHostRootGIDNoUSERNS(t *testing.T) { - config := &Config{ - Namespaces: Namespaces{}, - } -- uid, err := config.HostGID() -+ uid, err := config.HostRootGID() - if err != nil { - t.Fatal(err) - } -@@ -111,7 +111,7 @@ func TestHostGIDNoUSERNS(t *testing.T) { - } - } - --func TestHostGIDWithUSERNS(t *testing.T) { -+func TestHostRootGIDWithUSERNS(t *testing.T) { - config := &Config{ - Namespaces: Namespaces{{Type: NEWUSER}}, - GidMappings: []IDMap{ -@@ -122,7 +122,7 @@ func TestHostGIDWithUSERNS(t *testing.T) { - }, - }, - } -- uid, err := config.HostGID() -+ uid, err := config.HostRootGID() - if err != nil { - t.Fatal(err) - } -diff --git a/libcontainer/configs/validate/rootless.go b/libcontainer/configs/validate/rootless.go -index 1e83ced..0cebfaf 100644 ---- a/libcontainer/configs/validate/rootless.go -+++ b/libcontainer/configs/validate/rootless.go -@@ -37,7 +37,7 @@ func (v *ConfigValidator) rootless(config *configs.Config) error { - } - - func rootlessMappings(config *configs.Config) error { -- rootuid, err := config.HostUID() -+ rootuid, err := config.HostRootUID() - if err != nil { - return fmt.Errorf("failed to get root uid from uidMappings: %v", err) - } -@@ -50,7 +50,7 @@ func rootlessMappings(config *configs.Config) error { - } - } - -- rootgid, err := config.HostGID() -+ rootgid, err := config.HostRootGID() - if err != nil { - return fmt.Errorf("failed to get root gid from gidMappings: %v", err) - } -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index d847f18..71fa682 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -307,11 +307,11 @@ func (c *linuxContainer) Signal(s os.Signal, all bool) error { - } - - func (c *linuxContainer) createExecFifo() error { -- rootuid, err := c.Config().HostUID() -+ rootuid, err := c.Config().HostRootUID() - if err != nil { - return err - } -- rootgid, err := c.Config().HostGID() -+ rootgid, err := c.Config().HostRootGID() - if err != nil { - return err - } -diff --git a/libcontainer/factory_linux.go b/libcontainer/factory_linux.go -index 1f965e6..6a0f855 100644 ---- a/libcontainer/factory_linux.go -+++ b/libcontainer/factory_linux.go -@@ -164,11 +164,11 @@ func (l *LinuxFactory) Create(id string, config *configs.Config) (Container, err - if err := l.Validator.Validate(config); err != nil { - return nil, newGenericError(err, ConfigInvalid) - } -- uid, err := config.HostUID() -+ uid, err := config.HostRootUID() - if err != nil { - return nil, newGenericError(err, SystemError) - } -- gid, err := config.HostGID() -+ gid, err := config.HostRootGID() - if err != nil { - return nil, newGenericError(err, SystemError) - } -diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index 346b268..1575ae0 100644 ---- a/libcontainer/specconv/spec_linux.go -+++ b/libcontainer/specconv/spec_linux.go -@@ -610,11 +610,11 @@ func setupUserNamespace(spec *specs.Spec, config *configs.Config) error { - for _, m := range spec.Linux.GIDMappings { - config.GidMappings = append(config.GidMappings, create(m)) - } -- rootUID, err := config.HostUID() -+ rootUID, err := config.HostRootUID() - if err != nil { - return err - } -- rootGID, err := config.HostGID() -+ rootGID, err := config.HostRootGID() - if err != nil { - return err - } -diff --git a/utils_linux.go b/utils_linux.go -index 767015e..c6a8c02 100644 ---- a/utils_linux.go -+++ b/utils_linux.go -@@ -242,12 +242,12 @@ func (r *runner) run(config *specs.Process) (int, error) { - for i := baseFd; i < baseFd+r.preserveFDs; i++ { - process.ExtraFiles = append(process.ExtraFiles, os.NewFile(uintptr(i), "PreserveFD:"+strconv.Itoa(i))) - } -- rootuid, err := r.container.Config().HostUID() -+ rootuid, err := r.container.Config().HostRootUID() - if err != nil { - r.destroy() - return -1, err - } -- rootgid, err := r.container.Config().HostGID() -+ rootgid, err := r.container.Config().HostRootGID() - if err != nil { - r.destroy() - return -1, err --- -2.7.4.3 - diff --git a/patch/0052-runc-reduce-max-number-of-retries-to-10.patch b/patch/0007-runc-reduce-max-number-of-retries-to-10.patch similarity index 52% rename from patch/0052-runc-reduce-max-number-of-retries-to-10.patch rename to patch/0007-runc-reduce-max-number-of-retries-to-10.patch index b4d3b69..43c1ad5 100644 --- a/patch/0052-runc-reduce-max-number-of-retries-to-10.patch +++ b/patch/0007-runc-reduce-max-number-of-retries-to-10.patch @@ -1,32 +1,30 @@ -From c8b74f1b809d8fbf1ba2dc74c069e03d9e95be71 Mon Sep 17 00:00:00 2001 -From: liruilin4 -Date: Mon, 9 Jul 2018 12:02:33 +0800 -Subject: [PATCH 52/94] runc: reduce max number of retries to 10 +From 68d83f90cbca399aa4797b8d63eaa1fa35b1ad30 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:24:00 +0800 +Subject: [PATCH] runc: reduce max number of retries to 10 [Changelog]:when killing containers in D state, now runc will do 100 retries, which leads that containerd blocks for 10 seconds. [Author]:Ruilin Li - -Change-Id: I1e08ef23ad065f5e3b88506726530187d2ccc797 --- delete.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/delete.go b/delete.go -index b43dcaa..a2b14f3 100644 +index 746b0df..799c2a7 100644 --- a/delete.go +++ b/delete.go @@ -14,8 +14,8 @@ import ( ) func killContainer(container libcontainer.Container) error { -- _ = container.Signal(syscall.SIGKILL, false) +- _ = container.Signal(unix.SIGKILL, false) - for i := 0; i < 100; i++ { -+ container.Signal(syscall.SIGKILL, false) ++ container.Signal(unix.SIGKILL, false) + for i := 0; i < 10; i++ { time.Sleep(100 * time.Millisecond) - if err := container.Signal(syscall.Signal(0), false); err != nil { + if err := container.Signal(unix.Signal(0), false); err != nil { destroy(container) -- -2.7.4.3 +2.30.0 diff --git a/patch/0008-libcontainer-init-fix-unmapped-console-fcho.patch b/patch/0008-libcontainer-init-fix-unmapped-console-fcho.patch deleted file mode 100644 index 8d77669..0000000 --- a/patch/0008-libcontainer-init-fix-unmapped-console-fcho.patch +++ /dev/null @@ -1,64 +0,0 @@ -From f4158e00cac1f576f61904a73530c373c15354e2 Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Sat, 18 Mar 2017 04:33:14 +1100 -Subject: [PATCH 08/94] libcontainer: init: fix unmapped console - fchown - -If the stdio of the container is owned by a group which is not mapped in -the user namespace, attempting to fchown the file descriptor will result -in EINVAL. Counteract this by simply not doing an fchown if the group -owner of the file descriptor has no host mapping according to the -configured GIDMappings. - -Change-Id: I7a7911f398a38b2d21e1bb6bc4b3131f6504ca8d -Signed-off-by: Aleksa Sarai ---- - libcontainer/init_linux.go | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git a/libcontainer/init_linux.go b/libcontainer/init_linux.go -index 1187835..99cc02c 100644 ---- a/libcontainer/init_linux.go -+++ b/libcontainer/init_linux.go -@@ -277,7 +277,7 @@ func setupUser(config *initConfig) error { - - // before we change to the container's user make sure that the processes STDIO - // is correctly owned by the user that we are switching to. -- if err := fixStdioPermissions(execUser); err != nil { -+ if err := fixStdioPermissions(config, execUser); err != nil { - return err - } - -@@ -312,7 +312,7 @@ func setupUser(config *initConfig) error { - // fixStdioPermissions fixes the permissions of PID 1's STDIO within the container to the specified user. - // The ownership needs to match because it is created outside of the container and needs to be - // localized. --func fixStdioPermissions(u *user.ExecUser) error { -+func fixStdioPermissions(config *initConfig, u *user.ExecUser) error { - var null syscall.Stat_t - if err := syscall.Stat("/dev/null", &null); err != nil { - return err -@@ -326,10 +326,20 @@ func fixStdioPermissions(u *user.ExecUser) error { - if err := syscall.Fstat(int(fd), &s); err != nil { - return err - } -+ - // Skip chown of /dev/null if it was used as one of the STDIO fds. - if s.Rdev == null.Rdev { - continue - } -+ -+ // Skip chown if s.Gid is actually an unmapped gid in the host. While -+ // this is a bit dodgy if it just so happens that the console _is_ -+ // owned by overflow_gid, there's no way for us to disambiguate this as -+ // a userspace program. -+ if _, err := config.Config.HostGID(int(s.Gid)); err != nil { -+ continue -+ } -+ - // We only change the uid owner (as it is possible for the mount to - // prefer a different gid, and there's no reason for us to change it). - // The reason why we don't just leave the default uid=X mount setup is --- -2.7.4.3 - diff --git a/patch/0053-runc-print-error-message-during-start-into-co.patch b/patch/0008-runc-print-error-message-during-start-into-container.patch similarity index 40% rename from patch/0053-runc-print-error-message-during-start-into-co.patch rename to patch/0008-runc-print-error-message-during-start-into-container.patch index 83ec2de..77f5301 100644 --- a/patch/0053-runc-print-error-message-during-start-into-co.patch +++ b/patch/0008-runc-print-error-message-during-start-into-container.patch @@ -1,30 +1,26 @@ -From 165870fb442ca29a208a3d17f8ece6b8e74da2de Mon Sep 17 00:00:00 2001 -From: panwenxiang -Date: Wed, 22 Aug 2018 17:04:19 +0800 -Subject: [PATCH 53/94] runc: print error message during start into - container log +From 8a337b8a40bf15bc25770cc5a853e962a96435c0 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:24:53 +0800 +Subject: [PATCH] runc: print error message during start into container log -[Changelog]:cherry-pick from vtwrse <75eba7a697edde39e25e39c870a33f3dc5fb327a> -Change-Id: Id23f14690d77a4f79611e82f4e2ece41d9b19edf -Signed-off-by: jiangpengfei9 --- - main_unix.go | 2 ++ + init.go | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/main_unix.go b/main_unix.go -index b601abc..56904e0 100644 ---- a/main_unix.go -+++ b/main_unix.go -@@ -3,6 +3,7 @@ +diff --git a/init.go b/init.go +index bddc237..a0520b5 100644 +--- a/init.go ++++ b/init.go +@@ -1,6 +1,7 @@ package main import ( + "fmt" "os" "runtime" + "strconv" +@@ -34,6 +35,7 @@ func init() { -@@ -24,6 +25,7 @@ var initCommand = cli.Command{ - Action: func(context *cli.Context) error { factory, _ := libcontainer.New("") if err := factory.StartInitialization(); err != nil { + fmt.Fprintf(os.Stderr, "libcontainer: container start initialization failed: %s", err) @@ -32,5 +28,5 @@ index b601abc..56904e0 100644 // or write it to stderr because the parent process will handle this os.Exit(1) -- -2.7.4.3 +2.30.0 diff --git a/patch/0009-rootless-add-autogenerated-rootless-config-.patch b/patch/0009-rootless-add-autogenerated-rootless-config-.patch deleted file mode 100644 index 9cbad02..0000000 --- a/patch/0009-rootless-add-autogenerated-rootless-config-.patch +++ /dev/null @@ -1,203 +0,0 @@ -From bdc84a618b475cc21a39dfa2fe57eae68b6110b6 Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Mon, 9 May 2016 21:26:11 +1000 -Subject: [PATCH 09/94] rootless: add autogenerated rootless config - from `runc spec` - -Since this is a runC-specific feature, this belongs here over in -opencontainers/ocitools (which is for generic OCI runtimes). - -In addition, we don't create a new network namespace. This is because -currently if you want to set up a veth bridge you need CAP_NET_ADMIN in -both network namespaces' pinned user namespace to create the necessary -interfaces in each network namespace. - -Change-Id: I682b9c82f75c04b58d523ddb084b6adbb543e3d1 -Signed-off-by: Aleksa Sarai ---- - libcontainer/specconv/example.go | 73 ++++++++++++++++++++++++++++++-- - libcontainer/specconv/spec_linux_test.go | 30 +++---------- - spec.go | 11 ++++- - 3 files changed, 85 insertions(+), 29 deletions(-) - -diff --git a/libcontainer/specconv/example.go b/libcontainer/specconv/example.go -index 44fad97..9a4460c 100644 ---- a/libcontainer/specconv/example.go -+++ b/libcontainer/specconv/example.go -@@ -1,16 +1,18 @@ - package specconv - - import ( -+ "os" - "runtime" -+ "strings" - - "github.com/opencontainers/runtime-spec/specs-go" - ) - - func sPtr(s string) *string { return &s } - --// ExampleSpec returns an example spec file, with many options set so a user --// can see what a standard spec file looks like. --func ExampleSpec() *specs.Spec { -+// Example returns an example spec file, with many options set so a user can -+// see what a standard spec file looks like. -+func Example() *specs.Spec { - return &specs.Spec{ - Version: specs.Version, - Platform: specs.Platform{ -@@ -158,3 +160,68 @@ func ExampleSpec() *specs.Spec { - }, - } - } -+ -+// ExampleRootless returns an example spec file that works with rootless -+// containers. It's essentially a modified version of the specfile from -+// Example(). -+func ToRootless(spec *specs.Spec) { -+ var namespaces []specs.LinuxNamespace -+ -+ // Remove networkns from the spec. -+ for _, ns := range spec.Linux.Namespaces { -+ switch ns.Type { -+ case specs.NetworkNamespace, specs.UserNamespace: -+ // Do nothing. -+ default: -+ namespaces = append(namespaces, ns) -+ } -+ } -+ // Add userns to the spec. -+ namespaces = append(namespaces, specs.LinuxNamespace{ -+ Type: specs.UserNamespace, -+ }) -+ spec.Linux.Namespaces = namespaces -+ -+ // Add mappings for the current user. -+ spec.Linux.UIDMappings = []specs.LinuxIDMapping{{ -+ HostID: uint32(os.Geteuid()), -+ ContainerID: 0, -+ Size: 1, -+ }} -+ spec.Linux.GIDMappings = []specs.LinuxIDMapping{{ -+ HostID: uint32(os.Getegid()), -+ ContainerID: 0, -+ Size: 1, -+ }} -+ -+ // Fix up mounts. -+ var mounts []specs.Mount -+ for _, mount := range spec.Mounts { -+ // Ignore all mounts that are under /sys. -+ if strings.HasPrefix(mount.Destination, "/sys") { -+ continue -+ } -+ -+ // Remove all gid= and uid= mappings. -+ var options []string -+ for _, option := range mount.Options { -+ if !strings.HasPrefix(option, "gid=") && !strings.HasPrefix(option, "uid=") { -+ options = append(options, option) -+ } -+ } -+ -+ mount.Options = options -+ mounts = append(mounts, mount) -+ } -+ // Add the sysfs mount as an rbind. -+ mounts = append(mounts, specs.Mount{ -+ Source: "/sys", -+ Destination: "/sys", -+ Type: "none", -+ Options: []string{"rbind", "nosuid", "noexec", "nodev", "ro"}, -+ }) -+ spec.Mounts = mounts -+ -+ // Remove cgroup settings. -+ spec.Linux.Resources = nil -+} -diff --git a/libcontainer/specconv/spec_linux_test.go b/libcontainer/specconv/spec_linux_test.go -index 741fae6..f7292f3 100644 ---- a/libcontainer/specconv/spec_linux_test.go -+++ b/libcontainer/specconv/spec_linux_test.go -@@ -3,7 +3,6 @@ - package specconv - - import ( -- "os" - "testing" - - "github.com/opencontainers/runc/libcontainer/configs/validate" -@@ -53,8 +52,9 @@ func TestLinuxCgroupsPathNotSpecified(t *testing.T) { - } - - func TestSpecconvExampleValidate(t *testing.T) { -- spec := ExampleSpec() -+ spec := Example() - spec.Root.Path = "/" -+ - opts := &CreateOpts{ - CgroupName: "ContainerID", - UseSystemdCgroup: false, -@@ -97,29 +97,9 @@ func TestDupNamespaces(t *testing.T) { - } - - func TestRootlessSpecconvValidate(t *testing.T) { -- spec := &specs.Spec{ -- Linux: specs.Linux{ -- Namespaces: []specs.Namespace{ -- { -- Type: specs.UserNamespace, -- }, -- }, -- UIDMappings: []specs.IDMapping{ -- { -- HostID: uint32(os.Geteuid()), -- ContainerID: 0, -- Size: 1, -- }, -- }, -- GIDMappings: []specs.IDMapping{ -- { -- HostID: uint32(os.Getegid()), -- ContainerID: 0, -- Size: 1, -- }, -- }, -- }, -- } -+ spec := Example() -+ spec.Root.Path = "/" -+ ToRootless(spec) - - opts := &CreateOpts{ - CgroupName: "ContainerID", -diff --git a/spec.go b/spec.go -index d7df312..9024ad4 100644 ---- a/spec.go -+++ b/spec.go -@@ -64,12 +64,21 @@ container on your host.`, - Value: "", - Usage: "path to the root of the bundle directory", - }, -+ cli.BoolFlag{ -+ Name: "rootless", -+ Usage: "generate a configuration for a rootless container", -+ }, - }, - Action: func(context *cli.Context) error { - if err := checkArgs(context, 0, exactArgs); err != nil { - return err - } -- spec := specconv.ExampleSpec() -+ spec := specconv.Example() -+ -+ rootless := context.Bool("rootless") -+ if rootless { -+ specconv.ToRootless(spec) -+ } - - checkNoFile := func(name string) error { - _, err := os.Stat(name) --- -2.7.4.3 - diff --git a/patch/0009-runc-ignore-exec.fifo-removing-not-exist-error.patch b/patch/0009-runc-ignore-exec.fifo-removing-not-exist-error.patch new file mode 100644 index 0000000..f29b01b --- /dev/null +++ b/patch/0009-runc-ignore-exec.fifo-removing-not-exist-error.patch @@ -0,0 +1,28 @@ +From 4e44d5c41ff9d97fdae4e0951ef1d461e07e84ad Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:25:57 +0800 +Subject: [PATCH] runc: ignore exec.fifo removing not exist error + +--- + libcontainer/container_linux.go | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go +index 9df830d..6b68a0e 100644 +--- a/libcontainer/container_linux.go ++++ b/libcontainer/container_linux.go +@@ -325,7 +325,10 @@ func handleFifoResult(result openResult) error { + if err := readFromExecFifo(f); err != nil { + return err + } +- return os.Remove(f.Name()) ++ if err := os.Remove(f.Name()); !os.IsNotExist(err) { ++ return err ++ } ++ return nil + } + + type openResult struct { +-- +2.30.0 + diff --git a/patch/0010-integration-added-root-requires.patch b/patch/0010-integration-added-root-requires.patch deleted file mode 100644 index 4d2cf87..0000000 --- a/patch/0010-integration-added-root-requires.patch +++ /dev/null @@ -1,143 +0,0 @@ -From 7c81f032861f5654e9063e5af82c7794401682f4 Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Tue, 10 May 2016 22:22:13 +1000 -Subject: [PATCH 10/94] integration: added root requires - -This is in preperation of allowing us to run the integration test suite -on rootless containers. - -Change-Id: I38f7115df4f931857659892b07745c86507d14bf -Signed-off-by: Aleksa Sarai ---- - tests/integration/cgroups.bats | 8 ++++++-- - tests/integration/checkpoint.bats | 3 ++- - tests/integration/helpers.bash | 10 +++++++++- - tests/integration/kill.bats | 1 - - tests/integration/pause.bats | 6 ++++++ - tests/integration/update.bats | 6 +++++- - 6 files changed, 28 insertions(+), 6 deletions(-) - -diff --git a/tests/integration/cgroups.bats b/tests/integration/cgroups.bats -index 9ab6f43..90095a7 100644 ---- a/tests/integration/cgroups.bats -+++ b/tests/integration/cgroups.bats -@@ -28,7 +28,9 @@ function check_cgroup_value() { - } - - @test "runc update --kernel-memory (initialized)" { -- requires cgroups_kmem -+ # XXX: currently cgroups require root containers. -+ requires cgroups_kmem root -+ - # Add cgroup path - sed -i 's/\("linux": {\)/\1\n "cgroupsPath": "\/runc-cgroups-integration-test",/' ${BUSYBOX_BUNDLE}/config.json - -@@ -56,7 +58,9 @@ EOF - } - - @test "runc update --kernel-memory (uninitialized)" { -- requires cgroups_kmem -+ # XXX: currently cgroups require root containers. -+ requires cgroups_kmem root -+ - # Add cgroup path - sed -i 's/\("linux": {\)/\1\n "cgroupsPath": "\/runc-cgroups-integration-test",/' ${BUSYBOX_BUNDLE}/config.json - -diff --git a/tests/integration/checkpoint.bats b/tests/integration/checkpoint.bats -index 34d1b03..e91fd65 100644 ---- a/tests/integration/checkpoint.bats -+++ b/tests/integration/checkpoint.bats -@@ -12,7 +12,8 @@ function teardown() { - } - - @test "checkpoint and restore" { -- requires criu -+ # XXX: currently criu require root containers. -+ requires criu root - - # criu does not work with external terminals so.. - # setting terminal and root:readonly: to false -diff --git a/tests/integration/helpers.bash b/tests/integration/helpers.bash -index e4c2cb9..6548333 100644 ---- a/tests/integration/helpers.bash -+++ b/tests/integration/helpers.bash -@@ -40,6 +40,9 @@ CGROUP_CPU_BASE_PATH=$(grep "cgroup" /proc/self/mountinfo | gawk 'toupper($NF) ~ - KMEM="${CGROUP_MEMORY_BASE_PATH}/memory.kmem.limit_in_bytes" - RT_PERIOD="${CGROUP_CPU_BASE_PATH}/cpu.rt_period_us" - -+# Check if we're in rootless mode. -+ROOTLESS=$(id -u) -+ - # Wrapper for runc. - function runc() { - run __runc "$@" -@@ -68,7 +71,12 @@ function requires() { - case $var in - criu) - if [ ! -e "$CRIU" ]; then -- skip "Test requires ${var}." -+ skip "test requires ${var}" -+ fi -+ ;; -+ root) -+ if [ "$ROOTLESS" -ne 0 ]; then -+ skip "test requires ${var}" - fi - ;; - cgroups_kmem) -diff --git a/tests/integration/kill.bats b/tests/integration/kill.bats -index a049de6..74246fa 100644 ---- a/tests/integration/kill.bats -+++ b/tests/integration/kill.bats -@@ -13,7 +13,6 @@ function teardown() { - - - @test "kill detached busybox" { -- - # run busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -diff --git a/tests/integration/pause.bats b/tests/integration/pause.bats -index 2f46a6c..30d98b5 100644 ---- a/tests/integration/pause.bats -+++ b/tests/integration/pause.bats -@@ -12,6 +12,9 @@ function teardown() { - } - - @test "runc pause and resume" { -+ # XXX: currently cgroups require root containers. -+ requires root -+ - # run busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -@@ -34,6 +37,9 @@ function teardown() { - } - - @test "runc pause and resume with nonexist container" { -+ # XXX: currently cgroups require root containers. -+ requires root -+ - # run test_busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -diff --git a/tests/integration/update.bats b/tests/integration/update.bats -index 9aaf1b9..4a6bf7f 100644 ---- a/tests/integration/update.bats -+++ b/tests/integration/update.bats -@@ -50,7 +50,11 @@ function check_cgroup_value() { - - # TODO: test rt cgroup updating - @test "update" { -- requires cgroups_kmem -+ # XXX: currently cgroups require root containers. -+ # XXX: Also, this test should be split into separate sections so that we -+ # can skip kmem without skipping update tests overall. -+ requires cgroups_kmem root -+ - # run a few busyboxes detached - runc run -d --console-socket $CONSOLE_SOCKET test_update - [ "$status" -eq 0 ] --- -2.7.4.3 - diff --git a/patch/0055-Add-file-fds-limit.patch b/patch/0010-runc-Add-file-fds-limit.patch similarity index 54% rename from patch/0055-Add-file-fds-limit.patch rename to patch/0010-runc-Add-file-fds-limit.patch index 3204d0e..af730ca 100644 --- a/patch/0055-Add-file-fds-limit.patch +++ b/patch/0010-runc-Add-file-fds-limit.patch @@ -1,53 +1,26 @@ -From fdf82f9b9bac43cac5672226750c826e742559ce Mon Sep 17 00:00:00 2001 -From: yangshukui -Date: Mon, 18 Sep 2017 17:25:30 +0800 -Subject: [PATCH 55/94] Add file fds limit +From 75bed4f00f31595800cb30d176656b381bfa646b Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:27:05 +0800 +Subject: [PATCH] runc:Add file fds limit -With the patch(https://lwn.net/Articles/604129/),we can limit the -num of open files in container. -Conflicts: - events.go - vendor/github.com/opencontainers/runtime-spec/specs-go/config.go - -Change-Id: I8264c0dd398227ebbd95b7dd9dae4688d76dee9b -Signed-off-by: yangshukui --- - events.go | 9 +++ - libcontainer/cgroups/fs/apply_raw.go | 1 + - libcontainer/cgroups/fs/files.go | 74 ++++++++++++++++++++++ - libcontainer/cgroups/stats.go | 8 +++ - libcontainer/cgroups/systemd/apply_systemd.go | 1 + - libcontainer/configs/cgroup_unix.go | 3 + - libcontainer/specconv/spec_linux.go | 3 + - .../opencontainers/runtime-spec/specs-go/config.go | 8 +++ - 8 files changed, 107 insertions(+) + events.go | 3 + + libcontainer/cgroups/fs/files.go | 79 +++++++++++++++++++ + libcontainer/cgroups/fs/fs.go | 1 + + libcontainer/cgroups/stats.go | 8 ++ + libcontainer/cgroups/systemd/v1.go | 1 + + libcontainer/configs/cgroup_linux.go | 3 + + libcontainer/specconv/spec_linux.go | 4 + + types/events.go | 6 ++ + .../runtime-spec/specs-go/config.go | 8 ++ + 9 files changed, 113 insertions(+) create mode 100644 libcontainer/cgroups/fs/files.go diff --git a/events.go b/events.go -index 6c21e52..79a72bf 100644 +index 6cdc01c..94712e3 100644 --- a/events.go +++ b/events.go -@@ -27,6 +27,7 @@ type stats struct { - CPU cpu `json:"cpu"` - Memory memory `json:"memory"` - Pids pids `json:"pids"` -+ Files files `json:"files"` - Blkio blkio `json:"blkio"` - Hugetlb map[string]hugetlb `json:"hugetlb"` - } -@@ -60,6 +61,11 @@ type pids struct { - Limit uint64 `json:"limit,omitempty"` - } - -+type files struct { -+ Usage uint64 `json:"usage,omitempty"` -+ Limit uint64 `json:"limit,omitempty"` -+} -+ - type throttling struct { - Periods uint64 `json:"periods,omitempty"` - ThrottledPeriods uint64 `json:"throttledPeriods,omitempty"` -@@ -198,6 +204,9 @@ func convertLibcontainerStats(ls *libcontainer.Stats) *stats { +@@ -120,6 +120,9 @@ func convertLibcontainerStats(ls *libcontainer.Stats) *types.Stats { s.Pids.Current = cg.PidsStats.Current s.Pids.Limit = cg.PidsStats.Limit @@ -57,52 +30,35 @@ index 6c21e52..79a72bf 100644 s.CPU.Usage.Kernel = cg.CpuStats.CpuUsage.UsageInKernelmode s.CPU.Usage.User = cg.CpuStats.CpuUsage.UsageInUsermode s.CPU.Usage.Total = cg.CpuStats.CpuUsage.TotalUsage -diff --git a/libcontainer/cgroups/fs/apply_raw.go b/libcontainer/cgroups/fs/apply_raw.go -index 66debae..1bf59a4 100644 ---- a/libcontainer/cgroups/fs/apply_raw.go -+++ b/libcontainer/cgroups/fs/apply_raw.go -@@ -24,6 +24,7 @@ var ( - &CpuGroup{}, - &CpuacctGroup{}, - &PidsGroup{}, -+ &FilesGroup{}, - &BlkioGroup{}, - &HugetlbGroup{}, - &NetClsGroup{}, diff --git a/libcontainer/cgroups/fs/files.go b/libcontainer/cgroups/fs/files.go new file mode 100644 -index 0000000..f2e253a +index 0000000..3315cda --- /dev/null +++ b/libcontainer/cgroups/fs/files.go -@@ -0,0 +1,74 @@ -+// +build linux +@@ -0,0 +1,79 @@ ++/* ++Copyright (c) Huawei Technologies Co., Ltd. 2017-2019. All rights reserved. ++Use of this source code is governed by Apache-2.0 ++license that can be found in the LICENSE file. ++Description: files cgroup common functions ++Author: yangshukui ++Create: 2017-09-18 ++*/ + +package fs + +import ( + "fmt" -+ "io/ioutil" + "strconv" + + "github.com/opencontainers/runc/libcontainer/cgroups" + "github.com/opencontainers/runc/libcontainer/configs" -+) -+ -+var ( -+ defaultFilesMax = "8192" ++ "path/filepath" +) + +type FilesGroup struct { +} + -+func init() { -+ contents, err := ioutil.ReadFile("/proc/sys/fs/file-max") -+ if err != nil { -+ return -+ } -+ defaultFilesMax = string(contents) -+} -+ +func (s *FilesGroup) Name() string { + return "files" +} @@ -117,7 +73,8 @@ index 0000000..f2e253a + +func (s *FilesGroup) Set(path string, cgroup *configs.Cgroup) error { + if cgroup.Resources.FilesLimit != 0 { -+ limit := defaultFilesMax ++ // "max" is the fallback value. ++ limit := "max" + if cgroup.Resources.FilesLimit > 0 { + limit = strconv.FormatInt(cgroup.Resources.FilesLimit, 10) + } @@ -140,20 +97,41 @@ index 0000000..f2e253a + return fmt.Errorf("failed to parse files.usage - %s", err) + } + -+ limit, err := getCgroupParamUint(path, "files.limit") ++ maxString, err := getCgroupParamString(path, "files.limit") + if err != nil { + return fmt.Errorf("failed to parse files.limit - %s", err) + } + ++ // Default if files.limit == "max" is 0 -- which represents "no limit". ++ var max uint64 ++ if maxString != "max" { ++ max, err = parseUint(maxString, 10, 64) ++ if err != nil { ++ return fmt.Errorf("failed to parse files.limit -- unable to parse %q as a uint from Cgroup file %q", maxString, filepath.Join(path, "file.limits")) ++ } ++ } ++ + stats.FilesStats.Usage = usage -+ stats.FilesStats.Limit = limit ++ stats.FilesStats.Limit = max + return nil +} +diff --git a/libcontainer/cgroups/fs/fs.go b/libcontainer/cgroups/fs/fs.go +index fb4fcc7..59b6dff 100644 +--- a/libcontainer/cgroups/fs/fs.go ++++ b/libcontainer/cgroups/fs/fs.go +@@ -20,6 +20,7 @@ var subsystems = []subsystem{ + &CpuGroup{}, + &CpuacctGroup{}, + &PidsGroup{}, ++ &FilesGroup{}, + &BlkioGroup{}, + &HugetlbGroup{}, + &NetClsGroup{}, diff --git a/libcontainer/cgroups/stats.go b/libcontainer/cgroups/stats.go -index b483f1b..5079410 100644 +index 40a81dd..8f1d4ce 100644 --- a/libcontainer/cgroups/stats.go +++ b/libcontainer/cgroups/stats.go -@@ -62,6 +62,13 @@ type PidsStats struct { +@@ -116,6 +116,13 @@ type PidsStats struct { Limit uint64 `json:"limit,omitempty"` } @@ -167,19 +145,19 @@ index b483f1b..5079410 100644 type BlkioStatEntry struct { Major uint64 `json:"major,omitempty"` Minor uint64 `json:"minor,omitempty"` -@@ -94,6 +101,7 @@ type Stats struct { - CpuStats CpuStats `json:"cpu_stats,omitempty"` +@@ -160,6 +167,7 @@ type Stats struct { + CPUSetStats CPUSetStats `json:"cpuset_stats,omitempty"` MemoryStats MemoryStats `json:"memory_stats,omitempty"` PidsStats PidsStats `json:"pids_stats,omitempty"` + FilesStats FilesStats `json:"files_stats,omitempty"` BlkioStats BlkioStats `json:"blkio_stats,omitempty"` // the map is in the format "size of hugepage: stats of the hugepage" HugetlbStats map[string]HugetlbStats `json:"hugetlb_stats,omitempty"` -diff --git a/libcontainer/cgroups/systemd/apply_systemd.go b/libcontainer/cgroups/systemd/apply_systemd.go -index 456c57d..0411b72 100644 ---- a/libcontainer/cgroups/systemd/apply_systemd.go -+++ b/libcontainer/cgroups/systemd/apply_systemd.go -@@ -54,6 +54,7 @@ var subsystems = subsystemSet{ +diff --git a/libcontainer/cgroups/systemd/v1.go b/libcontainer/cgroups/systemd/v1.go +index a74a05a..19d1099 100644 +--- a/libcontainer/cgroups/systemd/v1.go ++++ b/libcontainer/cgroups/systemd/v1.go +@@ -63,6 +63,7 @@ var legacySubsystems = []subsystem{ &fs.CpuGroup{}, &fs.CpuacctGroup{}, &fs.PidsGroup{}, @@ -187,11 +165,11 @@ index 456c57d..0411b72 100644 &fs.BlkioGroup{}, &fs.HugetlbGroup{}, &fs.PerfEventGroup{}, -diff --git a/libcontainer/configs/cgroup_unix.go b/libcontainer/configs/cgroup_unix.go -index 75a3db0..acf0562 100644 ---- a/libcontainer/configs/cgroup_unix.go -+++ b/libcontainer/configs/cgroup_unix.go -@@ -89,6 +89,9 @@ type Resources struct { +diff --git a/libcontainer/configs/cgroup_linux.go b/libcontainer/configs/cgroup_linux.go +index 2d4a898..8cbc154 100644 +--- a/libcontainer/configs/cgroup_linux.go ++++ b/libcontainer/configs/cgroup_linux.go +@@ -87,6 +87,9 @@ type Resources struct { // Process limit; set <= `0' to disable limit. PidsLimit int64 `json:"pids_limit"` @@ -202,24 +180,49 @@ index 75a3db0..acf0562 100644 BlkioWeight uint16 `json:"blkio_weight"` diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index a968313..b82082e 100644 +index c7ca4c8..19dd947 100644 --- a/libcontainer/specconv/spec_linux.go +++ b/libcontainer/specconv/spec_linux.go -@@ -403,6 +403,9 @@ func createCgroupConfig(opts *CreateOpts) (*configs.Cgroup, error) { - if r.Pids != nil { - c.Resources.PidsLimit = r.Pids.Limit - } -+ if r.Files != nil && r.Files.Limit != nil { -+ c.Resources.FilesLimit = *r.Files.Limit -+ } - if r.BlockIO != nil { - if r.BlockIO.Weight != nil { - c.Resources.BlkioWeight = *r.BlockIO.Weight +@@ -747,6 +747,10 @@ func CreateCgroupConfig(opts *CreateOpts, defaultDevs []*devices.Device) (*confi + if r.Pids != nil { + c.Resources.PidsLimit = r.Pids.Limit + } ++ if r.Files != nil && r.Files.Limit != nil { ++ c.Resources.FilesLimit = *r.Files.Limit ++ } ++ + if r.BlockIO != nil { + if r.BlockIO.Weight != nil { + c.Resources.BlkioWeight = *r.BlockIO.Weight +diff --git a/types/events.go b/types/events.go +index 81bde82..1fdff8f 100644 +--- a/types/events.go ++++ b/types/events.go +@@ -15,6 +15,7 @@ type Stats struct { + CPUSet CPUSet `json:"cpuset"` + Memory Memory `json:"memory"` + Pids Pids `json:"pids"` ++ Files files `json:"files"` + Blkio Blkio `json:"blkio"` + Hugetlb map[string]Hugetlb `json:"hugetlb"` + IntelRdt IntelRdt `json:"intel_rdt"` +@@ -50,6 +51,11 @@ type Pids struct { + Limit uint64 `json:"limit,omitempty"` + } + ++type files struct { ++ Usage uint64 `json:"usage,omitempty"` ++ Limit uint64 `json:"limit,omitempty"` ++} ++ + type Throttling struct { + Periods uint64 `json:"periods,omitempty"` + ThrottledPeriods uint64 `json:"throttledPeriods,omitempty"` diff --git a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -index 6d2a026..603ecf4 100644 +index 6a7a91e..e8143b2 100644 --- a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go +++ b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -@@ -318,6 +318,12 @@ type LinuxPids struct { +@@ -336,6 +336,12 @@ type LinuxPids struct { Limit int64 `json:"limit"` } @@ -232,7 +235,7 @@ index 6d2a026..603ecf4 100644 // LinuxNetwork identification and priority configuration type LinuxNetwork struct { // Set class identifier for container's network packets -@@ -340,6 +346,8 @@ type LinuxResources struct { +@@ -362,6 +368,8 @@ type LinuxResources struct { CPU *LinuxCPU `json:"cpu,omitempty"` // Task resource restriction configuration. Pids *LinuxPids `json:"pids,omitempty"` @@ -242,5 +245,5 @@ index 6d2a026..603ecf4 100644 BlockIO *LinuxBlockIO `json:"blockIO,omitempty"` // Hugetlb limit (in bytes) -- -2.7.4.3 +2.30.0 diff --git a/patch/0060-runc-runc-logs-forwarding-to-syslog.patch b/patch/0011-runc-logs-forwarding-to-syslog.patch similarity index 57% rename from patch/0060-runc-runc-logs-forwarding-to-syslog.patch rename to patch/0011-runc-logs-forwarding-to-syslog.patch index d07f219..04bb88e 100644 --- a/patch/0060-runc-runc-logs-forwarding-to-syslog.patch +++ b/patch/0011-runc-logs-forwarding-to-syslog.patch @@ -1,98 +1,95 @@ -From c8d9a899d3425c342e83868540ca357bf9f7a661 Mon Sep 17 00:00:00 2001 -From: panwenxiang -Date: Fri, 19 Oct 2018 15:00:34 +0800 -Subject: [PATCH 60/94] runc: runc logs forwarding to syslog +From 3cea048a118096974936bf35c793075eabe830df Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:28:12 +0800 +Subject: [PATCH] runc: runc logs forwarding to syslog -reason:runc logs forwarding to syslog and using the config "--log-level" to control the number of logs - -Change-Id: Ia93f6f5c56131ea8558c4b7b7e5c4bec827a1bad - -Conflicts: - libcontainer/container_linux.go - libcontainer/process_linux.go - libcontainer/state_linux.go --- - create.go | 3 +- - libcontainer/configs/config.go | 55 +++++++++--- - libcontainer/container_linux.go | 16 ++-- - libcontainer/process_linux.go | 19 ++-- - libcontainer/state_linux.go | 4 +- - main.go | 33 +++++-- - script/runc-euleros.spec | 2 +- - vendor/github.com/Sirupsen/logrus/Checklist | 1 + - .../Sirupsen/logrus/hooks/airbrake/airbrake.go | 54 +++++++++++ - .../Sirupsen/logrus/hooks/bugsnag/bugsnag.go | 68 ++++++++++++++ - .../Sirupsen/logrus/hooks/papertrail/README.md | 28 ++++++ - .../Sirupsen/logrus/hooks/papertrail/papertrail.go | 55 ++++++++++++ - .../Sirupsen/logrus/hooks/sentry/README.md | 61 +++++++++++++ - .../Sirupsen/logrus/hooks/sentry/sentry.go | 100 +++++++++++++++++++++ - .../Sirupsen/logrus/hooks/syslog/README.md | 20 +++++ - .../Sirupsen/logrus/hooks/syslog/syslog.go | 59 ++++++++++++ - 16 files changed, 535 insertions(+), 43 deletions(-) - create mode 100644 vendor/github.com/Sirupsen/logrus/Checklist - create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/airbrake/airbrake.go - create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/bugsnag/bugsnag.go - create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/papertrail/README.md - create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/papertrail/papertrail.go - create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/sentry/README.md - create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/sentry/sentry.go - create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/syslog/README.md - create mode 100644 vendor/github.com/Sirupsen/logrus/hooks/syslog/syslog.go + create.go | 2 +- + libcontainer/configs/config.go | 70 +++++++++--- + libcontainer/container_linux.go | 2 +- + main.go | 20 ++++ + vendor/github.com/sirupsen/logrus/Checklist | 1 + + .../logrus/hooks/airbrake/airbrake.go | 54 ++++++++++ + .../sirupsen/logrus/hooks/bugsnag/bugsnag.go | 68 ++++++++++++ + .../logrus/hooks/papertrail/README.md | 28 +++++ + .../logrus/hooks/papertrail/papertrail.go | 55 ++++++++++ + .../sirupsen/logrus/hooks/sentry/README.md | 61 +++++++++++ + .../sirupsen/logrus/hooks/sentry/sentry.go | 100 ++++++++++++++++++ + .../sirupsen/logrus/hooks/syslog/README.md | 20 ++++ + .../sirupsen/logrus/hooks/syslog/syslog.go | 59 +++++++++++ + 13 files changed, 523 insertions(+), 17 deletions(-) + create mode 100644 vendor/github.com/sirupsen/logrus/Checklist + create mode 100644 vendor/github.com/sirupsen/logrus/hooks/airbrake/airbrake.go + create mode 100644 vendor/github.com/sirupsen/logrus/hooks/bugsnag/bugsnag.go + create mode 100644 vendor/github.com/sirupsen/logrus/hooks/papertrail/README.md + create mode 100644 vendor/github.com/sirupsen/logrus/hooks/papertrail/papertrail.go + create mode 100644 vendor/github.com/sirupsen/logrus/hooks/sentry/README.md + create mode 100644 vendor/github.com/sirupsen/logrus/hooks/sentry/sentry.go + create mode 100644 vendor/github.com/sirupsen/logrus/hooks/syslog/README.md + create mode 100644 vendor/github.com/sirupsen/logrus/hooks/syslog/syslog.go diff --git a/create.go b/create.go -index 096e8e3..d0246ad 100644 +index 97854b8..46ef1ef 100644 --- a/create.go +++ b/create.go -@@ -1,9 +1,8 @@ - package main +@@ -2,9 +2,9 @@ package main import ( + "fmt" - "os" -- + "github.com/urfave/cli" + "os" ) var createCommand = cli.Command{ diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go -index 49bc7a3..d6bc603 100644 +index 72910ff..9076846 100644 --- a/libcontainer/configs/config.go +++ b/libcontainer/configs/config.go -@@ -4,12 +4,18 @@ import ( +@@ -4,15 +4,22 @@ import ( "bytes" "encoding/json" "fmt" -+ "github.com/Sirupsen/logrus" -+ "github.com/opencontainers/runtime-spec/specs-go" - "os/exec" - "strings" - "time" +- "os/exec" +- "time" +- + "github.com/sirupsen/logrus" +- + "github.com/opencontainers/runc/libcontainer/devices" + "github.com/opencontainers/runtime-spec/specs-go" ++ "os/exec" ++ "time" +) - -- "github.com/Sirupsen/logrus" -- "github.com/opencontainers/runtime-spec/specs-go" ++ +const ( + minHookTimeOut = 1 * time.Second + defaultHookTimeOut = 5 * time.Second ++ maxHookTimeOut = 120 * time.Second + //the runc default timeout is 120s, so set the defaultWarnTime to 80% of the default timeout. + defaultWarnTime = 96 * time.Second ) ++ type Rlimit struct { -@@ -195,9 +201,9 @@ type Config struct { - // about the type of the Capabilities field. - // Refer to: https://github.com/opencontainers/runtime-spec/commit/37391fb - type CompatConfig struct { -- Config -- Cgroups *CompatCgroup `json:"cgroups"` -- Capabilities interface{} `json:"capabilities,omitempty" platform:"linux"` -+ Config -+ Cgroups *CompatCgroup `json:"cgroups"` -+ Capabilities interface{} `json:"capabilities,omitempty" platform:"linux"` - } + Type int `json:"type"` + Hard uint64 `json:"hard"` +@@ -279,11 +286,11 @@ type Capabilities struct { + + func (hooks HookList) RunHooks(state *specs.State) error { + for i, h := range hooks { +- logrus.Infof("run hooks %d:%T", i, h) ++ logrus.Infof("run hooks %d:%T, ContainerId: %s", i, h, state.ID) + if err := h.Run(state); err != nil { +- return fmt.Errorf("error running hook #%d: %w", i, err) ++ return fmt.Errorf("error running hook #%d: %w, ContainerId: %s", i, err, state.ID) + } +- logrus.Infof("hooks %d:%T done", i, h) ++ logrus.Infof("hooks %d:%T done, ContainerId: %s", i, h, state.ID) + } - type Hooks struct { -@@ -342,29 +348,52 @@ func (c Command) Run(s HookState) error { + return nil +@@ -388,29 +395,62 @@ func (c Command) Run(s *specs.State) error { Stdout: &stdout, Stderr: &stderr, } @@ -100,8 +97,13 @@ index 49bc7a3..d6bc603 100644 if err := cmd.Start(); err != nil { return err } -+ if c.Timeout != nil && *c.Timeout < minHookTimeOut { ++ if c.Timeout != nil && *c.Timeout <= minHookTimeOut { + *c.Timeout = defaultHookTimeOut ++ logrus.Warnf("hook timeout should not be negative or zero, set hook timeout as 5s") ++ } ++ if c.Timeout != nil && *c.Timeout > maxHookTimeOut { ++ logrus.Warnf("hook timeout: %s is too long, use 120s as timeout. ContainerID: %s", *c.Timeout, s.ID) ++ *c.Timeout = maxHookTimeOut + } errC := make(chan error, 1) + var ( @@ -111,7 +113,7 @@ index 49bc7a3..d6bc603 100644 go func() { err := cmd.Wait() if err != nil { - err = fmt.Errorf("error running hook: %v, stdout: %s, stderr: %s", err, stdout.String(), stderr.String()) + err = fmt.Errorf("error running hook: %w, stdout: %s, stderr: %s", err, stdout.String(), stderr.String()) } + elapsedTime := time.Since(startTime) + logrus.Infof("hook spends time %s, ContainerID: %s", elapsedTime, s.ID) @@ -131,15 +133,16 @@ index 49bc7a3..d6bc603 100644 timer := time.NewTimer(*c.Timeout) defer timer.Stop() timerCh = timer.C -+ warnTime = float64(*c.Timeout) * 0.8 ++ warnTime = (*c.Timeout).Seconds() * 0.8 } - select { - case err := <-errC: - return err - case <-timerCh: -- cmd.Process.Kill() -- cmd.Wait() +- _ = cmd.Process.Kill() +- <-errC - return fmt.Errorf("hook ran past specified timeout of %.1fs", c.Timeout.Seconds()) ++ timeAfter := time.After(time.Duration(warnTime) * time.Second) + for { + select { + case err := <-errC: @@ -148,225 +151,79 @@ index 49bc7a3..d6bc603 100644 + cmd.Process.Kill() + cmd.Wait() + return fmt.Errorf("hook ran past specified timeout of %.1fs", c.Timeout.Seconds()) -+ case <-time.After(time.Duration(warnTime) * time.Second): -+ logrus.Warnf("hook ran more than 80%% of the default timeout, ContainerID: %s", s.ID) ++ case <-timeAfter: ++ if c.Timeout != nil { ++ logrus.Warnf("hook ran more than 80%% of the timeout %s, ContainerID: %s", *c.Timeout, s.ID) ++ } else { ++ logrus.Warnf("hook ran more than 80%% of the default timeout 120s, ContainerID: %s", s.ID) ++ } + } } } diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 502a274..ba5dcd6 100644 +index 6b68a0e..425e44d 100644 --- a/libcontainer/container_linux.go +++ b/libcontainer/container_linux.go -@@ -68,9 +68,9 @@ type State struct { - } - - // CompatState --type CompatState struct{ -- State -- Config configs.CompatConfig `json:"config"` -+type CompatState struct { -+ State -+ Config configs.CompatConfig `json:"config"` - } - - // Container is a libcontainer container object. -@@ -345,13 +345,13 @@ func (c *linuxContainer) start(process *Process, isInit bool) error { - Root: c.config.Rootfs, - } - for i, hook := range c.config.Hooks.Poststart { -- logrus.Infof("run poststart hook %d:%s", i, hook.Info()) -+ logrus.Infof("run poststart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - if err := hook.Run(s); err != nil { - logrus.Errorf("running poststart hook(%d:%s) failed: %s", i, hook.Info(), err) - if err := parent.terminate(); err != nil { -- logrus.Warn(err) -+ logrus.Warnf("run poststart hook failed: %s, ContainerID: %s", err, s.ID) - } -- return newSystemErrorWithCausef(err, "running poststart hook %d:%s", i, hook.Info()) -+ return newSystemErrorWithCausef(err, "running poststart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - } - logrus.Infof("poststart hook %d:%s done", i, hook.Info()) - } -@@ -1319,9 +1319,9 @@ func (c *linuxContainer) criuNotifications(resp *criurpc.CriuResp, process *Proc - Root: c.config.Rootfs, - } - for i, hook := range c.config.Hooks.Prestart { -- logrus.Infof("run prestart hook: %d:%s", i, hook.Info()) -+ logrus.Infof("run prestart hook: %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - if err := hook.Run(s); err != nil { -- return newSystemErrorWithCausef(err, "running prestart hook %d", i) -+ return newSystemErrorWithCausef(err, "running prestart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - } - logrus.Infof("prestart hook: %d:%s done", i, hook.Info()) - } -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index 70e93de..79b1c4e 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -6,18 +6,17 @@ import ( - "encoding/json" - "errors" - "fmt" -+ "github.com/Sirupsen/logrus" -+ "github.com/opencontainers/runc/libcontainer/cgroups" -+ "github.com/opencontainers/runc/libcontainer/configs" -+ "github.com/opencontainers/runc/libcontainer/system" -+ "github.com/opencontainers/runc/libcontainer/utils" - "io" - "os" - "os/exec" - "path/filepath" - "strconv" - "syscall" -- -- "github.com/Sirupsen/logrus" -- "github.com/opencontainers/runc/libcontainer/cgroups" -- "github.com/opencontainers/runc/libcontainer/configs" -- "github.com/opencontainers/runc/libcontainer/system" -- "github.com/opencontainers/runc/libcontainer/utils" - ) +@@ -368,7 +368,7 @@ func (c *linuxContainer) start(process *Process) (retErr error) { - type parentProcess interface { -@@ -309,9 +308,9 @@ func (p *initProcess) start() error { - Root: p.config.Config.Rootfs, - } - for i, hook := range p.config.Config.Hooks.Prestart { -- logrus.Infof("run prestart hook %d:%s", i, hook.Info()) -+ logrus.Infof("run prestart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - if err := hook.Run(s); err != nil { -- return newSystemErrorWithCausef(err, "running prestart hook %d:%s", i, hook.Info()) -+ return newSystemErrorWithCausef(err, "running prestart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - } - logrus.Infof("prestart hook %d:%s done", i, hook.Info()) - } -@@ -338,9 +337,9 @@ func (p *initProcess) start() error { - Root: p.config.Config.Rootfs, + if err := c.config.Hooks[configs.Poststart].RunHooks(s); err != nil { + if err := ignoreTerminateErrors(parent.terminate()); err != nil { +- logrus.Warn(fmt.Errorf("error running poststart hook: %w", err)) ++ logrus.Warn(fmt.Errorf("error running poststart hook: %w, ContainerId: %s", err, s.ID)) } - for i, hook := range p.config.Config.Hooks.Prestart { -- logrus.Infof("run prestart hook %d:%s", i, hook.Info()) -+ logrus.Infof("run prestart hook %d:%s, ContainerID :%s", i, hook.Info(), s.ID) - if err := hook.Run(s); err != nil { -- return newSystemErrorWithCausef(err, "running prestart hook %d:%s", i, hook.Info()) -+ return newSystemErrorWithCausef(err, "running prestart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - } - logrus.Infof("prestart hook %d:%s done", i, hook.Info()) - } -diff --git a/libcontainer/state_linux.go b/libcontainer/state_linux.go -index b8d2a87..26e091b 100644 ---- a/libcontainer/state_linux.go -+++ b/libcontainer/state_linux.go -@@ -66,10 +66,10 @@ func runPoststopHooks(c *linuxContainer) error { - Root: c.config.Rootfs, - } - for i, hook := range c.config.Hooks.Poststop { -- logrus.Infof("run poststop hook %d:%s", i, hook.Info()) -+ logrus.Infof("run poststop hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - if err := hook.Run(s); err != nil { - logrus.Errorf("running poststop hook %d: %s failed: %s", i, hook.Info(), err) -- return newSystemErrorWithCausef(err, "running poststop hook %d:%s", i, hook.Info()) -+ return newSystemErrorWithCausef(err, "running poststop hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) + return err } - logrus.Infof("poststop hook %d:%s done", i, hook.Info()) - } diff --git a/main.go b/main.go -index 1cb8f4d..f15a4ac 100644 +index 4d66638..9e14976 100644 --- a/main.go +++ b/main.go -@@ -2,13 +2,14 @@ package main - - import ( - "fmt" -- "io" -- "os" -- "strings" -- - "github.com/Sirupsen/logrus" -+ "github.com/Sirupsen/logrus/hooks/syslog" - "github.com/opencontainers/runtime-spec/specs-go" - "github.com/urfave/cli" -+ "io" -+ "log/syslog" -+ "os" -+ "strings" - ) - - // version will be populated by the Makefile, read from -@@ -76,6 +77,10 @@ func main() { - Usage: "set the format used by logs ('text' (default), or 'json')", +@@ -100,6 +100,10 @@ func main() { + Value: root, + Usage: "root directory for storage of container state (this should be located in tmpfs)", }, - cli.StringFlag{ ++ cli.StringFlag{ + Name: "log-level", -+ Usage: "Set the logging level [debug, info, warn, error, fatal, panic]", ++ Usage: "set the logging level [debug, info, warn, error, fatal, panic]", + }, -+ cli.StringFlag{ - Name: "root", - Value: "/run/runc", - Usage: "root directory for storage of container state (this should be located in tmpfs)", -@@ -110,15 +115,17 @@ func main() { - updateCommand, - } - app.Before = func(context *cli.Context) error { -- if context.GlobalBool("debug") { -- logrus.SetLevel(logrus.DebugLevel) -- } - if path := context.GlobalString("log"); path != "" { - f, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY|os.O_APPEND|os.O_SYNC, 0666) - if err != nil { - return err - } - logrus.SetOutput(f) -+ hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") -+ if serr != nil { -+ fmt.Fprint(f, fmt.Sprintf("Leo: new syslog hook get %s", serr)) -+ } -+ logrus.AddHook(hook) - } - switch context.GlobalString("log-format") { - case "text": -@@ -128,6 +135,18 @@ func main() { - default: - return fmt.Errorf("unknown log-format %q", context.GlobalString("log-format")) + cli.StringFlag{ + Name: "criu", + Value: "criu", +@@ -211,7 +215,23 @@ func configLogrus(context *cli.Context) error { + return err } -+ if logLevel := context.GlobalString("log-level"); logLevel != "" { -+ lvl, err := logrus.ParseLevel(logLevel) -+ if err != nil { -+ fmt.Fprintf(os.Stderr, "Unable to parse logging level: %s\n", logLevel) -+ os.Exit(1) -+ } -+ logrus.SetLevel(lvl) + logrus.SetOutput(f) ++ hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") ++ if serr != nil { ++ fmt.Fprint(f, fmt.Sprintf("Leo: new syslog hook get %s", serr)) + } -+ -+ if context.GlobalBool("debug") { -+ logrus.SetLevel(logrus.DebugLevel) ++ logrus.AddHook(hook) ++ } ++ if logLevel := context.GlobalString("log-level"); logLevel != "" { ++ lvl, err := logrus.ParseLevel(logLevel) ++ if err != nil { ++ fmt.Fprintf(os.Stderr, "Unable to parse logging level: %s\n", logLevel) ++ os.Exit(1) + } - return nil ++ logrus.SetLevel(lvl) } - // If the command returns an error, cli takes upon itself to print -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index c3db7c9..5318ec2 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - Name: docker-runc - Version: 1.0.0.rc3 --Release: 2%{?dist} -+Release: 3%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 -diff --git a/vendor/github.com/Sirupsen/logrus/Checklist b/vendor/github.com/Sirupsen/logrus/Checklist ++ if context.GlobalBool("debug") { ++ logrus.SetLevel(logrus.DebugLevel) ++ } + return nil + } +diff --git a/vendor/github.com/sirupsen/logrus/Checklist b/vendor/github.com/sirupsen/logrus/Checklist new file mode 100644 index 0000000..7117b24 --- /dev/null -+++ b/vendor/github.com/Sirupsen/logrus/Checklist ++++ b/vendor/github.com/sirupsen/logrus/Checklist @@ -0,0 +1 @@ +imported from runc v1.0.0-Release Candidate 2: Godeps/_workspace/src/github.com/Sirupsen/logrus/hooks -diff --git a/vendor/github.com/Sirupsen/logrus/hooks/airbrake/airbrake.go b/vendor/github.com/Sirupsen/logrus/hooks/airbrake/airbrake.go +diff --git a/vendor/github.com/sirupsen/logrus/hooks/airbrake/airbrake.go b/vendor/github.com/sirupsen/logrus/hooks/airbrake/airbrake.go new file mode 100644 index 0000000..b0502c3 --- /dev/null -+++ b/vendor/github.com/Sirupsen/logrus/hooks/airbrake/airbrake.go ++++ b/vendor/github.com/sirupsen/logrus/hooks/airbrake/airbrake.go @@ -0,0 +1,54 @@ +package airbrake + @@ -422,11 +279,11 @@ index 0000000..b0502c3 + logrus.PanicLevel, + } +} -diff --git a/vendor/github.com/Sirupsen/logrus/hooks/bugsnag/bugsnag.go b/vendor/github.com/Sirupsen/logrus/hooks/bugsnag/bugsnag.go +diff --git a/vendor/github.com/sirupsen/logrus/hooks/bugsnag/bugsnag.go b/vendor/github.com/sirupsen/logrus/hooks/bugsnag/bugsnag.go new file mode 100644 index 0000000..d20a0f5 --- /dev/null -+++ b/vendor/github.com/Sirupsen/logrus/hooks/bugsnag/bugsnag.go ++++ b/vendor/github.com/sirupsen/logrus/hooks/bugsnag/bugsnag.go @@ -0,0 +1,68 @@ +package logrus_bugsnag + @@ -496,11 +353,11 @@ index 0000000..d20a0f5 + logrus.PanicLevel, + } +} -diff --git a/vendor/github.com/Sirupsen/logrus/hooks/papertrail/README.md b/vendor/github.com/Sirupsen/logrus/hooks/papertrail/README.md +diff --git a/vendor/github.com/sirupsen/logrus/hooks/papertrail/README.md b/vendor/github.com/sirupsen/logrus/hooks/papertrail/README.md new file mode 100644 index 0000000..ae61e92 --- /dev/null -+++ b/vendor/github.com/Sirupsen/logrus/hooks/papertrail/README.md ++++ b/vendor/github.com/sirupsen/logrus/hooks/papertrail/README.md @@ -0,0 +1,28 @@ +# Papertrail Hook for Logrus :walrus: + @@ -530,11 +387,11 @@ index 0000000..ae61e92 + } +} +``` -diff --git a/vendor/github.com/Sirupsen/logrus/hooks/papertrail/papertrail.go b/vendor/github.com/Sirupsen/logrus/hooks/papertrail/papertrail.go +diff --git a/vendor/github.com/sirupsen/logrus/hooks/papertrail/papertrail.go b/vendor/github.com/sirupsen/logrus/hooks/papertrail/papertrail.go new file mode 100644 index 0000000..c0f10c1 --- /dev/null -+++ b/vendor/github.com/Sirupsen/logrus/hooks/papertrail/papertrail.go ++++ b/vendor/github.com/sirupsen/logrus/hooks/papertrail/papertrail.go @@ -0,0 +1,55 @@ +package logrus_papertrail + @@ -591,11 +448,11 @@ index 0000000..c0f10c1 + logrus.DebugLevel, + } +} -diff --git a/vendor/github.com/Sirupsen/logrus/hooks/sentry/README.md b/vendor/github.com/Sirupsen/logrus/hooks/sentry/README.md +diff --git a/vendor/github.com/sirupsen/logrus/hooks/sentry/README.md b/vendor/github.com/sirupsen/logrus/hooks/sentry/README.md new file mode 100644 index 0000000..19e58bb --- /dev/null -+++ b/vendor/github.com/Sirupsen/logrus/hooks/sentry/README.md ++++ b/vendor/github.com/sirupsen/logrus/hooks/sentry/README.md @@ -0,0 +1,61 @@ +# Sentry Hook for Logrus :walrus: + @@ -658,11 +515,11 @@ index 0000000..19e58bb +hook, _ := logrus_sentry.NewSentryHook(...) +hook.Timeout = 20*time.Second +``` -diff --git a/vendor/github.com/Sirupsen/logrus/hooks/sentry/sentry.go b/vendor/github.com/Sirupsen/logrus/hooks/sentry/sentry.go +diff --git a/vendor/github.com/sirupsen/logrus/hooks/sentry/sentry.go b/vendor/github.com/sirupsen/logrus/hooks/sentry/sentry.go new file mode 100644 index 0000000..379f281 --- /dev/null -+++ b/vendor/github.com/Sirupsen/logrus/hooks/sentry/sentry.go ++++ b/vendor/github.com/sirupsen/logrus/hooks/sentry/sentry.go @@ -0,0 +1,100 @@ +package logrus_sentry + @@ -764,11 +621,11 @@ index 0000000..379f281 +func (hook *SentryHook) Levels() []logrus.Level { + return hook.levels +} -diff --git a/vendor/github.com/Sirupsen/logrus/hooks/syslog/README.md b/vendor/github.com/Sirupsen/logrus/hooks/syslog/README.md +diff --git a/vendor/github.com/sirupsen/logrus/hooks/syslog/README.md b/vendor/github.com/sirupsen/logrus/hooks/syslog/README.md new file mode 100644 index 0000000..4dbb8e7 --- /dev/null -+++ b/vendor/github.com/Sirupsen/logrus/hooks/syslog/README.md ++++ b/vendor/github.com/sirupsen/logrus/hooks/syslog/README.md @@ -0,0 +1,20 @@ +# Syslog Hooks for Logrus :walrus: + @@ -790,11 +647,11 @@ index 0000000..4dbb8e7 + } +} +``` -diff --git a/vendor/github.com/Sirupsen/logrus/hooks/syslog/syslog.go b/vendor/github.com/Sirupsen/logrus/hooks/syslog/syslog.go +diff --git a/vendor/github.com/sirupsen/logrus/hooks/syslog/syslog.go b/vendor/github.com/sirupsen/logrus/hooks/syslog/syslog.go new file mode 100644 index 0000000..b6fa374 --- /dev/null -+++ b/vendor/github.com/Sirupsen/logrus/hooks/syslog/syslog.go ++++ b/vendor/github.com/sirupsen/logrus/hooks/syslog/syslog.go @@ -0,0 +1,59 @@ +package logrus_syslog + @@ -856,5 +713,5 @@ index 0000000..b6fa374 + } +} -- -2.7.4.3 +2.30.0 diff --git a/patch/0011-tests-add-rootless-integration-tests.patch b/patch/0011-tests-add-rootless-integration-tests.patch deleted file mode 100644 index 6598081..0000000 --- a/patch/0011-tests-add-rootless-integration-tests.patch +++ /dev/null @@ -1,449 +0,0 @@ -From c62d731fc7e928e944e0290df318042c46e80526 Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Wed, 11 May 2016 17:45:00 +1000 -Subject: [PATCH 11/94] tests: add rootless integration tests - -This adds targets for rootless integration tests, as well as all of the -required setup in order to get the tests to run. This includes quite a -few changes, because of a lot of assumptions about things running as -root within the bats scripts (which is not true when setting up rootless -containers). - -Change-Id: I2fab9fd3ac984e06a7d3e1e1ac0cd888b1543801 -Signed-off-by: Aleksa Sarai ---- - Dockerfile | 7 ++++++ - Makefile | 11 +++++++-- - tests/integration/checkpoint.bats | 5 +++-- - tests/integration/delete.bats | 2 ++ - tests/integration/events.bats | 12 ++++++++++ - tests/integration/exec.bats | 3 +++ - tests/integration/help.bats | 1 + - tests/integration/helpers.bash | 23 ++++++++++++++----- - tests/integration/ps.bats | 11 ++++++++- - tests/integration/spec.bats | 4 ++-- - tests/integration/start_detached.bats | 3 +++ - tests/integration/start_hello.bats | 3 +++ - tests/integration/state.bats | 42 ++++++++++++++++++++++++++--------- - tests/integration/tty.bats | 14 ++++++++++++ - 14 files changed, 117 insertions(+), 24 deletions(-) - -diff --git a/Dockerfile b/Dockerfile -index c971448..fd9be94 100644 ---- a/Dockerfile -+++ b/Dockerfile -@@ -6,6 +6,7 @@ RUN echo 'deb http://httpredir.debian.org/debian jessie-backports main' > /etc/a - RUN apt-get update && apt-get install -y \ - build-essential \ - curl \ -+ sudo \ - gawk \ - iptables \ - jq \ -@@ -22,6 +23,12 @@ RUN apt-get update && apt-get install -y \ - --no-install-recommends \ - && apt-get clean - -+# Add a dummy user for the rootless integration tests. While runC does -+# not require an entry in /etc/passwd to operate, one of the tests uses -+# `git clone` -- and `git clone` does not allow you to clone a -+# repository if the current uid does not have an entry in /etc/passwd. -+RUN useradd -u1000 -m -d/home/rootless -s/bin/bash rootless -+ - # install bats - RUN cd /tmp \ - && git clone https://github.com/sstephenson/bats.git \ -diff --git a/Makefile b/Makefile -index 5fff515..1cecca1 100644 ---- a/Makefile -+++ b/Makefile -@@ -79,10 +79,10 @@ runcimage: - docker build -t $(RUNC_IMAGE) . - - test: -- make unittest integration -+ make unittest integration rootlessintegration - - localtest: -- make localunittest localintegration -+ make localunittest localintegration localrootlessintegration - - unittest: runcimage - docker run -e TESTFLAGS -t --privileged --rm -v $(CURDIR):/go/src/$(PROJECT) $(RUNC_IMAGE) make localunittest -@@ -96,6 +96,13 @@ integration: runcimage - localintegration: all - bats -t tests/integration${TESTFLAGS} - -+rootlessintegration: runcimage -+ docker run -e TESTFLAGS -t --privileged --rm -v $(CURDIR):/go/src/$(PROJECT) --cap-drop=ALL -u rootless $(RUNC_IMAGE) make localintegration -+ -+# FIXME: This should not be separate from rootlessintegration's method of running. -+localrootlessintegration: all -+ sudo -u rootless -H PATH="${PATH}" bats -t tests/integration${TESTFLAGS} -+ - shell: all - docker run -e TESTFLAGS -ti --privileged --rm -v $(CURDIR):/go/src/$(PROJECT) $(RUNC_IMAGE) bash - -diff --git a/tests/integration/checkpoint.bats b/tests/integration/checkpoint.bats -index e91fd65..cd969a8 100644 ---- a/tests/integration/checkpoint.bats -+++ b/tests/integration/checkpoint.bats -@@ -59,8 +59,9 @@ function teardown() { - [[ "${output}" == *"running"* ]] - } - --@test "checkpoint(pre-dump) and restore" { -- requires criu -+@test "checkpoint --pre-dump and restore" { -+ # XXX: currently criu require root containers. -+ requires criu root - - # criu does not work with external terminals so.. - # setting terminal and root:readonly: to false -diff --git a/tests/integration/delete.bats b/tests/integration/delete.bats -index cdadd7d..2c11e79 100644 ---- a/tests/integration/delete.bats -+++ b/tests/integration/delete.bats -@@ -22,11 +22,13 @@ function teardown() { - testcontainer test_busybox running - - runc kill test_busybox KILL -+ [ "$status" -eq 0 ] - # wait for busybox to be in the destroyed state - retry 10 1 eval "__runc state test_busybox | grep -q 'stopped'" - - # delete test_busybox - runc delete test_busybox -+ [ "$status" -eq 0 ] - - runc state test_busybox - [ "$status" -ne 0 ] -diff --git a/tests/integration/events.bats b/tests/integration/events.bats -index 182b721..2350073 100644 ---- a/tests/integration/events.bats -+++ b/tests/integration/events.bats -@@ -12,6 +12,9 @@ function teardown() { - } - - @test "events --stats" { -+ # XXX: currently cgroups require root containers. -+ requires root -+ - # run busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -@@ -27,6 +30,9 @@ function teardown() { - } - - @test "events --interval default " { -+ # XXX: currently cgroups require root containers. -+ requires root -+ - # run busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -@@ -54,6 +60,9 @@ function teardown() { - } - - @test "events --interval 1s " { -+ # XXX: currently cgroups require root containers. -+ requires root -+ - # run busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -@@ -80,6 +89,9 @@ function teardown() { - } - - @test "events --interval 100ms " { -+ # XXX: currently cgroups require root containers. -+ requires root -+ - # run busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -diff --git a/tests/integration/exec.bats b/tests/integration/exec.bats -index ba60ea1..f172f9b 100644 ---- a/tests/integration/exec.bats -+++ b/tests/integration/exec.bats -@@ -112,6 +112,9 @@ function teardown() { - } - - @test "runc exec --user" { -+ # --user can't work in rootless containers -+ requires root -+ - # run busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -diff --git a/tests/integration/help.bats b/tests/integration/help.bats -index ca404f3..163de2d 100644 ---- a/tests/integration/help.bats -+++ b/tests/integration/help.bats -@@ -57,6 +57,7 @@ load helpers - [ "$status" -eq 0 ] - [[ ${lines[1]} =~ runc\ resume+ ]] - -+ # We don't use runc_spec here, because we're just testing the help page. - runc spec -h - [ "$status" -eq 0 ] - [[ ${lines[1]} =~ runc\ spec+ ]] -diff --git a/tests/integration/helpers.bash b/tests/integration/helpers.bash -index 6548333..fc8c290 100644 ---- a/tests/integration/helpers.bash -+++ b/tests/integration/helpers.bash -@@ -4,7 +4,7 @@ - INTEGRATION_ROOT=$(dirname "$(readlink -f "$BASH_SOURCE")") - RUNC="${INTEGRATION_ROOT}/../../runc" - RECVTTY="${INTEGRATION_ROOT}/../../contrib/cmd/recvtty/recvtty" --GOPATH="${INTEGRATION_ROOT}/../../../.." -+GOPATH="$(mktemp -d --tmpdir runc-integration-gopath.XXXXXX)" - - # Test data path. - TESTDATA="${INTEGRATION_ROOT}/testdata" -@@ -27,7 +27,7 @@ KERNEL_MINOR="${KERNEL_VERSION#$KERNEL_MAJOR.}" - KERNEL_MINOR="${KERNEL_MINOR%%.*}" - - # Root state path. --ROOT="$BATS_TMPDIR/runc" -+ROOT=$(mktemp -d "$BATS_TMPDIR/runc.XXXXXX") - - # Path to console socket. - CONSOLE_SOCKET="$BATS_TMPDIR/console.sock" -@@ -58,6 +58,17 @@ function __runc() { - "$RUNC" --root "$ROOT" "$@" - } - -+# Wrapper for runc spec. -+function runc_spec() { -+ local args="" -+ -+ if [ "$ROOTLESS" -ne 0 ]; then -+ args+="--rootless" -+ fi -+ -+ runc spec $args "$@" -+} -+ - # Fails the current test, providing the error given. - function fail() { - echo "$@" >&2 -@@ -187,18 +198,18 @@ function setup_busybox() { - if [ ! -e $BUSYBOX_IMAGE ]; then - curl -o $BUSYBOX_IMAGE -sSL 'https://github.com/docker-library/busybox/raw/a0558a9006ce0dd6f6ec5d56cfd3f32ebeeb815f/glibc/busybox.tar.xz' - fi -- tar -C "$BUSYBOX_BUNDLE"/rootfs -xf "$BUSYBOX_IMAGE" -+ tar --exclude './dev/*' -C "$BUSYBOX_BUNDLE"/rootfs -xf "$BUSYBOX_IMAGE" - cd "$BUSYBOX_BUNDLE" -- runc spec -+ runc_spec - } - - function setup_hello() { - setup_recvtty - run mkdir "$HELLO_BUNDLE" - run mkdir "$HELLO_BUNDLE"/rootfs -- tar -C "$HELLO_BUNDLE"/rootfs -xf "$HELLO_IMAGE" -+ tar --exclude './dev/*' -C "$HELLO_BUNDLE"/rootfs -xf "$HELLO_IMAGE" - cd "$HELLO_BUNDLE" -- runc spec -+ runc_spec - sed -i 's;"sh";"/hello";' config.json - } - -diff --git a/tests/integration/ps.bats b/tests/integration/ps.bats -index 7a20015..c000af6 100644 ---- a/tests/integration/ps.bats -+++ b/tests/integration/ps.bats -@@ -12,6 +12,9 @@ function teardown() { - } - - @test "ps" { -+ # ps is not supported, it requires cgroups -+ requires root -+ - # start busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -@@ -24,10 +27,13 @@ function teardown() { - runc ps test_busybox - [ "$status" -eq 0 ] - [[ ${lines[0]} =~ UID\ +PID\ +PPID\ +C\ +STIME\ +TTY\ +TIME\ +CMD+ ]] -- [[ "${lines[1]}" == *"root"*[0-9]* ]] -+ [[ "${lines[1]}" == *"$(id -un 2>/dev/null)"*[0-9]* ]] - } - - @test "ps -f json" { -+ # ps is not supported, it requires cgroups -+ requires root -+ - # start busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -@@ -43,6 +49,9 @@ function teardown() { - } - - @test "ps -e -x" { -+ # ps is not supported, it requires cgroups -+ requires root -+ - # start busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -diff --git a/tests/integration/spec.bats b/tests/integration/spec.bats -index 79bb690..e9f28fb 100644 ---- a/tests/integration/spec.bats -+++ b/tests/integration/spec.bats -@@ -26,7 +26,7 @@ function teardown() { - [ ! -e config.json ] - - # test generation of spec does not return an error -- runc spec -+ runc_spec - [ "$status" -eq 0 ] - - # test generation of spec created our config.json (spec) -@@ -51,7 +51,7 @@ function teardown() { - [ ! -e "$HELLO_BUNDLE"/config.json ] - - # test generation of spec does not return an error -- runc spec --bundle "$HELLO_BUNDLE" -+ runc_spec --bundle "$HELLO_BUNDLE" - [ "$status" -eq 0 ] - - # test generation of spec created our config.json (spec) -diff --git a/tests/integration/start_detached.bats b/tests/integration/start_detached.bats -index 605fde2..08036dd 100644 ---- a/tests/integration/start_detached.bats -+++ b/tests/integration/start_detached.bats -@@ -23,6 +23,9 @@ function teardown() { - } - - @test "runc run detached ({u,g}id != 0)" { -+ # cannot start containers as another user in rootless setup -+ requires root -+ - # replace "uid": 0 with "uid": 1000 - # and do a similar thing for gid. - sed -i 's;"uid": 0;"uid": 1000;g' config.json -diff --git a/tests/integration/start_hello.bats b/tests/integration/start_hello.bats -index 6de65e0..2e93572 100644 ---- a/tests/integration/start_hello.bats -+++ b/tests/integration/start_hello.bats -@@ -21,6 +21,9 @@ function teardown() { - } - - @test "runc run ({u,g}id != 0)" { -+ # cannot start containers as another user in rootless setup -+ requires root -+ - # replace "uid": 0 with "uid": 1000 - # and do a similar thing for gid. - sed -i 's;"uid": 0;"uid": 1000;g' config.json -diff --git a/tests/integration/state.bats b/tests/integration/state.bats -index eed2eb3..3772c1e 100644 ---- a/tests/integration/state.bats -+++ b/tests/integration/state.bats -@@ -11,7 +11,37 @@ function teardown() { - teardown_busybox - } - --@test "state" { -+@test "state (kill + delete)" { -+ runc state test_busybox -+ [ "$status" -ne 0 ] -+ -+ # run busybox detached -+ runc run -d --console-socket $CONSOLE_SOCKET test_busybox -+ [ "$status" -eq 0 ] -+ -+ # check state -+ wait_for_container 15 1 test_busybox -+ -+ testcontainer test_busybox running -+ -+ runc kill test_busybox KILL -+ [ "$status" -eq 0 ] -+ -+ # wait for busybox to be in the destroyed state -+ retry 10 1 eval "__runc state test_busybox | grep -q 'stopped'" -+ -+ # delete test_busybox -+ runc delete test_busybox -+ [ "$status" -eq 0 ] -+ -+ runc state test_busybox -+ [ "$status" -ne 0 ] -+} -+ -+@test "state (pause + resume)" { -+ # XXX: pause and resume require cgroups. -+ requires root -+ - runc state test_busybox - [ "$status" -ne 0 ] - -@@ -37,14 +67,4 @@ function teardown() { - - # test state of busybox is back to running - testcontainer test_busybox running -- -- runc kill test_busybox KILL -- # wait for busybox to be in the destroyed state -- retry 10 1 eval "__runc state test_busybox | grep -q 'stopped'" -- -- # delete test_busybox -- runc delete test_busybox -- -- runc state test_busybox -- [ "$status" -ne 0 ] - } -diff --git a/tests/integration/tty.bats b/tests/integration/tty.bats -index b9a1f10..9e817db 100644 ---- a/tests/integration/tty.bats -+++ b/tests/integration/tty.bats -@@ -24,6 +24,10 @@ function teardown() { - } - - @test "runc run [tty owner]" { -+ # tty chmod is not doable in rootless containers. -+ # TODO: this can be made as a change to the gid test. -+ requires root -+ - # Replace sh script with stat. - sed -i 's/"sh"/"sh", "-c", "stat -c %u:%g $(tty) | tr : \\\\\\\\n"/' config.json - -@@ -36,6 +40,9 @@ function teardown() { - } - - @test "runc run [tty owner] ({u,g}id != 0)" { -+ # tty chmod is not doable in rootless containers. -+ requires root -+ - # replace "uid": 0 with "uid": 1000 - # and do a similar thing for gid. - sed -i 's;"uid": 0;"uid": 1000;g' config.json -@@ -72,6 +79,10 @@ function teardown() { - } - - @test "runc exec [tty owner]" { -+ # tty chmod is not doable in rootless containers. -+ # TODO: this can be made as a change to the gid test. -+ requires root -+ - # run busybox detached - runc run -d --console-socket $CONSOLE_SOCKET test_busybox - [ "$status" -eq 0 ] -@@ -90,6 +101,9 @@ function teardown() { - } - - @test "runc exec [tty owner] ({u,g}id != 0)" { -+ # tty chmod is not doable in rootless containers. -+ requires root -+ - # replace "uid": 0 with "uid": 1000 - # and do a similar thing for gid. - sed -i 's;"uid": 0;"uid": 1000;g' config.json --- -2.7.4.3 - diff --git a/patch/0065-runc-support-namespaced-kernel-params-can-be-.patch b/patch/0012-runc-support-namespaced-kernel-params-can-be-changed.patch similarity index 56% rename from patch/0065-runc-support-namespaced-kernel-params-can-be-.patch rename to patch/0012-runc-support-namespaced-kernel-params-can-be-changed.patch index b964176..bf6662e 100644 --- a/patch/0065-runc-support-namespaced-kernel-params-can-be-.patch +++ b/patch/0012-runc-support-namespaced-kernel-params-can-be-changed.patch @@ -1,40 +1,31 @@ -From c5f152a9dc851e0297f63a73c3e59890da135352 Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Fri, 19 Oct 2018 10:53:33 +0800 -Subject: [PATCH 65/94] runc: support namespaced kernel params can be - changed in system container +From 0e2bc1f9d2dffe3cf2c678d88855faffc122b1c5 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:29:06 +0800 +Subject: [PATCH] runc:support namespaced kernel params can be changed in + system container -reason:support namespaced kernel files can be written in container, -when docker run a system container specify '--ns-change-opt' param, -net or ipc namespaced kernel params can be changed in this container. - -Conflicts: - libcontainer/rootfs_linux.go - script/runc-euleros.spec - -Change-Id: I051b274117abd9745a27577e14a23c906ff7cca3 -Signed-off-by: jingrui +Signed-off-by: zhongjiawei --- libcontainer/rootfs_linux.go | 26 ++++++++++++++++++++++++++ - libcontainer/standard_init_linux.go | 8 ++++++++ - 2 files changed, 34 insertions(+) + libcontainer/standard_init_linux.go | 7 +++++++ + 2 files changed, 33 insertions(+) diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index 7cf5edd..38bdd1b 100644 +index 3cfd2bf..4dbe9f4 100644 --- a/libcontainer/rootfs_linux.go +++ b/libcontainer/rootfs_linux.go -@@ -160,6 +160,9 @@ func mountToRootfs(m *configs.Mount, rootfs, mountLabel string) error { - - switch m.Device { - case "proc", "sysfs": +@@ -417,6 +417,9 @@ func mountToRootfs(m *configs.Mount, c *mountConfig) error { + } else if fi.Mode()&os.ModeDir == 0 { + return fmt.Errorf("filesystem %q must be mounted on ordinary directory", m.Device) + } + if strings.HasPrefix(m.Destination, "/proc/sys/") { + return nil + } - if err := os.MkdirAll(dest, 0755); err != nil { + if err := os.MkdirAll(dest, 0o755); err != nil { return err } -@@ -729,6 +732,29 @@ func readonlyPath(path string) error { - return syscall.Mount(path, path, "", syscall.MS_BIND|syscall.MS_REMOUNT|syscall.MS_RDONLY|syscall.MS_REC, "") +@@ -1009,6 +1012,29 @@ func readonlyPath(path string) error { + return nil } +// remountReadWrite will bind over the top of an existing path and ensure that it is read-write. @@ -64,19 +55,11 @@ index 7cf5edd..38bdd1b 100644 func remountReadonly(m *configs.Mount) error { var ( diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go -index 484ba42..18506af 100644 +index ab553ef..0dd51b2 100644 --- a/libcontainer/standard_init_linux.go +++ b/libcontainer/standard_init_linux.go -@@ -6,6 +6,7 @@ import ( - "fmt" - "os" - "os/exec" -+ "strings" - "syscall" - "time" - -@@ -117,6 +118,13 @@ func (l *linuxStandardInit) Init() error { - return err +@@ -141,6 +141,13 @@ func (l *linuxStandardInit) Init() error { + return fmt.Errorf("can't make %q read-only: %w", path, err) } } + for _, m := range l.config.Config.Mounts { @@ -87,8 +70,8 @@ index 484ba42..18506af 100644 + } + } for _, path := range l.config.Config.MaskPaths { - if err := maskPath(path); err != nil { - return err + if err := maskPath(path, l.config.Config.MountLabel); err != nil { + return fmt.Errorf("can't mask path %s: %w", path, err) -- -2.7.4.3 +2.30.0 diff --git a/patch/0012-vendor-add-golang.org-x-sys-unix-9a7256cb28.patch b/patch/0012-vendor-add-golang.org-x-sys-unix-9a7256cb28.patch deleted file mode 100644 index ee2e8dc..0000000 --- a/patch/0012-vendor-add-golang.org-x-sys-unix-9a7256cb28.patch +++ /dev/null @@ -1,123561 +0,0 @@ -From 8601a060f98d137335619c83219779011961fa2f Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Wed, 29 Mar 2017 22:07:03 +1100 -Subject: [PATCH 12/94] vendor: add - golang.org/x/sys/unix@9a7256cb28ed514b4e1e5f68959914c4c28a92e0 - -It turns out that the standard "syscall" library is not recommended for -new programs. runC will need to eventually move to this, but for now -include it in vendor so we can use it for new features. - -Change-Id: I52211ff68e7b35cff8fe1b4534ce0a5b25fbd0da -Signed-off-by: Aleksa Sarai ---- - vendor.conf | 1 + - vendor/golang.org/x/sys/LICENSE | 27 + - vendor/golang.org/x/sys/PATENTS | 22 + - vendor/golang.org/x/sys/README | 3 + - vendor/golang.org/x/sys/unix/asm_darwin_386.s | 29 + - vendor/golang.org/x/sys/unix/asm_darwin_amd64.s | 29 + - vendor/golang.org/x/sys/unix/asm_darwin_arm.s | 30 + - vendor/golang.org/x/sys/unix/asm_darwin_arm64.s | 30 + - vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s | 29 + - vendor/golang.org/x/sys/unix/asm_freebsd_386.s | 29 + - vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s | 29 + - vendor/golang.org/x/sys/unix/asm_freebsd_arm.s | 29 + - vendor/golang.org/x/sys/unix/asm_linux_386.s | 35 + - vendor/golang.org/x/sys/unix/asm_linux_amd64.s | 29 + - vendor/golang.org/x/sys/unix/asm_linux_arm.s | 29 + - vendor/golang.org/x/sys/unix/asm_linux_arm64.s | 24 + - vendor/golang.org/x/sys/unix/asm_linux_mips64x.s | 28 + - vendor/golang.org/x/sys/unix/asm_linux_mipsx.s | 31 + - vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s | 28 + - vendor/golang.org/x/sys/unix/asm_linux_s390x.s | 28 + - vendor/golang.org/x/sys/unix/asm_netbsd_386.s | 29 + - vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s | 29 + - vendor/golang.org/x/sys/unix/asm_netbsd_arm.s | 29 + - vendor/golang.org/x/sys/unix/asm_openbsd_386.s | 29 + - vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s | 29 + - vendor/golang.org/x/sys/unix/asm_solaris_amd64.s | 17 + - vendor/golang.org/x/sys/unix/bluetooth_linux.go | 35 + - vendor/golang.org/x/sys/unix/constants.go | 13 + - vendor/golang.org/x/sys/unix/dirent.go | 102 + - vendor/golang.org/x/sys/unix/endian_big.go | 9 + - vendor/golang.org/x/sys/unix/endian_little.go | 9 + - vendor/golang.org/x/sys/unix/env_unix.go | 27 + - vendor/golang.org/x/sys/unix/env_unset.go | 14 + - vendor/golang.org/x/sys/unix/flock.go | 24 + - vendor/golang.org/x/sys/unix/flock_linux_32bit.go | 13 + - vendor/golang.org/x/sys/unix/gccgo.go | 46 + - vendor/golang.org/x/sys/unix/gccgo_c.c | 41 + - vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go | 20 + - .../golang.org/x/sys/unix/gccgo_linux_sparc64.go | 20 + - vendor/golang.org/x/sys/unix/mkpost.go | 62 + - vendor/golang.org/x/sys/unix/openbsd_pledge.go | 38 + - vendor/golang.org/x/sys/unix/race.go | 30 + - vendor/golang.org/x/sys/unix/race0.go | 25 + - vendor/golang.org/x/sys/unix/sockcmsg_linux.go | 36 + - vendor/golang.org/x/sys/unix/sockcmsg_unix.go | 103 + - vendor/golang.org/x/sys/unix/str.go | 26 + - vendor/golang.org/x/sys/unix/syscall.go | 69 + - vendor/golang.org/x/sys/unix/syscall_bsd.go | 614 ++++++ - vendor/golang.org/x/sys/unix/syscall_darwin.go | 493 +++++ - vendor/golang.org/x/sys/unix/syscall_darwin_386.go | 77 + - .../golang.org/x/sys/unix/syscall_darwin_amd64.go | 79 + - vendor/golang.org/x/sys/unix/syscall_darwin_arm.go | 71 + - .../golang.org/x/sys/unix/syscall_darwin_arm64.go | 77 + - vendor/golang.org/x/sys/unix/syscall_dragonfly.go | 402 ++++ - .../x/sys/unix/syscall_dragonfly_amd64.go | 61 + - vendor/golang.org/x/sys/unix/syscall_freebsd.go | 666 ++++++ - .../golang.org/x/sys/unix/syscall_freebsd_386.go | 61 + - .../golang.org/x/sys/unix/syscall_freebsd_amd64.go | 61 + - .../golang.org/x/sys/unix/syscall_freebsd_arm.go | 61 + - vendor/golang.org/x/sys/unix/syscall_linux.go | 1290 ++++++++++++ - vendor/golang.org/x/sys/unix/syscall_linux_386.go | 399 ++++ - .../golang.org/x/sys/unix/syscall_linux_amd64.go | 152 ++ - .../x/sys/unix/syscall_linux_amd64_gc.go | 13 + - vendor/golang.org/x/sys/unix/syscall_linux_arm.go | 263 +++ - .../golang.org/x/sys/unix/syscall_linux_arm64.go | 190 ++ - .../golang.org/x/sys/unix/syscall_linux_mips64x.go | 208 ++ - .../golang.org/x/sys/unix/syscall_linux_mipsx.go | 239 +++ - .../golang.org/x/sys/unix/syscall_linux_ppc64x.go | 135 ++ - .../golang.org/x/sys/unix/syscall_linux_s390x.go | 328 +++ - .../golang.org/x/sys/unix/syscall_linux_sparc64.go | 169 ++ - vendor/golang.org/x/sys/unix/syscall_netbsd.go | 476 +++++ - vendor/golang.org/x/sys/unix/syscall_netbsd_386.go | 42 + - .../golang.org/x/sys/unix/syscall_netbsd_amd64.go | 42 + - vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go | 42 + - vendor/golang.org/x/sys/unix/syscall_no_getwd.go | 11 + - vendor/golang.org/x/sys/unix/syscall_openbsd.go | 287 +++ - .../golang.org/x/sys/unix/syscall_openbsd_386.go | 42 + - .../golang.org/x/sys/unix/syscall_openbsd_amd64.go | 42 + - vendor/golang.org/x/sys/unix/syscall_solaris.go | 713 +++++++ - .../golang.org/x/sys/unix/syscall_solaris_amd64.go | 35 + - vendor/golang.org/x/sys/unix/syscall_unix.go | 292 +++ - vendor/golang.org/x/sys/unix/syscall_unix_gc.go | 15 + - vendor/golang.org/x/sys/unix/types_darwin.go | 250 +++ - vendor/golang.org/x/sys/unix/types_dragonfly.go | 242 +++ - vendor/golang.org/x/sys/unix/types_freebsd.go | 353 ++++ - vendor/golang.org/x/sys/unix/types_linux.go | 469 +++++ - vendor/golang.org/x/sys/unix/types_netbsd.go | 232 +++ - vendor/golang.org/x/sys/unix/types_openbsd.go | 244 +++ - vendor/golang.org/x/sys/unix/types_solaris.go | 262 +++ - vendor/golang.org/x/sys/unix/zerrors_darwin_386.go | 1576 ++++++++++++++ - .../golang.org/x/sys/unix/zerrors_darwin_amd64.go | 1576 ++++++++++++++ - vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go | 1293 ++++++++++++ - .../golang.org/x/sys/unix/zerrors_darwin_arm64.go | 1576 ++++++++++++++ - .../x/sys/unix/zerrors_dragonfly_amd64.go | 1530 ++++++++++++++ - .../golang.org/x/sys/unix/zerrors_freebsd_386.go | 1743 ++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_freebsd_amd64.go | 1748 ++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_freebsd_arm.go | 1729 ++++++++++++++++ - vendor/golang.org/x/sys/unix/zerrors_linux_386.go | 1887 +++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_linux_amd64.go | 1895 +++++++++++++++++ - vendor/golang.org/x/sys/unix/zerrors_linux_arm.go | 1815 +++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_linux_arm64.go | 1967 ++++++++++++++++++ - vendor/golang.org/x/sys/unix/zerrors_linux_mips.go | 1869 +++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_linux_mips64.go | 1965 ++++++++++++++++++ - .../x/sys/unix/zerrors_linux_mips64le.go | 1965 ++++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_linux_mipsle.go | 2066 +++++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_linux_ppc64.go | 2040 +++++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_linux_ppc64le.go | 2036 +++++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_linux_s390x.go | 2093 +++++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_linux_sparc64.go | 2142 ++++++++++++++++++++ - vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go | 1712 ++++++++++++++++ - .../golang.org/x/sys/unix/zerrors_netbsd_amd64.go | 1702 ++++++++++++++++ - vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go | 1688 +++++++++++++++ - .../golang.org/x/sys/unix/zerrors_openbsd_386.go | 1584 +++++++++++++++ - .../golang.org/x/sys/unix/zerrors_openbsd_amd64.go | 1583 +++++++++++++++ - .../golang.org/x/sys/unix/zerrors_solaris_amd64.go | 1436 +++++++++++++ - .../golang.org/x/sys/unix/zsyscall_darwin_386.go | 1394 +++++++++++++ - .../golang.org/x/sys/unix/zsyscall_darwin_amd64.go | 1409 +++++++++++++ - .../golang.org/x/sys/unix/zsyscall_darwin_arm.go | 1394 +++++++++++++ - .../golang.org/x/sys/unix/zsyscall_darwin_arm64.go | 1394 +++++++++++++ - .../x/sys/unix/zsyscall_dragonfly_amd64.go | 1382 +++++++++++++ - .../golang.org/x/sys/unix/zsyscall_freebsd_386.go | 1617 +++++++++++++++ - .../x/sys/unix/zsyscall_freebsd_amd64.go | 1617 +++++++++++++++ - .../golang.org/x/sys/unix/zsyscall_freebsd_arm.go | 1617 +++++++++++++++ - vendor/golang.org/x/sys/unix/zsyscall_linux_386.go | 1649 +++++++++++++++ - .../golang.org/x/sys/unix/zsyscall_linux_amd64.go | 1842 +++++++++++++++++ - vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go | 1751 ++++++++++++++++ - .../golang.org/x/sys/unix/zsyscall_linux_arm64.go | 1725 ++++++++++++++++ - .../golang.org/x/sys/unix/zsyscall_linux_mips.go | 1807 +++++++++++++++++ - .../golang.org/x/sys/unix/zsyscall_linux_mips64.go | 1791 ++++++++++++++++ - .../x/sys/unix/zsyscall_linux_mips64le.go | 1791 ++++++++++++++++ - .../golang.org/x/sys/unix/zsyscall_linux_mipsle.go | 1807 +++++++++++++++++ - .../golang.org/x/sys/unix/zsyscall_linux_ppc64.go | 1853 +++++++++++++++++ - .../x/sys/unix/zsyscall_linux_ppc64le.go | 1853 +++++++++++++++++ - .../golang.org/x/sys/unix/zsyscall_linux_s390x.go | 1633 +++++++++++++++ - .../x/sys/unix/zsyscall_linux_sparc64.go | 1822 +++++++++++++++++ - .../golang.org/x/sys/unix/zsyscall_netbsd_386.go | 1299 ++++++++++++ - .../golang.org/x/sys/unix/zsyscall_netbsd_amd64.go | 1299 ++++++++++++ - .../golang.org/x/sys/unix/zsyscall_netbsd_arm.go | 1299 ++++++++++++ - .../golang.org/x/sys/unix/zsyscall_openbsd_386.go | 1357 +++++++++++++ - .../x/sys/unix/zsyscall_openbsd_amd64.go | 1357 +++++++++++++ - .../x/sys/unix/zsyscall_solaris_amd64.go | 1562 ++++++++++++++ - vendor/golang.org/x/sys/unix/zsysctl_openbsd.go | 270 +++ - vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go | 398 ++++ - .../golang.org/x/sys/unix/zsysnum_darwin_amd64.go | 398 ++++ - vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go | 358 ++++ - .../golang.org/x/sys/unix/zsysnum_darwin_arm64.go | 398 ++++ - .../x/sys/unix/zsysnum_dragonfly_amd64.go | 304 +++ - .../golang.org/x/sys/unix/zsysnum_freebsd_386.go | 351 ++++ - .../golang.org/x/sys/unix/zsysnum_freebsd_amd64.go | 351 ++++ - .../golang.org/x/sys/unix/zsysnum_freebsd_arm.go | 351 ++++ - vendor/golang.org/x/sys/unix/zsysnum_linux_386.go | 388 ++++ - .../golang.org/x/sys/unix/zsysnum_linux_amd64.go | 341 ++++ - vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go | 361 ++++ - .../golang.org/x/sys/unix/zsysnum_linux_arm64.go | 285 +++ - vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go | 374 ++++ - .../golang.org/x/sys/unix/zsysnum_linux_mips64.go | 334 +++ - .../x/sys/unix/zsysnum_linux_mips64le.go | 334 +++ - .../golang.org/x/sys/unix/zsysnum_linux_mipsle.go | 374 ++++ - .../golang.org/x/sys/unix/zsysnum_linux_ppc64.go | 369 ++++ - .../golang.org/x/sys/unix/zsysnum_linux_ppc64le.go | 369 ++++ - .../golang.org/x/sys/unix/zsysnum_linux_s390x.go | 331 +++ - .../golang.org/x/sys/unix/zsysnum_linux_sparc64.go | 348 ++++ - vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go | 273 +++ - .../golang.org/x/sys/unix/zsysnum_netbsd_amd64.go | 273 +++ - vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go | 273 +++ - .../golang.org/x/sys/unix/zsysnum_openbsd_386.go | 207 ++ - .../golang.org/x/sys/unix/zsysnum_openbsd_amd64.go | 207 ++ - .../golang.org/x/sys/unix/zsysnum_solaris_amd64.go | 13 + - vendor/golang.org/x/sys/unix/ztypes_darwin_386.go | 447 ++++ - .../golang.org/x/sys/unix/ztypes_darwin_amd64.go | 462 +++++ - vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go | 449 ++++ - .../golang.org/x/sys/unix/ztypes_darwin_arm64.go | 457 +++++ - .../x/sys/unix/ztypes_dragonfly_amd64.go | 443 ++++ - vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go | 502 +++++ - .../golang.org/x/sys/unix/ztypes_freebsd_amd64.go | 505 +++++ - vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go | 497 +++++ - vendor/golang.org/x/sys/unix/ztypes_linux_386.go | 653 ++++++ - vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go | 671 ++++++ - vendor/golang.org/x/sys/unix/ztypes_linux_arm.go | 642 ++++++ - vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go | 650 ++++++ - vendor/golang.org/x/sys/unix/ztypes_linux_mips.go | 660 ++++++ - .../golang.org/x/sys/unix/ztypes_linux_mips64.go | 653 ++++++ - .../golang.org/x/sys/unix/ztypes_linux_mips64le.go | 653 ++++++ - .../golang.org/x/sys/unix/ztypes_linux_mipsle.go | 660 ++++++ - vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go | 660 ++++++ - .../golang.org/x/sys/unix/ztypes_linux_ppc64le.go | 660 ++++++ - vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go | 675 ++++++ - .../golang.org/x/sys/unix/ztypes_linux_sparc64.go | 666 ++++++ - vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go | 396 ++++ - .../golang.org/x/sys/unix/ztypes_netbsd_amd64.go | 403 ++++ - vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go | 401 ++++ - vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go | 441 ++++ - .../golang.org/x/sys/unix/ztypes_openbsd_amd64.go | 448 ++++ - .../golang.org/x/sys/unix/ztypes_solaris_amd64.go | 423 ++++ - 194 files changed, 121990 insertions(+) - create mode 100644 vendor/golang.org/x/sys/LICENSE - create mode 100644 vendor/golang.org/x/sys/PATENTS - create mode 100644 vendor/golang.org/x/sys/README - create mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_386.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_amd64.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_arm.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_arm64.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_386.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_arm.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_386.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_amd64.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_arm.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_arm64.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_mips64x.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_mipsx.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_s390x.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_386.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_arm.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_openbsd_386.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s - create mode 100644 vendor/golang.org/x/sys/unix/asm_solaris_amd64.s - create mode 100644 vendor/golang.org/x/sys/unix/bluetooth_linux.go - create mode 100644 vendor/golang.org/x/sys/unix/constants.go - create mode 100644 vendor/golang.org/x/sys/unix/dirent.go - create mode 100644 vendor/golang.org/x/sys/unix/endian_big.go - create mode 100644 vendor/golang.org/x/sys/unix/endian_little.go - create mode 100644 vendor/golang.org/x/sys/unix/env_unix.go - create mode 100644 vendor/golang.org/x/sys/unix/env_unset.go - create mode 100644 vendor/golang.org/x/sys/unix/flock.go - create mode 100644 vendor/golang.org/x/sys/unix/flock_linux_32bit.go - create mode 100644 vendor/golang.org/x/sys/unix/gccgo.go - create mode 100644 vendor/golang.org/x/sys/unix/gccgo_c.c - create mode 100644 vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go - create mode 100644 vendor/golang.org/x/sys/unix/mkpost.go - create mode 100644 vendor/golang.org/x/sys/unix/openbsd_pledge.go - create mode 100644 vendor/golang.org/x/sys/unix/race.go - create mode 100644 vendor/golang.org/x/sys/unix/race0.go - create mode 100644 vendor/golang.org/x/sys/unix/sockcmsg_linux.go - create mode 100644 vendor/golang.org/x/sys/unix/sockcmsg_unix.go - create mode 100644 vendor/golang.org/x/sys/unix/str.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_bsd.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_386.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_dragonfly.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_386.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_arm64.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_s390x.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_no_getwd.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_solaris.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_unix.go - create mode 100644 vendor/golang.org/x/sys/unix/syscall_unix_gc.go - create mode 100644 vendor/golang.org/x/sys/unix/types_darwin.go - create mode 100644 vendor/golang.org/x/sys/unix/types_dragonfly.go - create mode 100644 vendor/golang.org/x/sys/unix/types_freebsd.go - create mode 100644 vendor/golang.org/x/sys/unix/types_linux.go - create mode 100644 vendor/golang.org/x/sys/unix/types_netbsd.go - create mode 100644 vendor/golang.org/x/sys/unix/types_openbsd.go - create mode 100644 vendor/golang.org/x/sys/unix/types_solaris.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysctl_openbsd.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_386.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_386.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go - -diff --git a/vendor.conf b/vendor.conf -index 75dfca4..17a546e 100644 ---- a/vendor.conf -+++ b/vendor.conf -@@ -12,3 +12,4 @@ github.com/seccomp/libseccomp-golang 32f571b70023028bd57d9288c20efbcb237f3ce0 - github.com/syndtr/gocapability/capability e7cb7fa329f456b3855136a2642b197bad7366ba - github.com/urfave/cli d53eb991652b1d438abdd34ce4bfa3ef1539108e - github.com/vishvananda/netlink 1e2e08e8a2dcdacaae3f14ac44c5cfa31361f270 -+golang.org/x/sys 9a7256cb28ed514b4e1e5f68959914c4c28a92e0 https://github.com/golang/sys -diff --git a/vendor/golang.org/x/sys/LICENSE b/vendor/golang.org/x/sys/LICENSE -new file mode 100644 -index 0000000..6a66aea ---- /dev/null -+++ b/vendor/golang.org/x/sys/LICENSE -@@ -0,0 +1,27 @@ -+Copyright (c) 2009 The Go Authors. All rights reserved. -+ -+Redistribution and use in source and binary forms, with or without -+modification, are permitted provided that the following conditions are -+met: -+ -+ * Redistributions of source code must retain the above copyright -+notice, this list of conditions and the following disclaimer. -+ * Redistributions in binary form must reproduce the above -+copyright notice, this list of conditions and the following disclaimer -+in the documentation and/or other materials provided with the -+distribution. -+ * Neither the name of Google Inc. nor the names of its -+contributors may be used to endorse or promote products derived from -+this software without specific prior written permission. -+ -+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -diff --git a/vendor/golang.org/x/sys/PATENTS b/vendor/golang.org/x/sys/PATENTS -new file mode 100644 -index 0000000..7330990 ---- /dev/null -+++ b/vendor/golang.org/x/sys/PATENTS -@@ -0,0 +1,22 @@ -+Additional IP Rights Grant (Patents) -+ -+"This implementation" means the copyrightable works distributed by -+Google as part of the Go project. -+ -+Google hereby grants to You a perpetual, worldwide, non-exclusive, -+no-charge, royalty-free, irrevocable (except as stated in this section) -+patent license to make, have made, use, offer to sell, sell, import, -+transfer and otherwise run, modify and propagate the contents of this -+implementation of Go, where such license applies only to those patent -+claims, both currently owned or controlled by Google and acquired in -+the future, licensable by Google that are necessarily infringed by this -+implementation of Go. This grant does not include claims that would be -+infringed only as a consequence of further modification of this -+implementation. If you or your agent or exclusive licensee institute or -+order or agree to the institution of patent litigation against any -+entity (including a cross-claim or counterclaim in a lawsuit) alleging -+that this implementation of Go or any code incorporated within this -+implementation of Go constitutes direct or contributory patent -+infringement, or inducement of patent infringement, then any patent -+rights granted to you under this License for this implementation of Go -+shall terminate as of the date such litigation is filed. -diff --git a/vendor/golang.org/x/sys/README b/vendor/golang.org/x/sys/README -new file mode 100644 -index 0000000..bd422b4 ---- /dev/null -+++ b/vendor/golang.org/x/sys/README -@@ -0,0 +1,3 @@ -+This repository holds supplemental Go packages for low-level interactions with the operating system. -+ -+To submit changes to this repository, see http://golang.org/doc/contribute.html. -diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_386.s b/vendor/golang.org/x/sys/unix/asm_darwin_386.s -new file mode 100644 -index 0000000..8a72783 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_darwin_386.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for 386, Darwin -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-28 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-52 -+ JMP syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-28 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s b/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s -new file mode 100644 -index 0000000..6321421 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for AMD64, Darwin -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-104 -+ JMP syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_arm.s b/vendor/golang.org/x/sys/unix/asm_darwin_arm.s -new file mode 100644 -index 0000000..333242d ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_darwin_arm.s -@@ -0,0 +1,30 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+// +build arm,darwin -+ -+#include "textflag.h" -+ -+// -+// System call support for ARM, Darwin -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-28 -+ B syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-40 -+ B syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-52 -+ B syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-28 -+ B syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 -+ B syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s b/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s -new file mode 100644 -index 0000000..97e0174 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s -@@ -0,0 +1,30 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+// +build arm64,darwin -+ -+#include "textflag.h" -+ -+// -+// System call support for AMD64, Darwin -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ B syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ B syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-104 -+ B syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ B syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ B syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s b/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s -new file mode 100644 -index 0000000..d5ed672 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for AMD64, DragonFly -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-64 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-88 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-112 -+ JMP syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-64 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-88 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_386.s b/vendor/golang.org/x/sys/unix/asm_freebsd_386.s -new file mode 100644 -index 0000000..c9a0a26 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_freebsd_386.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for 386, FreeBSD -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-28 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-52 -+ JMP syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-28 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s -new file mode 100644 -index 0000000..3517247 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for AMD64, FreeBSD -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-104 -+ JMP syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s b/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s -new file mode 100644 -index 0000000..9227c87 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s -@@ -0,0 +1,29 @@ -+// Copyright 2012 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for ARM, FreeBSD -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-28 -+ B syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-40 -+ B syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-52 -+ B syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-28 -+ B syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 -+ B syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_linux_386.s b/vendor/golang.org/x/sys/unix/asm_linux_386.s -new file mode 100644 -index 0000000..4db2909 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_linux_386.s -@@ -0,0 +1,35 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System calls for 386, Linux -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-28 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-28 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·RawSyscall6(SB) -+ -+TEXT ·socketcall(SB),NOSPLIT,$0-36 -+ JMP syscall·socketcall(SB) -+ -+TEXT ·rawsocketcall(SB),NOSPLIT,$0-36 -+ JMP syscall·rawsocketcall(SB) -+ -+TEXT ·seek(SB),NOSPLIT,$0-28 -+ JMP syscall·seek(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_linux_amd64.s b/vendor/golang.org/x/sys/unix/asm_linux_amd64.s -new file mode 100644 -index 0000000..44e25c6 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_linux_amd64.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System calls for AMD64, Linux -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·RawSyscall6(SB) -+ -+TEXT ·gettimeofday(SB),NOSPLIT,$0-16 -+ JMP syscall·gettimeofday(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_linux_arm.s b/vendor/golang.org/x/sys/unix/asm_linux_arm.s -new file mode 100644 -index 0000000..cf0b574 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_linux_arm.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System calls for arm, Linux -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-28 -+ B syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-40 -+ B syscall·Syscall6(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-28 -+ B syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 -+ B syscall·RawSyscall6(SB) -+ -+TEXT ·seek(SB),NOSPLIT,$0-32 -+ B syscall·seek(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_linux_arm64.s b/vendor/golang.org/x/sys/unix/asm_linux_arm64.s -new file mode 100644 -index 0000000..4be9bfe ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_linux_arm64.s -@@ -0,0 +1,24 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build linux -+// +build arm64 -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ B syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ B syscall·Syscall6(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ B syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ B syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s b/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s -new file mode 100644 -index 0000000..724e580 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s -@@ -0,0 +1,28 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build linux -+// +build mips64 mips64le -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System calls for mips64, Linux -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s b/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s -new file mode 100644 -index 0000000..2ea4257 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s -@@ -0,0 +1,31 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build linux -+// +build mips mipsle -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System calls for mips, Linux -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-28 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-52 -+ JMP syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-28 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s -new file mode 100644 -index 0000000..8d231fe ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s -@@ -0,0 +1,28 @@ -+// Copyright 2014 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build linux -+// +build ppc64 ppc64le -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System calls for ppc64, Linux -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ BR syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ BR syscall·Syscall6(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ BR syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ BR syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_linux_s390x.s b/vendor/golang.org/x/sys/unix/asm_linux_s390x.s -new file mode 100644 -index 0000000..1188985 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_linux_s390x.s -@@ -0,0 +1,28 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build s390x -+// +build linux -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System calls for s390x, Linux -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ BR syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ BR syscall·Syscall6(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ BR syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ BR syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_386.s b/vendor/golang.org/x/sys/unix/asm_netbsd_386.s -new file mode 100644 -index 0000000..48bdcd7 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_netbsd_386.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for 386, NetBSD -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-28 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-52 -+ JMP syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-28 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s -new file mode 100644 -index 0000000..2ede05c ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for AMD64, NetBSD -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-104 -+ JMP syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s b/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s -new file mode 100644 -index 0000000..e892857 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s -@@ -0,0 +1,29 @@ -+// Copyright 2013 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for ARM, NetBSD -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-28 -+ B syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-40 -+ B syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-52 -+ B syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-28 -+ B syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 -+ B syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_386.s b/vendor/golang.org/x/sys/unix/asm_openbsd_386.s -new file mode 100644 -index 0000000..00576f3 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_openbsd_386.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for 386, OpenBSD -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-28 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-52 -+ JMP syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-28 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s -new file mode 100644 -index 0000000..790ef77 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s -@@ -0,0 +1,29 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System call support for AMD64, OpenBSD -+// -+ -+// Just jump to package syscall's implementation for all these functions. -+// The runtime may know about them. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·Syscall9(SB),NOSPLIT,$0-104 -+ JMP syscall·Syscall9(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·RawSyscall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s b/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s -new file mode 100644 -index 0000000..43ed17a ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s -@@ -0,0 +1,17 @@ -+// Copyright 2014 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build !gccgo -+ -+#include "textflag.h" -+ -+// -+// System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go -+// -+ -+TEXT ·sysvicall6(SB),NOSPLIT,$0-64 -+ JMP syscall·sysvicall6(SB) -+ -+TEXT ·rawSysvicall6(SB),NOSPLIT,$0-64 -+ JMP syscall·rawSysvicall6(SB) -diff --git a/vendor/golang.org/x/sys/unix/bluetooth_linux.go b/vendor/golang.org/x/sys/unix/bluetooth_linux.go -new file mode 100644 -index 0000000..6e32296 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/bluetooth_linux.go -@@ -0,0 +1,35 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// Bluetooth sockets and messages -+ -+package unix -+ -+// Bluetooth Protocols -+const ( -+ BTPROTO_L2CAP = 0 -+ BTPROTO_HCI = 1 -+ BTPROTO_SCO = 2 -+ BTPROTO_RFCOMM = 3 -+ BTPROTO_BNEP = 4 -+ BTPROTO_CMTP = 5 -+ BTPROTO_HIDP = 6 -+ BTPROTO_AVDTP = 7 -+) -+ -+const ( -+ HCI_CHANNEL_RAW = 0 -+ HCI_CHANNEL_USER = 1 -+ HCI_CHANNEL_MONITOR = 2 -+ HCI_CHANNEL_CONTROL = 3 -+) -+ -+// Socketoption Level -+const ( -+ SOL_BLUETOOTH = 0x112 -+ SOL_HCI = 0x0 -+ SOL_L2CAP = 0x6 -+ SOL_RFCOMM = 0x12 -+ SOL_SCO = 0x11 -+) -diff --git a/vendor/golang.org/x/sys/unix/constants.go b/vendor/golang.org/x/sys/unix/constants.go -new file mode 100644 -index 0000000..a96f0eb ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/constants.go -@@ -0,0 +1,13 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin dragonfly freebsd linux netbsd openbsd solaris -+ -+package unix -+ -+const ( -+ R_OK = 0x4 -+ W_OK = 0x2 -+ X_OK = 0x1 -+) -diff --git a/vendor/golang.org/x/sys/unix/dirent.go b/vendor/golang.org/x/sys/unix/dirent.go -new file mode 100644 -index 0000000..bd47581 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/dirent.go -@@ -0,0 +1,102 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris -+ -+package unix -+ -+import "unsafe" -+ -+// readInt returns the size-bytes unsigned integer in native byte order at offset off. -+func readInt(b []byte, off, size uintptr) (u uint64, ok bool) { -+ if len(b) < int(off+size) { -+ return 0, false -+ } -+ if isBigEndian { -+ return readIntBE(b[off:], size), true -+ } -+ return readIntLE(b[off:], size), true -+} -+ -+func readIntBE(b []byte, size uintptr) uint64 { -+ switch size { -+ case 1: -+ return uint64(b[0]) -+ case 2: -+ _ = b[1] // bounds check hint to compiler; see golang.org/issue/14808 -+ return uint64(b[1]) | uint64(b[0])<<8 -+ case 4: -+ _ = b[3] // bounds check hint to compiler; see golang.org/issue/14808 -+ return uint64(b[3]) | uint64(b[2])<<8 | uint64(b[1])<<16 | uint64(b[0])<<24 -+ case 8: -+ _ = b[7] // bounds check hint to compiler; see golang.org/issue/14808 -+ return uint64(b[7]) | uint64(b[6])<<8 | uint64(b[5])<<16 | uint64(b[4])<<24 | -+ uint64(b[3])<<32 | uint64(b[2])<<40 | uint64(b[1])<<48 | uint64(b[0])<<56 -+ default: -+ panic("syscall: readInt with unsupported size") -+ } -+} -+ -+func readIntLE(b []byte, size uintptr) uint64 { -+ switch size { -+ case 1: -+ return uint64(b[0]) -+ case 2: -+ _ = b[1] // bounds check hint to compiler; see golang.org/issue/14808 -+ return uint64(b[0]) | uint64(b[1])<<8 -+ case 4: -+ _ = b[3] // bounds check hint to compiler; see golang.org/issue/14808 -+ return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 -+ case 8: -+ _ = b[7] // bounds check hint to compiler; see golang.org/issue/14808 -+ return uint64(b[0]) | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | -+ uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56 -+ default: -+ panic("syscall: readInt with unsupported size") -+ } -+} -+ -+// ParseDirent parses up to max directory entries in buf, -+// appending the names to names. It returns the number of -+// bytes consumed from buf, the number of entries added -+// to names, and the new names slice. -+func ParseDirent(buf []byte, max int, names []string) (consumed int, count int, newnames []string) { -+ origlen := len(buf) -+ count = 0 -+ for max != 0 && len(buf) > 0 { -+ reclen, ok := direntReclen(buf) -+ if !ok || reclen > uint64(len(buf)) { -+ return origlen, count, names -+ } -+ rec := buf[:reclen] -+ buf = buf[reclen:] -+ ino, ok := direntIno(rec) -+ if !ok { -+ break -+ } -+ if ino == 0 { // File absent in directory. -+ continue -+ } -+ const namoff = uint64(unsafe.Offsetof(Dirent{}.Name)) -+ namlen, ok := direntNamlen(rec) -+ if !ok || namoff+namlen > uint64(len(rec)) { -+ break -+ } -+ name := rec[namoff : namoff+namlen] -+ for i, c := range name { -+ if c == 0 { -+ name = name[:i] -+ break -+ } -+ } -+ // Check for useless names before allocating a string. -+ if string(name) == "." || string(name) == ".." { -+ continue -+ } -+ max-- -+ count++ -+ names = append(names, string(name)) -+ } -+ return origlen - len(buf), count, names -+} -diff --git a/vendor/golang.org/x/sys/unix/endian_big.go b/vendor/golang.org/x/sys/unix/endian_big.go -new file mode 100644 -index 0000000..8cce9f1 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/endian_big.go -@@ -0,0 +1,9 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+// -+// +build ppc64 s390x mips64 -+ -+package unix -+ -+const isBigEndian = true -diff --git a/vendor/golang.org/x/sys/unix/endian_little.go b/vendor/golang.org/x/sys/unix/endian_little.go -new file mode 100644 -index 0000000..9ed865f ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/endian_little.go -@@ -0,0 +1,9 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+// -+// +build 386 amd64 amd64p32 arm arm64 ppc64le mips64le -+ -+package unix -+ -+const isBigEndian = false -diff --git a/vendor/golang.org/x/sys/unix/env_unix.go b/vendor/golang.org/x/sys/unix/env_unix.go -new file mode 100644 -index 0000000..45e281a ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/env_unix.go -@@ -0,0 +1,27 @@ -+// Copyright 2010 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin dragonfly freebsd linux netbsd openbsd solaris -+ -+// Unix environment variables. -+ -+package unix -+ -+import "syscall" -+ -+func Getenv(key string) (value string, found bool) { -+ return syscall.Getenv(key) -+} -+ -+func Setenv(key, value string) error { -+ return syscall.Setenv(key, value) -+} -+ -+func Clearenv() { -+ syscall.Clearenv() -+} -+ -+func Environ() []string { -+ return syscall.Environ() -+} -diff --git a/vendor/golang.org/x/sys/unix/env_unset.go b/vendor/golang.org/x/sys/unix/env_unset.go -new file mode 100644 -index 0000000..9222262 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/env_unset.go -@@ -0,0 +1,14 @@ -+// Copyright 2014 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build go1.4 -+ -+package unix -+ -+import "syscall" -+ -+func Unsetenv(key string) error { -+ // This was added in Go 1.4. -+ return syscall.Unsetenv(key) -+} -diff --git a/vendor/golang.org/x/sys/unix/flock.go b/vendor/golang.org/x/sys/unix/flock.go -new file mode 100644 -index 0000000..ce67a59 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/flock.go -@@ -0,0 +1,24 @@ -+// +build linux darwin freebsd openbsd netbsd dragonfly -+ -+// Copyright 2014 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin dragonfly freebsd linux netbsd openbsd -+ -+package unix -+ -+import "unsafe" -+ -+// fcntl64Syscall is usually SYS_FCNTL, but is overridden on 32-bit Linux -+// systems by flock_linux_32bit.go to be SYS_FCNTL64. -+var fcntl64Syscall uintptr = SYS_FCNTL -+ -+// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. -+func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { -+ _, _, errno := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(unsafe.Pointer(lk))) -+ if errno == 0 { -+ return nil -+ } -+ return errno -+} -diff --git a/vendor/golang.org/x/sys/unix/flock_linux_32bit.go b/vendor/golang.org/x/sys/unix/flock_linux_32bit.go -new file mode 100644 -index 0000000..fc0e50e ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/flock_linux_32bit.go -@@ -0,0 +1,13 @@ -+// +build linux,386 linux,arm linux,mips linux,mipsle -+ -+// Copyright 2014 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+package unix -+ -+func init() { -+ // On 32-bit Linux systems, the fcntl syscall that matches Go's -+ // Flock_t type is SYS_FCNTL64, not SYS_FCNTL. -+ fcntl64Syscall = SYS_FCNTL64 -+} -diff --git a/vendor/golang.org/x/sys/unix/gccgo.go b/vendor/golang.org/x/sys/unix/gccgo.go -new file mode 100644 -index 0000000..94c8232 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/gccgo.go -@@ -0,0 +1,46 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build gccgo -+ -+package unix -+ -+import "syscall" -+ -+// We can't use the gc-syntax .s files for gccgo. On the plus side -+// much of the functionality can be written directly in Go. -+ -+//extern gccgoRealSyscall -+func realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r, errno uintptr) -+ -+func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { -+ syscall.Entersyscall() -+ r, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) -+ syscall.Exitsyscall() -+ return r, 0, syscall.Errno(errno) -+} -+ -+func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { -+ syscall.Entersyscall() -+ r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0) -+ syscall.Exitsyscall() -+ return r, 0, syscall.Errno(errno) -+} -+ -+func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) { -+ syscall.Entersyscall() -+ r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9) -+ syscall.Exitsyscall() -+ return r, 0, syscall.Errno(errno) -+} -+ -+func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) { -+ r, errno := realSyscall(trap, a1, a2, a3, 0, 0, 0, 0, 0, 0) -+ return r, 0, syscall.Errno(errno) -+} -+ -+func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) { -+ r, errno := realSyscall(trap, a1, a2, a3, a4, a5, a6, 0, 0, 0) -+ return r, 0, syscall.Errno(errno) -+} -diff --git a/vendor/golang.org/x/sys/unix/gccgo_c.c b/vendor/golang.org/x/sys/unix/gccgo_c.c -new file mode 100644 -index 0000000..07f6be0 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/gccgo_c.c -@@ -0,0 +1,41 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build gccgo -+ -+#include -+#include -+#include -+ -+#define _STRINGIFY2_(x) #x -+#define _STRINGIFY_(x) _STRINGIFY2_(x) -+#define GOSYM_PREFIX _STRINGIFY_(__USER_LABEL_PREFIX__) -+ -+// Call syscall from C code because the gccgo support for calling from -+// Go to C does not support varargs functions. -+ -+struct ret { -+ uintptr_t r; -+ uintptr_t err; -+}; -+ -+struct ret -+gccgoRealSyscall(uintptr_t trap, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8, uintptr_t a9) -+{ -+ struct ret r; -+ -+ errno = 0; -+ r.r = syscall(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9); -+ r.err = errno; -+ return r; -+} -+ -+// Define the use function in C so that it is not inlined. -+ -+extern void use(void *) __asm__ (GOSYM_PREFIX GOPKGPATH ".use") __attribute__((noinline)); -+ -+void -+use(void *p __attribute__ ((unused))) -+{ -+} -diff --git a/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go b/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go -new file mode 100644 -index 0000000..bffe1a7 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go -@@ -0,0 +1,20 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build gccgo,linux,amd64 -+ -+package unix -+ -+import "syscall" -+ -+//extern gettimeofday -+func realGettimeofday(*Timeval, *byte) int32 -+ -+func gettimeofday(tv *Timeval) (err syscall.Errno) { -+ r := realGettimeofday(tv, nil) -+ if r < 0 { -+ return syscall.GetErrno() -+ } -+ return 0 -+} -diff --git a/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go b/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go -new file mode 100644 -index 0000000..5633269 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go -@@ -0,0 +1,20 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build gccgo,linux,sparc64 -+ -+package unix -+ -+import "syscall" -+ -+//extern sysconf -+func realSysconf(name int) int64 -+ -+func sysconf(name int) (n int64, err syscall.Errno) { -+ r := realSysconf(name) -+ if r < 0 { -+ return 0, syscall.GetErrno() -+ } -+ return r, 0 -+} -diff --git a/vendor/golang.org/x/sys/unix/mkpost.go b/vendor/golang.org/x/sys/unix/mkpost.go -new file mode 100644 -index 0000000..ed50d90 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/mkpost.go -@@ -0,0 +1,62 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build ignore -+ -+// mkpost processes the output of cgo -godefs to -+// modify the generated types. It is used to clean up -+// the sys API in an architecture specific manner. -+// -+// mkpost is run after cgo -godefs by mkall.sh. -+package main -+ -+import ( -+ "fmt" -+ "go/format" -+ "io/ioutil" -+ "log" -+ "os" -+ "regexp" -+) -+ -+func main() { -+ b, err := ioutil.ReadAll(os.Stdin) -+ if err != nil { -+ log.Fatal(err) -+ } -+ s := string(b) -+ -+ goarch := os.Getenv("GOARCH") -+ goos := os.Getenv("GOOS") -+ if goarch == "s390x" && goos == "linux" { -+ // Export the types of PtraceRegs fields. -+ re := regexp.MustCompile("ptrace(Psw|Fpregs|Per)") -+ s = re.ReplaceAllString(s, "Ptrace$1") -+ -+ // Replace padding fields inserted by cgo with blank identifiers. -+ re = regexp.MustCompile("Pad_cgo[A-Za-z0-9_]*") -+ s = re.ReplaceAllString(s, "_") -+ -+ // Replace other unwanted fields with blank identifiers. -+ re = regexp.MustCompile("X_[A-Za-z0-9_]*") -+ s = re.ReplaceAllString(s, "_") -+ -+ // Replace the control_regs union with a blank identifier for now. -+ re = regexp.MustCompile("(Control_regs)\\s+\\[0\\]uint64") -+ s = re.ReplaceAllString(s, "_ [0]uint64") -+ } -+ -+ // gofmt -+ b, err = format.Source([]byte(s)) -+ if err != nil { -+ log.Fatal(err) -+ } -+ -+ // Append this command to the header to show where the new file -+ // came from. -+ re := regexp.MustCompile("(cgo -godefs [a-zA-Z0-9_]+\\.go.*)") -+ b = re.ReplaceAll(b, []byte("$1 | go run mkpost.go")) -+ -+ fmt.Printf("%s", b) -+} -diff --git a/vendor/golang.org/x/sys/unix/openbsd_pledge.go b/vendor/golang.org/x/sys/unix/openbsd_pledge.go -new file mode 100644 -index 0000000..db4f72e ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/openbsd_pledge.go -@@ -0,0 +1,38 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build openbsd -+// +build 386 amd64 arm -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+const ( -+ SYS_PLEDGE = 108 -+) -+ -+// Pledge implements the pledge syscall. For more information see pledge(2). -+func Pledge(promises string, paths []string) error { -+ promisesPtr, err := syscall.BytePtrFromString(promises) -+ if err != nil { -+ return err -+ } -+ promisesUnsafe, pathsUnsafe := unsafe.Pointer(promisesPtr), unsafe.Pointer(nil) -+ if paths != nil { -+ var pathsPtr []*byte -+ if pathsPtr, err = syscall.SlicePtrFromStrings(paths); err != nil { -+ return err -+ } -+ pathsUnsafe = unsafe.Pointer(&pathsPtr[0]) -+ } -+ _, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(promisesUnsafe), uintptr(pathsUnsafe), 0) -+ if e != 0 { -+ return e -+ } -+ return nil -+} -diff --git a/vendor/golang.org/x/sys/unix/race.go b/vendor/golang.org/x/sys/unix/race.go -new file mode 100644 -index 0000000..3c7627e ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/race.go -@@ -0,0 +1,30 @@ -+// Copyright 2012 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin,race linux,race freebsd,race -+ -+package unix -+ -+import ( -+ "runtime" -+ "unsafe" -+) -+ -+const raceenabled = true -+ -+func raceAcquire(addr unsafe.Pointer) { -+ runtime.RaceAcquire(addr) -+} -+ -+func raceReleaseMerge(addr unsafe.Pointer) { -+ runtime.RaceReleaseMerge(addr) -+} -+ -+func raceReadRange(addr unsafe.Pointer, len int) { -+ runtime.RaceReadRange(addr, len) -+} -+ -+func raceWriteRange(addr unsafe.Pointer, len int) { -+ runtime.RaceWriteRange(addr, len) -+} -diff --git a/vendor/golang.org/x/sys/unix/race0.go b/vendor/golang.org/x/sys/unix/race0.go -new file mode 100644 -index 0000000..f8678e0 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/race0.go -@@ -0,0 +1,25 @@ -+// Copyright 2012 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly -+ -+package unix -+ -+import ( -+ "unsafe" -+) -+ -+const raceenabled = false -+ -+func raceAcquire(addr unsafe.Pointer) { -+} -+ -+func raceReleaseMerge(addr unsafe.Pointer) { -+} -+ -+func raceReadRange(addr unsafe.Pointer, len int) { -+} -+ -+func raceWriteRange(addr unsafe.Pointer, len int) { -+} -diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_linux.go b/vendor/golang.org/x/sys/unix/sockcmsg_linux.go -new file mode 100644 -index 0000000..d9ff473 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/sockcmsg_linux.go -@@ -0,0 +1,36 @@ -+// Copyright 2011 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// Socket control messages -+ -+package unix -+ -+import "unsafe" -+ -+// UnixCredentials encodes credentials into a socket control message -+// for sending to another process. This can be used for -+// authentication. -+func UnixCredentials(ucred *Ucred) []byte { -+ b := make([]byte, CmsgSpace(SizeofUcred)) -+ h := (*Cmsghdr)(unsafe.Pointer(&b[0])) -+ h.Level = SOL_SOCKET -+ h.Type = SCM_CREDENTIALS -+ h.SetLen(CmsgLen(SizeofUcred)) -+ *((*Ucred)(cmsgData(h))) = *ucred -+ return b -+} -+ -+// ParseUnixCredentials decodes a socket control message that contains -+// credentials in a Ucred structure. To receive such a message, the -+// SO_PASSCRED option must be enabled on the socket. -+func ParseUnixCredentials(m *SocketControlMessage) (*Ucred, error) { -+ if m.Header.Level != SOL_SOCKET { -+ return nil, EINVAL -+ } -+ if m.Header.Type != SCM_CREDENTIALS { -+ return nil, EINVAL -+ } -+ ucred := *(*Ucred)(unsafe.Pointer(&m.Data[0])) -+ return &ucred, nil -+} -diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_unix.go b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go -new file mode 100644 -index 0000000..f1493a3 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go -@@ -0,0 +1,103 @@ -+// Copyright 2011 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin dragonfly freebsd linux netbsd openbsd solaris -+ -+// Socket control messages -+ -+package unix -+ -+import "unsafe" -+ -+// Round the length of a raw sockaddr up to align it properly. -+func cmsgAlignOf(salen int) int { -+ salign := sizeofPtr -+ // NOTE: It seems like 64-bit Darwin and DragonFly BSD kernels -+ // still require 32-bit aligned access to network subsystem. -+ if darwin64Bit || dragonfly64Bit { -+ salign = 4 -+ } -+ return (salen + salign - 1) & ^(salign - 1) -+} -+ -+// CmsgLen returns the value to store in the Len field of the Cmsghdr -+// structure, taking into account any necessary alignment. -+func CmsgLen(datalen int) int { -+ return cmsgAlignOf(SizeofCmsghdr) + datalen -+} -+ -+// CmsgSpace returns the number of bytes an ancillary element with -+// payload of the passed data length occupies. -+func CmsgSpace(datalen int) int { -+ return cmsgAlignOf(SizeofCmsghdr) + cmsgAlignOf(datalen) -+} -+ -+func cmsgData(h *Cmsghdr) unsafe.Pointer { -+ return unsafe.Pointer(uintptr(unsafe.Pointer(h)) + uintptr(cmsgAlignOf(SizeofCmsghdr))) -+} -+ -+// SocketControlMessage represents a socket control message. -+type SocketControlMessage struct { -+ Header Cmsghdr -+ Data []byte -+} -+ -+// ParseSocketControlMessage parses b as an array of socket control -+// messages. -+func ParseSocketControlMessage(b []byte) ([]SocketControlMessage, error) { -+ var msgs []SocketControlMessage -+ i := 0 -+ for i+CmsgLen(0) <= len(b) { -+ h, dbuf, err := socketControlMessageHeaderAndData(b[i:]) -+ if err != nil { -+ return nil, err -+ } -+ m := SocketControlMessage{Header: *h, Data: dbuf} -+ msgs = append(msgs, m) -+ i += cmsgAlignOf(int(h.Len)) -+ } -+ return msgs, nil -+} -+ -+func socketControlMessageHeaderAndData(b []byte) (*Cmsghdr, []byte, error) { -+ h := (*Cmsghdr)(unsafe.Pointer(&b[0])) -+ if h.Len < SizeofCmsghdr || uint64(h.Len) > uint64(len(b)) { -+ return nil, nil, EINVAL -+ } -+ return h, b[cmsgAlignOf(SizeofCmsghdr):h.Len], nil -+} -+ -+// UnixRights encodes a set of open file descriptors into a socket -+// control message for sending to another process. -+func UnixRights(fds ...int) []byte { -+ datalen := len(fds) * 4 -+ b := make([]byte, CmsgSpace(datalen)) -+ h := (*Cmsghdr)(unsafe.Pointer(&b[0])) -+ h.Level = SOL_SOCKET -+ h.Type = SCM_RIGHTS -+ h.SetLen(CmsgLen(datalen)) -+ data := cmsgData(h) -+ for _, fd := range fds { -+ *(*int32)(data) = int32(fd) -+ data = unsafe.Pointer(uintptr(data) + 4) -+ } -+ return b -+} -+ -+// ParseUnixRights decodes a socket control message that contains an -+// integer array of open file descriptors from another process. -+func ParseUnixRights(m *SocketControlMessage) ([]int, error) { -+ if m.Header.Level != SOL_SOCKET { -+ return nil, EINVAL -+ } -+ if m.Header.Type != SCM_RIGHTS { -+ return nil, EINVAL -+ } -+ fds := make([]int, len(m.Data)>>2) -+ for i, j := 0, 0; i < len(m.Data); i += 4 { -+ fds[j] = int(*(*int32)(unsafe.Pointer(&m.Data[i]))) -+ j++ -+ } -+ return fds, nil -+} -diff --git a/vendor/golang.org/x/sys/unix/str.go b/vendor/golang.org/x/sys/unix/str.go -new file mode 100644 -index 0000000..35ed664 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/str.go -@@ -0,0 +1,26 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin dragonfly freebsd linux netbsd openbsd solaris -+ -+package unix -+ -+func itoa(val int) string { // do it here rather than with fmt to avoid dependency -+ if val < 0 { -+ return "-" + uitoa(uint(-val)) -+ } -+ return uitoa(uint(val)) -+} -+ -+func uitoa(val uint) string { -+ var buf [32]byte // big enough for int64 -+ i := len(buf) - 1 -+ for val >= 10 { -+ buf[i] = byte(val%10 + '0') -+ i-- -+ val /= 10 -+ } -+ buf[i] = byte(val + '0') -+ return string(buf[i:]) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall.go b/vendor/golang.org/x/sys/unix/syscall.go -new file mode 100644 -index 0000000..85e3502 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall.go -@@ -0,0 +1,69 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin dragonfly freebsd linux netbsd openbsd solaris -+ -+// Package unix contains an interface to the low-level operating system -+// primitives. OS details vary depending on the underlying system, and -+// by default, godoc will display OS-specific documentation for the current -+// system. If you want godoc to display OS documentation for another -+// system, set $GOOS and $GOARCH to the desired system. For example, if -+// you want to view documentation for freebsd/arm on linux/amd64, set $GOOS -+// to freebsd and $GOARCH to arm. -+// The primary use of this package is inside other packages that provide a more -+// portable interface to the system, such as "os", "time" and "net". Use -+// those packages rather than this one if you can. -+// For details of the functions and data types in this package consult -+// the manuals for the appropriate operating system. -+// These calls return err == nil to indicate success; otherwise -+// err represents an operating system error describing the failure and -+// holds a value of type syscall.Errno. -+package unix // import "golang.org/x/sys/unix" -+ -+// ByteSliceFromString returns a NUL-terminated slice of bytes -+// containing the text of s. If s contains a NUL byte at any -+// location, it returns (nil, EINVAL). -+func ByteSliceFromString(s string) ([]byte, error) { -+ for i := 0; i < len(s); i++ { -+ if s[i] == 0 { -+ return nil, EINVAL -+ } -+ } -+ a := make([]byte, len(s)+1) -+ copy(a, s) -+ return a, nil -+} -+ -+// BytePtrFromString returns a pointer to a NUL-terminated array of -+// bytes containing the text of s. If s contains a NUL byte at any -+// location, it returns (nil, EINVAL). -+func BytePtrFromString(s string) (*byte, error) { -+ a, err := ByteSliceFromString(s) -+ if err != nil { -+ return nil, err -+ } -+ return &a[0], nil -+} -+ -+// Single-word zero for use when we need a valid pointer to 0 bytes. -+// See mkunix.pl. -+var _zero uintptr -+ -+func (ts *Timespec) Unix() (sec int64, nsec int64) { -+ return int64(ts.Sec), int64(ts.Nsec) -+} -+ -+func (tv *Timeval) Unix() (sec int64, nsec int64) { -+ return int64(tv.Sec), int64(tv.Usec) * 1000 -+} -+ -+func (ts *Timespec) Nano() int64 { -+ return int64(ts.Sec)*1e9 + int64(ts.Nsec) -+} -+ -+func (tv *Timeval) Nano() int64 { -+ return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000 -+} -+ -+func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 } -diff --git a/vendor/golang.org/x/sys/unix/syscall_bsd.go b/vendor/golang.org/x/sys/unix/syscall_bsd.go -new file mode 100644 -index 0000000..ccb29c7 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_bsd.go -@@ -0,0 +1,614 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin dragonfly freebsd netbsd openbsd -+ -+// BSD system call wrappers shared by *BSD based systems -+// including OS X (Darwin) and FreeBSD. Like the other -+// syscall_*.go files it is compiled as Go code but also -+// used as input to mksyscall which parses the //sys -+// lines and generates system call stubs. -+ -+package unix -+ -+import ( -+ "runtime" -+ "syscall" -+ "unsafe" -+) -+ -+/* -+ * Wrapped -+ */ -+ -+//sysnb getgroups(ngid int, gid *_Gid_t) (n int, err error) -+//sysnb setgroups(ngid int, gid *_Gid_t) (err error) -+ -+func Getgroups() (gids []int, err error) { -+ n, err := getgroups(0, nil) -+ if err != nil { -+ return nil, err -+ } -+ if n == 0 { -+ return nil, nil -+ } -+ -+ // Sanity check group count. Max is 16 on BSD. -+ if n < 0 || n > 1000 { -+ return nil, EINVAL -+ } -+ -+ a := make([]_Gid_t, n) -+ n, err = getgroups(n, &a[0]) -+ if err != nil { -+ return nil, err -+ } -+ gids = make([]int, n) -+ for i, v := range a[0:n] { -+ gids[i] = int(v) -+ } -+ return -+} -+ -+func Setgroups(gids []int) (err error) { -+ if len(gids) == 0 { -+ return setgroups(0, nil) -+ } -+ -+ a := make([]_Gid_t, len(gids)) -+ for i, v := range gids { -+ a[i] = _Gid_t(v) -+ } -+ return setgroups(len(a), &a[0]) -+} -+ -+func ReadDirent(fd int, buf []byte) (n int, err error) { -+ // Final argument is (basep *uintptr) and the syscall doesn't take nil. -+ // 64 bits should be enough. (32 bits isn't even on 386). Since the -+ // actual system call is getdirentries64, 64 is a good guess. -+ // TODO(rsc): Can we use a single global basep for all calls? -+ var base = (*uintptr)(unsafe.Pointer(new(uint64))) -+ return Getdirentries(fd, buf, base) -+} -+ -+// Wait status is 7 bits at bottom, either 0 (exited), -+// 0x7F (stopped), or a signal number that caused an exit. -+// The 0x80 bit is whether there was a core dump. -+// An extra number (exit code, signal causing a stop) -+// is in the high bits. -+ -+type WaitStatus uint32 -+ -+const ( -+ mask = 0x7F -+ core = 0x80 -+ shift = 8 -+ -+ exited = 0 -+ stopped = 0x7F -+) -+ -+func (w WaitStatus) Exited() bool { return w&mask == exited } -+ -+func (w WaitStatus) ExitStatus() int { -+ if w&mask != exited { -+ return -1 -+ } -+ return int(w >> shift) -+} -+ -+func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != 0 } -+ -+func (w WaitStatus) Signal() syscall.Signal { -+ sig := syscall.Signal(w & mask) -+ if sig == stopped || sig == 0 { -+ return -1 -+ } -+ return sig -+} -+ -+func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } -+ -+func (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP } -+ -+func (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP } -+ -+func (w WaitStatus) StopSignal() syscall.Signal { -+ if !w.Stopped() { -+ return -1 -+ } -+ return syscall.Signal(w>>shift) & 0xFF -+} -+ -+func (w WaitStatus) TrapCause() int { return -1 } -+ -+//sys wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) -+ -+func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { -+ var status _C_int -+ wpid, err = wait4(pid, &status, options, rusage) -+ if wstatus != nil { -+ *wstatus = WaitStatus(status) -+ } -+ return -+} -+ -+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sysnb socket(domain int, typ int, proto int) (fd int, err error) -+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sys Shutdown(s int, how int) (err error) -+ -+func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ if sa.Port < 0 || sa.Port > 0xFFFF { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Len = SizeofSockaddrInet4 -+ sa.raw.Family = AF_INET -+ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) -+ p[0] = byte(sa.Port >> 8) -+ p[1] = byte(sa.Port) -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.raw.Addr[i] = sa.Addr[i] -+ } -+ return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil -+} -+ -+func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ if sa.Port < 0 || sa.Port > 0xFFFF { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Len = SizeofSockaddrInet6 -+ sa.raw.Family = AF_INET6 -+ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) -+ p[0] = byte(sa.Port >> 8) -+ p[1] = byte(sa.Port) -+ sa.raw.Scope_id = sa.ZoneId -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.raw.Addr[i] = sa.Addr[i] -+ } -+ return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil -+} -+ -+func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ name := sa.Name -+ n := len(name) -+ if n >= len(sa.raw.Path) || n == 0 { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Len = byte(3 + n) // 2 for Family, Len; 1 for NUL -+ sa.raw.Family = AF_UNIX -+ for i := 0; i < n; i++ { -+ sa.raw.Path[i] = int8(name[i]) -+ } -+ return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil -+} -+ -+func (sa *SockaddrDatalink) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ if sa.Index == 0 { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Len = sa.Len -+ sa.raw.Family = AF_LINK -+ sa.raw.Index = sa.Index -+ sa.raw.Type = sa.Type -+ sa.raw.Nlen = sa.Nlen -+ sa.raw.Alen = sa.Alen -+ sa.raw.Slen = sa.Slen -+ for i := 0; i < len(sa.raw.Data); i++ { -+ sa.raw.Data[i] = sa.Data[i] -+ } -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrDatalink, nil -+} -+ -+func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) { -+ switch rsa.Addr.Family { -+ case AF_LINK: -+ pp := (*RawSockaddrDatalink)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrDatalink) -+ sa.Len = pp.Len -+ sa.Family = pp.Family -+ sa.Index = pp.Index -+ sa.Type = pp.Type -+ sa.Nlen = pp.Nlen -+ sa.Alen = pp.Alen -+ sa.Slen = pp.Slen -+ for i := 0; i < len(sa.Data); i++ { -+ sa.Data[i] = pp.Data[i] -+ } -+ return sa, nil -+ -+ case AF_UNIX: -+ pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) -+ if pp.Len < 2 || pp.Len > SizeofSockaddrUnix { -+ return nil, EINVAL -+ } -+ sa := new(SockaddrUnix) -+ -+ // Some BSDs include the trailing NUL in the length, whereas -+ // others do not. Work around this by subtracting the leading -+ // family and len. The path is then scanned to see if a NUL -+ // terminator still exists within the length. -+ n := int(pp.Len) - 2 // subtract leading Family, Len -+ for i := 0; i < n; i++ { -+ if pp.Path[i] == 0 { -+ // found early NUL; assume Len included the NUL -+ // or was overestimating. -+ n = i -+ break -+ } -+ } -+ bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] -+ sa.Name = string(bytes) -+ return sa, nil -+ -+ case AF_INET: -+ pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrInet4) -+ p := (*[2]byte)(unsafe.Pointer(&pp.Port)) -+ sa.Port = int(p[0])<<8 + int(p[1]) -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.Addr[i] = pp.Addr[i] -+ } -+ return sa, nil -+ -+ case AF_INET6: -+ pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrInet6) -+ p := (*[2]byte)(unsafe.Pointer(&pp.Port)) -+ sa.Port = int(p[0])<<8 + int(p[1]) -+ sa.ZoneId = pp.Scope_id -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.Addr[i] = pp.Addr[i] -+ } -+ return sa, nil -+ } -+ return nil, EAFNOSUPPORT -+} -+ -+func Accept(fd int) (nfd int, sa Sockaddr, err error) { -+ var rsa RawSockaddrAny -+ var len _Socklen = SizeofSockaddrAny -+ nfd, err = accept(fd, &rsa, &len) -+ if err != nil { -+ return -+ } -+ if runtime.GOOS == "darwin" && len == 0 { -+ // Accepted socket has no address. -+ // This is likely due to a bug in xnu kernels, -+ // where instead of ECONNABORTED error socket -+ // is accepted, but has no address. -+ Close(nfd) -+ return 0, nil, ECONNABORTED -+ } -+ sa, err = anyToSockaddr(&rsa) -+ if err != nil { -+ Close(nfd) -+ nfd = 0 -+ } -+ return -+} -+ -+func Getsockname(fd int) (sa Sockaddr, err error) { -+ var rsa RawSockaddrAny -+ var len _Socklen = SizeofSockaddrAny -+ if err = getsockname(fd, &rsa, &len); err != nil { -+ return -+ } -+ // TODO(jsing): DragonFly has a "bug" (see issue 3349), which should be -+ // reported upstream. -+ if runtime.GOOS == "dragonfly" && rsa.Addr.Family == AF_UNSPEC && rsa.Addr.Len == 0 { -+ rsa.Addr.Family = AF_UNIX -+ rsa.Addr.Len = SizeofSockaddrUnix -+ } -+ return anyToSockaddr(&rsa) -+} -+ -+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -+ -+func GetsockoptByte(fd, level, opt int) (value byte, err error) { -+ var n byte -+ vallen := _Socklen(1) -+ err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) -+ return n, err -+} -+ -+func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) { -+ vallen := _Socklen(4) -+ err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen) -+ return value, err -+} -+ -+func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) { -+ var value IPMreq -+ vallen := _Socklen(SizeofIPMreq) -+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, err -+} -+ -+func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) { -+ var value IPv6Mreq -+ vallen := _Socklen(SizeofIPv6Mreq) -+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, err -+} -+ -+func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) { -+ var value IPv6MTUInfo -+ vallen := _Socklen(SizeofIPv6MTUInfo) -+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, err -+} -+ -+func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) { -+ var value ICMPv6Filter -+ vallen := _Socklen(SizeofICMPv6Filter) -+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, err -+} -+ -+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -+ -+func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { -+ var msg Msghdr -+ var rsa RawSockaddrAny -+ msg.Name = (*byte)(unsafe.Pointer(&rsa)) -+ msg.Namelen = uint32(SizeofSockaddrAny) -+ var iov Iovec -+ if len(p) > 0 { -+ iov.Base = (*byte)(unsafe.Pointer(&p[0])) -+ iov.SetLen(len(p)) -+ } -+ var dummy byte -+ if len(oob) > 0 { -+ // receive at least one normal byte -+ if len(p) == 0 { -+ iov.Base = &dummy -+ iov.SetLen(1) -+ } -+ msg.Control = (*byte)(unsafe.Pointer(&oob[0])) -+ msg.SetControllen(len(oob)) -+ } -+ msg.Iov = &iov -+ msg.Iovlen = 1 -+ if n, err = recvmsg(fd, &msg, flags); err != nil { -+ return -+ } -+ oobn = int(msg.Controllen) -+ recvflags = int(msg.Flags) -+ // source address is only specified if the socket is unconnected -+ if rsa.Addr.Family != AF_UNSPEC { -+ from, err = anyToSockaddr(&rsa) -+ } -+ return -+} -+ -+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -+ -+func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { -+ _, err = SendmsgN(fd, p, oob, to, flags) -+ return -+} -+ -+func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { -+ var ptr unsafe.Pointer -+ var salen _Socklen -+ if to != nil { -+ ptr, salen, err = to.sockaddr() -+ if err != nil { -+ return 0, err -+ } -+ } -+ var msg Msghdr -+ msg.Name = (*byte)(unsafe.Pointer(ptr)) -+ msg.Namelen = uint32(salen) -+ var iov Iovec -+ if len(p) > 0 { -+ iov.Base = (*byte)(unsafe.Pointer(&p[0])) -+ iov.SetLen(len(p)) -+ } -+ var dummy byte -+ if len(oob) > 0 { -+ // send at least one normal byte -+ if len(p) == 0 { -+ iov.Base = &dummy -+ iov.SetLen(1) -+ } -+ msg.Control = (*byte)(unsafe.Pointer(&oob[0])) -+ msg.SetControllen(len(oob)) -+ } -+ msg.Iov = &iov -+ msg.Iovlen = 1 -+ if n, err = sendmsg(fd, &msg, flags); err != nil { -+ return 0, err -+ } -+ if len(oob) > 0 && len(p) == 0 { -+ n = 0 -+ } -+ return n, nil -+} -+ -+//sys kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) -+ -+func Kevent(kq int, changes, events []Kevent_t, timeout *Timespec) (n int, err error) { -+ var change, event unsafe.Pointer -+ if len(changes) > 0 { -+ change = unsafe.Pointer(&changes[0]) -+ } -+ if len(events) > 0 { -+ event = unsafe.Pointer(&events[0]) -+ } -+ return kevent(kq, change, len(changes), event, len(events), timeout) -+} -+ -+//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL -+ -+// sysctlmib translates name to mib number and appends any additional args. -+func sysctlmib(name string, args ...int) ([]_C_int, error) { -+ // Translate name to mib number. -+ mib, err := nametomib(name) -+ if err != nil { -+ return nil, err -+ } -+ -+ for _, a := range args { -+ mib = append(mib, _C_int(a)) -+ } -+ -+ return mib, nil -+} -+ -+func Sysctl(name string) (string, error) { -+ return SysctlArgs(name) -+} -+ -+func SysctlArgs(name string, args ...int) (string, error) { -+ buf, err := SysctlRaw(name, args...) -+ if err != nil { -+ return "", err -+ } -+ n := len(buf) -+ -+ // Throw away terminating NUL. -+ if n > 0 && buf[n-1] == '\x00' { -+ n-- -+ } -+ return string(buf[0:n]), nil -+} -+ -+func SysctlUint32(name string) (uint32, error) { -+ return SysctlUint32Args(name) -+} -+ -+func SysctlUint32Args(name string, args ...int) (uint32, error) { -+ mib, err := sysctlmib(name, args...) -+ if err != nil { -+ return 0, err -+ } -+ -+ n := uintptr(4) -+ buf := make([]byte, 4) -+ if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { -+ return 0, err -+ } -+ if n != 4 { -+ return 0, EIO -+ } -+ return *(*uint32)(unsafe.Pointer(&buf[0])), nil -+} -+ -+func SysctlUint64(name string, args ...int) (uint64, error) { -+ mib, err := sysctlmib(name, args...) -+ if err != nil { -+ return 0, err -+ } -+ -+ n := uintptr(8) -+ buf := make([]byte, 8) -+ if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { -+ return 0, err -+ } -+ if n != 8 { -+ return 0, EIO -+ } -+ return *(*uint64)(unsafe.Pointer(&buf[0])), nil -+} -+ -+func SysctlRaw(name string, args ...int) ([]byte, error) { -+ mib, err := sysctlmib(name, args...) -+ if err != nil { -+ return nil, err -+ } -+ -+ // Find size. -+ n := uintptr(0) -+ if err := sysctl(mib, nil, &n, nil, 0); err != nil { -+ return nil, err -+ } -+ if n == 0 { -+ return nil, nil -+ } -+ -+ // Read into buffer of that size. -+ buf := make([]byte, n) -+ if err := sysctl(mib, &buf[0], &n, nil, 0); err != nil { -+ return nil, err -+ } -+ -+ // The actual call may return less than the original reported required -+ // size so ensure we deal with that. -+ return buf[:n], nil -+} -+ -+//sys utimes(path string, timeval *[2]Timeval) (err error) -+ -+func Utimes(path string, tv []Timeval) error { -+ if tv == nil { -+ return utimes(path, nil) -+ } -+ if len(tv) != 2 { -+ return EINVAL -+ } -+ return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -+} -+ -+func UtimesNano(path string, ts []Timespec) error { -+ if ts == nil { -+ return utimes(path, nil) -+ } -+ // TODO: The BSDs can do utimensat with SYS_UTIMENSAT but it -+ // isn't supported by darwin so this uses utimes instead -+ if len(ts) != 2 { -+ return EINVAL -+ } -+ // Not as efficient as it could be because Timespec and -+ // Timeval have different types in the different OSes -+ tv := [2]Timeval{ -+ NsecToTimeval(TimespecToNsec(ts[0])), -+ NsecToTimeval(TimespecToNsec(ts[1])), -+ } -+ return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -+} -+ -+//sys futimes(fd int, timeval *[2]Timeval) (err error) -+ -+func Futimes(fd int, tv []Timeval) error { -+ if tv == nil { -+ return futimes(fd, nil) -+ } -+ if len(tv) != 2 { -+ return EINVAL -+ } -+ return futimes(fd, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -+} -+ -+//sys fcntl(fd int, cmd int, arg int) (val int, err error) -+ -+// TODO: wrap -+// Acct(name nil-string) (err error) -+// Gethostuuid(uuid *byte, timeout *Timespec) (err error) -+// Madvise(addr *byte, len int, behav int) (err error) -+// Mprotect(addr *byte, len int, prot int) (err error) -+// Msync(addr *byte, len int, flags int) (err error) -+// Ptrace(req int, pid int, addr uintptr, data int) (ret uintptr, err error) -+ -+var mapper = &mmapper{ -+ active: make(map[*byte][]byte), -+ mmap: mmap, -+ munmap: munmap, -+} -+ -+func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { -+ return mapper.Mmap(fd, offset, length, prot, flags) -+} -+ -+func Munmap(b []byte) (err error) { -+ return mapper.Munmap(b) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go -new file mode 100644 -index 0000000..7d91ac0 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go -@@ -0,0 +1,493 @@ -+// Copyright 2009,2010 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// Darwin system calls. -+// This file is compiled as ordinary Go code, -+// but it is also input to mksyscall, -+// which parses the //sys lines and generates system call stubs. -+// Note that sometimes we use a lowercase //sys name and wrap -+// it in our own nicer implementation, either here or in -+// syscall_bsd.go or syscall_unix.go. -+ -+package unix -+ -+import ( -+ errorspkg "errors" -+ "syscall" -+ "unsafe" -+) -+ -+const ImplementsGetwd = true -+ -+func Getwd() (string, error) { -+ buf := make([]byte, 2048) -+ attrs, err := getAttrList(".", attrList{CommonAttr: attrCmnFullpath}, buf, 0) -+ if err == nil && len(attrs) == 1 && len(attrs[0]) >= 2 { -+ wd := string(attrs[0]) -+ // Sanity check that it's an absolute path and ends -+ // in a null byte, which we then strip. -+ if wd[0] == '/' && wd[len(wd)-1] == 0 { -+ return wd[:len(wd)-1], nil -+ } -+ } -+ // If pkg/os/getwd.go gets ENOTSUP, it will fall back to the -+ // slow algorithm. -+ return "", ENOTSUP -+} -+ -+type SockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+ raw RawSockaddrDatalink -+} -+ -+// Translate "kern.hostname" to []_C_int{0,1,2,3}. -+func nametomib(name string) (mib []_C_int, err error) { -+ const siz = unsafe.Sizeof(mib[0]) -+ -+ // NOTE(rsc): It seems strange to set the buffer to have -+ // size CTL_MAXNAME+2 but use only CTL_MAXNAME -+ // as the size. I don't know why the +2 is here, but the -+ // kernel uses +2 for its own implementation of this function. -+ // I am scared that if we don't include the +2 here, the kernel -+ // will silently write 2 words farther than we specify -+ // and we'll get memory corruption. -+ var buf [CTL_MAXNAME + 2]_C_int -+ n := uintptr(CTL_MAXNAME) * siz -+ -+ p := (*byte)(unsafe.Pointer(&buf[0])) -+ bytes, err := ByteSliceFromString(name) -+ if err != nil { -+ return nil, err -+ } -+ -+ // Magic sysctl: "setting" 0.3 to a string name -+ // lets you read back the array of integers form. -+ if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { -+ return nil, err -+ } -+ return buf[0 : n/siz], nil -+} -+ -+func direntIno(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) -+} -+ -+func direntReclen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) -+} -+ -+func direntNamlen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) -+} -+ -+//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error) -+func PtraceAttach(pid int) (err error) { return ptrace(PT_ATTACH, pid, 0, 0) } -+func PtraceDetach(pid int) (err error) { return ptrace(PT_DETACH, pid, 0, 0) } -+ -+const ( -+ attrBitMapCount = 5 -+ attrCmnFullpath = 0x08000000 -+) -+ -+type attrList struct { -+ bitmapCount uint16 -+ _ uint16 -+ CommonAttr uint32 -+ VolAttr uint32 -+ DirAttr uint32 -+ FileAttr uint32 -+ Forkattr uint32 -+} -+ -+func getAttrList(path string, attrList attrList, attrBuf []byte, options uint) (attrs [][]byte, err error) { -+ if len(attrBuf) < 4 { -+ return nil, errorspkg.New("attrBuf too small") -+ } -+ attrList.bitmapCount = attrBitMapCount -+ -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return nil, err -+ } -+ -+ _, _, e1 := Syscall6( -+ SYS_GETATTRLIST, -+ uintptr(unsafe.Pointer(_p0)), -+ uintptr(unsafe.Pointer(&attrList)), -+ uintptr(unsafe.Pointer(&attrBuf[0])), -+ uintptr(len(attrBuf)), -+ uintptr(options), -+ 0, -+ ) -+ if e1 != 0 { -+ return nil, e1 -+ } -+ size := *(*uint32)(unsafe.Pointer(&attrBuf[0])) -+ -+ // dat is the section of attrBuf that contains valid data, -+ // without the 4 byte length header. All attribute offsets -+ // are relative to dat. -+ dat := attrBuf -+ if int(size) < len(attrBuf) { -+ dat = dat[:size] -+ } -+ dat = dat[4:] // remove length prefix -+ -+ for i := uint32(0); int(i) < len(dat); { -+ header := dat[i:] -+ if len(header) < 8 { -+ return attrs, errorspkg.New("truncated attribute header") -+ } -+ datOff := *(*int32)(unsafe.Pointer(&header[0])) -+ attrLen := *(*uint32)(unsafe.Pointer(&header[4])) -+ if datOff < 0 || uint32(datOff)+attrLen > uint32(len(dat)) { -+ return attrs, errorspkg.New("truncated results; attrBuf too small") -+ } -+ end := uint32(datOff) + attrLen -+ attrs = append(attrs, dat[datOff:end]) -+ i = end -+ if r := i % 4; r != 0 { -+ i += (4 - r) -+ } -+ } -+ return -+} -+ -+//sysnb pipe() (r int, w int, err error) -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ p[0], p[1], err = pipe() -+ return -+} -+ -+func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ var bufsize uintptr -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) -+ } -+ r0, _, e1 := Syscall(SYS_GETFSSTAT64, uintptr(_p0), bufsize, uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+/* -+ * Wrapped -+ */ -+ -+//sys kill(pid int, signum int, posix int) (err error) -+ -+func Kill(pid int, signum syscall.Signal) (err error) { return kill(pid, int(signum), 1) } -+ -+/* -+ * Exposed directly -+ */ -+//sys Access(path string, mode uint32) (err error) -+//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) -+//sys Chdir(path string) (err error) -+//sys Chflags(path string, flags int) (err error) -+//sys Chmod(path string, mode uint32) (err error) -+//sys Chown(path string, uid int, gid int) (err error) -+//sys Chroot(path string) (err error) -+//sys Close(fd int) (err error) -+//sys Dup(fd int) (nfd int, err error) -+//sys Dup2(from int, to int) (err error) -+//sys Exchangedata(path1 string, path2 string, options int) (err error) -+//sys Exit(code int) -+//sys Fchdir(fd int) (err error) -+//sys Fchflags(fd int, flags int) (err error) -+//sys Fchmod(fd int, mode uint32) (err error) -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Flock(fd int, how int) (err error) -+//sys Fpathconf(fd int, name int) (val int, err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 -+//sys Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64 -+//sys Fsync(fd int) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) = SYS_GETDIRENTRIES64 -+//sys Getdtablesize() (size int) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (uid int) -+//sysnb Getgid() (gid int) -+//sysnb Getpgid(pid int) (pgid int, err error) -+//sysnb Getpgrp() (pgrp int) -+//sysnb Getpid() (pid int) -+//sysnb Getppid() (ppid int) -+//sys Getpriority(which int, who int) (prio int, err error) -+//sysnb Getrlimit(which int, lim *Rlimit) (err error) -+//sysnb Getrusage(who int, rusage *Rusage) (err error) -+//sysnb Getsid(pid int) (sid int, err error) -+//sysnb Getuid() (uid int) -+//sysnb Issetugid() (tainted bool) -+//sys Kqueue() (fd int, err error) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Link(path string, link string) (err error) -+//sys Listen(s int, backlog int) (err error) -+//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 -+//sys Mkdir(path string, mode uint32) (err error) -+//sys Mkfifo(path string, mode uint32) (err error) -+//sys Mknod(path string, mode uint32, dev int) (err error) -+//sys Mlock(b []byte) (err error) -+//sys Mlockall(flags int) (err error) -+//sys Mprotect(b []byte, prot int) (err error) -+//sys Munlock(b []byte) (err error) -+//sys Munlockall() (err error) -+//sys Open(path string, mode int, perm uint32) (fd int, err error) -+//sys Pathconf(path string, name int) (val int, err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) -+//sys read(fd int, p []byte) (n int, err error) -+//sys Readlink(path string, buf []byte) (n int, err error) -+//sys Rename(from string, to string) (err error) -+//sys Revoke(path string) (err error) -+//sys Rmdir(path string) (err error) -+//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK -+//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) -+//sys Setegid(egid int) (err error) -+//sysnb Seteuid(euid int) (err error) -+//sysnb Setgid(gid int) (err error) -+//sys Setlogin(name string) (err error) -+//sysnb Setpgid(pid int, pgid int) (err error) -+//sys Setpriority(which int, who int, prio int) (err error) -+//sys Setprivexec(flag int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sysnb Setrlimit(which int, lim *Rlimit) (err error) -+//sysnb Setsid() (pid int, err error) -+//sysnb Settimeofday(tp *Timeval) (err error) -+//sysnb Setuid(uid int) (err error) -+//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 -+//sys Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64 -+//sys Symlink(path string, link string) (err error) -+//sys Sync() (err error) -+//sys Truncate(path string, length int64) (err error) -+//sys Umask(newmask int) (oldmask int) -+//sys Undelete(path string) (err error) -+//sys Unlink(path string) (err error) -+//sys Unmount(path string, flags int) (err error) -+//sys write(fd int, p []byte) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) -+//sys munmap(addr uintptr, length uintptr) (err error) -+//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ -+//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE -+ -+/* -+ * Unimplemented -+ */ -+// Profil -+// Sigaction -+// Sigprocmask -+// Getlogin -+// Sigpending -+// Sigaltstack -+// Ioctl -+// Reboot -+// Execve -+// Vfork -+// Sbrk -+// Sstk -+// Ovadvise -+// Mincore -+// Setitimer -+// Swapon -+// Select -+// Sigsuspend -+// Readv -+// Writev -+// Nfssvc -+// Getfh -+// Quotactl -+// Mount -+// Csops -+// Waitid -+// Add_profil -+// Kdebug_trace -+// Sigreturn -+// Mmap -+// Mlock -+// Munlock -+// Atsocket -+// Kqueue_from_portset_np -+// Kqueue_portset -+// Getattrlist -+// Setattrlist -+// Getdirentriesattr -+// Searchfs -+// Delete -+// Copyfile -+// Poll -+// Watchevent -+// Waitevent -+// Modwatch -+// Getxattr -+// Fgetxattr -+// Setxattr -+// Fsetxattr -+// Removexattr -+// Fremovexattr -+// Listxattr -+// Flistxattr -+// Fsctl -+// Initgroups -+// Posix_spawn -+// Nfsclnt -+// Fhopen -+// Minherit -+// Semsys -+// Msgsys -+// Shmsys -+// Semctl -+// Semget -+// Semop -+// Msgctl -+// Msgget -+// Msgsnd -+// Msgrcv -+// Shmat -+// Shmctl -+// Shmdt -+// Shmget -+// Shm_open -+// Shm_unlink -+// Sem_open -+// Sem_close -+// Sem_unlink -+// Sem_wait -+// Sem_trywait -+// Sem_post -+// Sem_getvalue -+// Sem_init -+// Sem_destroy -+// Open_extended -+// Umask_extended -+// Stat_extended -+// Lstat_extended -+// Fstat_extended -+// Chmod_extended -+// Fchmod_extended -+// Access_extended -+// Settid -+// Gettid -+// Setsgroups -+// Getsgroups -+// Setwgroups -+// Getwgroups -+// Mkfifo_extended -+// Mkdir_extended -+// Identitysvc -+// Shared_region_check_np -+// Shared_region_map_np -+// __pthread_mutex_destroy -+// __pthread_mutex_init -+// __pthread_mutex_lock -+// __pthread_mutex_trylock -+// __pthread_mutex_unlock -+// __pthread_cond_init -+// __pthread_cond_destroy -+// __pthread_cond_broadcast -+// __pthread_cond_signal -+// Setsid_with_pid -+// __pthread_cond_timedwait -+// Aio_fsync -+// Aio_return -+// Aio_suspend -+// Aio_cancel -+// Aio_error -+// Aio_read -+// Aio_write -+// Lio_listio -+// __pthread_cond_wait -+// Iopolicysys -+// Mlockall -+// Munlockall -+// __pthread_kill -+// __pthread_sigmask -+// __sigwait -+// __disable_threadsignal -+// __pthread_markcancel -+// __pthread_canceled -+// __semwait_signal -+// Proc_info -+// sendfile -+// Stat64_extended -+// Lstat64_extended -+// Fstat64_extended -+// __pthread_chdir -+// __pthread_fchdir -+// Audit -+// Auditon -+// Getauid -+// Setauid -+// Getaudit -+// Setaudit -+// Getaudit_addr -+// Setaudit_addr -+// Auditctl -+// Bsdthread_create -+// Bsdthread_terminate -+// Stack_snapshot -+// Bsdthread_register -+// Workq_open -+// Workq_ops -+// __mac_execve -+// __mac_syscall -+// __mac_get_file -+// __mac_set_file -+// __mac_get_link -+// __mac_set_link -+// __mac_get_proc -+// __mac_set_proc -+// __mac_get_fd -+// __mac_set_fd -+// __mac_get_pid -+// __mac_get_lcid -+// __mac_get_lctx -+// __mac_set_lctx -+// Setlcid -+// Read_nocancel -+// Write_nocancel -+// Open_nocancel -+// Close_nocancel -+// Wait4_nocancel -+// Recvmsg_nocancel -+// Sendmsg_nocancel -+// Recvfrom_nocancel -+// Accept_nocancel -+// Msync_nocancel -+// Fcntl_nocancel -+// Select_nocancel -+// Fsync_nocancel -+// Connect_nocancel -+// Sigsuspend_nocancel -+// Readv_nocancel -+// Writev_nocancel -+// Sendto_nocancel -+// Pread_nocancel -+// Pwrite_nocancel -+// Waitid_nocancel -+// Poll_nocancel -+// Msgsnd_nocancel -+// Msgrcv_nocancel -+// Sem_wait_nocancel -+// Aio_suspend_nocancel -+// __sigwait_nocancel -+// __semwait_signal_nocancel -+// __mac_mount -+// __mac_get_mount -+// __mac_getfsstat -diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_386.go b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go -new file mode 100644 -index 0000000..c172a3d ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_386.go -@@ -0,0 +1,77 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build 386,darwin -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = int32(nsec / 1e9) -+ ts.Nsec = int32(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ tv.Sec = int32(nsec / 1e9) -+ return -+} -+ -+//sysnb gettimeofday(tp *Timeval) (sec int32, usec int32, err error) -+func Gettimeofday(tv *Timeval) (err error) { -+ // The tv passed to gettimeofday must be non-nil -+ // but is otherwise unused. The answers come back -+ // in the two registers. -+ sec, usec, err := gettimeofday(tv) -+ tv.Sec = int32(sec) -+ tv.Usec = int32(usec) -+ return err -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint32(fd) -+ k.Filter = int16(mode) -+ k.Flags = uint16(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint32(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ var length = uint64(count) -+ -+ _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(*offset>>32), uintptr(unsafe.Pointer(&length)), 0, 0, 0, 0) -+ -+ written = int(length) -+ -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) -+ -+// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions -+// of darwin/386 the syscall is called sysctl instead of __sysctl. -+const SYS___SYSCTL = SYS_SYSCTL -diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go -new file mode 100644 -index 0000000..fc1e5a4 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go -@@ -0,0 +1,79 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build amd64,darwin -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ tv.Sec = int64(nsec / 1e9) -+ return -+} -+ -+//sysnb gettimeofday(tp *Timeval) (sec int64, usec int32, err error) -+func Gettimeofday(tv *Timeval) (err error) { -+ // The tv passed to gettimeofday must be non-nil -+ // but is otherwise unused. The answers come back -+ // in the two registers. -+ sec, usec, err := gettimeofday(tv) -+ tv.Sec = sec -+ tv.Usec = usec -+ return err -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint64(fd) -+ k.Filter = int16(mode) -+ k.Flags = uint16(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ var length = uint64(count) -+ -+ _, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(unsafe.Pointer(&length)), 0, 0) -+ -+ written = int(length) -+ -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) -+ -+// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions -+// of darwin/amd64 the syscall is called sysctl instead of __sysctl. -+const SYS___SYSCTL = SYS_SYSCTL -diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go -new file mode 100644 -index 0000000..d286cf4 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go -@@ -0,0 +1,71 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = int32(nsec / 1e9) -+ ts.Nsec = int32(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ tv.Sec = int32(nsec / 1e9) -+ return -+} -+ -+//sysnb gettimeofday(tp *Timeval) (sec int32, usec int32, err error) -+func Gettimeofday(tv *Timeval) (err error) { -+ // The tv passed to gettimeofday must be non-nil -+ // but is otherwise unused. The answers come back -+ // in the two registers. -+ sec, usec, err := gettimeofday(tv) -+ tv.Sec = int32(sec) -+ tv.Usec = int32(usec) -+ return err -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint32(fd) -+ k.Filter = int16(mode) -+ k.Flags = uint16(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint32(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ var length = uint64(count) -+ -+ _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(*offset>>32), uintptr(unsafe.Pointer(&length)), 0, 0, 0, 0) -+ -+ written = int(length) -+ -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic -diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go -new file mode 100644 -index 0000000..c33905c ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go -@@ -0,0 +1,77 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build arm64,darwin -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+func Getpagesize() int { return 16384 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ tv.Sec = int64(nsec / 1e9) -+ return -+} -+ -+//sysnb gettimeofday(tp *Timeval) (sec int64, usec int32, err error) -+func Gettimeofday(tv *Timeval) (err error) { -+ // The tv passed to gettimeofday must be non-nil -+ // but is otherwise unused. The answers come back -+ // in the two registers. -+ sec, usec, err := gettimeofday(tv) -+ tv.Sec = sec -+ tv.Usec = usec -+ return err -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint64(fd) -+ k.Filter = int16(mode) -+ k.Flags = uint16(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ var length = uint64(count) -+ -+ _, _, e1 := Syscall6(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(unsafe.Pointer(&length)), 0, 0) -+ -+ written = int(length) -+ -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) // sic -+ -+// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions -+// of darwin/arm64 the syscall is called sysctl instead of __sysctl. -+const SYS___SYSCTL = SYS_SYSCTL -diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go -new file mode 100644 -index 0000000..3363456 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go -@@ -0,0 +1,402 @@ -+// Copyright 2009,2010 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// FreeBSD system calls. -+// This file is compiled as ordinary Go code, -+// but it is also input to mksyscall, -+// which parses the //sys lines and generates system call stubs. -+// Note that sometimes we use a lowercase //sys name and wrap -+// it in our own nicer implementation, either here or in -+// syscall_bsd.go or syscall_unix.go. -+ -+package unix -+ -+import "unsafe" -+ -+type SockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+ Rcf uint16 -+ Route [16]uint16 -+ raw RawSockaddrDatalink -+} -+ -+// Translate "kern.hostname" to []_C_int{0,1,2,3}. -+func nametomib(name string) (mib []_C_int, err error) { -+ const siz = unsafe.Sizeof(mib[0]) -+ -+ // NOTE(rsc): It seems strange to set the buffer to have -+ // size CTL_MAXNAME+2 but use only CTL_MAXNAME -+ // as the size. I don't know why the +2 is here, but the -+ // kernel uses +2 for its own implementation of this function. -+ // I am scared that if we don't include the +2 here, the kernel -+ // will silently write 2 words farther than we specify -+ // and we'll get memory corruption. -+ var buf [CTL_MAXNAME + 2]_C_int -+ n := uintptr(CTL_MAXNAME) * siz -+ -+ p := (*byte)(unsafe.Pointer(&buf[0])) -+ bytes, err := ByteSliceFromString(name) -+ if err != nil { -+ return nil, err -+ } -+ -+ // Magic sysctl: "setting" 0.3 to a string name -+ // lets you read back the array of integers form. -+ if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { -+ return nil, err -+ } -+ return buf[0 : n/siz], nil -+} -+ -+func direntIno(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) -+} -+ -+func direntReclen(buf []byte) (uint64, bool) { -+ namlen, ok := direntNamlen(buf) -+ if !ok { -+ return 0, false -+ } -+ return (16 + namlen + 1 + 7) & ^7, true -+} -+ -+func direntNamlen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) -+} -+ -+//sysnb pipe() (r int, w int, err error) -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ p[0], p[1], err = pipe() -+ return -+} -+ -+//sys extpread(fd int, p []byte, flags int, offset int64) (n int, err error) -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ return extpread(fd, p, 0, offset) -+} -+ -+//sys extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ return extpwrite(fd, p, 0, offset) -+} -+ -+func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ var bufsize uintptr -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) -+ } -+ r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+/* -+ * Exposed directly -+ */ -+//sys Access(path string, mode uint32) (err error) -+//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) -+//sys Chdir(path string) (err error) -+//sys Chflags(path string, flags int) (err error) -+//sys Chmod(path string, mode uint32) (err error) -+//sys Chown(path string, uid int, gid int) (err error) -+//sys Chroot(path string) (err error) -+//sys Close(fd int) (err error) -+//sys Dup(fd int) (nfd int, err error) -+//sys Dup2(from int, to int) (err error) -+//sys Exit(code int) -+//sys Fchdir(fd int) (err error) -+//sys Fchflags(fd int, flags int) (err error) -+//sys Fchmod(fd int, mode uint32) (err error) -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Flock(fd int, how int) (err error) -+//sys Fpathconf(fd int, name int) (val int, err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Fstatfs(fd int, stat *Statfs_t) (err error) -+//sys Fsync(fd int) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) -+//sys Getdtablesize() (size int) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (uid int) -+//sysnb Getgid() (gid int) -+//sysnb Getpgid(pid int) (pgid int, err error) -+//sysnb Getpgrp() (pgrp int) -+//sysnb Getpid() (pid int) -+//sysnb Getppid() (ppid int) -+//sys Getpriority(which int, who int) (prio int, err error) -+//sysnb Getrlimit(which int, lim *Rlimit) (err error) -+//sysnb Getrusage(who int, rusage *Rusage) (err error) -+//sysnb Getsid(pid int) (sid int, err error) -+//sysnb Gettimeofday(tv *Timeval) (err error) -+//sysnb Getuid() (uid int) -+//sys Issetugid() (tainted bool) -+//sys Kill(pid int, signum syscall.Signal) (err error) -+//sys Kqueue() (fd int, err error) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Link(path string, link string) (err error) -+//sys Listen(s int, backlog int) (err error) -+//sys Lstat(path string, stat *Stat_t) (err error) -+//sys Mkdir(path string, mode uint32) (err error) -+//sys Mkfifo(path string, mode uint32) (err error) -+//sys Mknod(path string, mode uint32, dev int) (err error) -+//sys Mlock(b []byte) (err error) -+//sys Mlockall(flags int) (err error) -+//sys Mprotect(b []byte, prot int) (err error) -+//sys Munlock(b []byte) (err error) -+//sys Munlockall() (err error) -+//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) -+//sys Open(path string, mode int, perm uint32) (fd int, err error) -+//sys Pathconf(path string, name int) (val int, err error) -+//sys read(fd int, p []byte) (n int, err error) -+//sys Readlink(path string, buf []byte) (n int, err error) -+//sys Rename(from string, to string) (err error) -+//sys Revoke(path string) (err error) -+//sys Rmdir(path string) (err error) -+//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK -+//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) -+//sysnb Setegid(egid int) (err error) -+//sysnb Seteuid(euid int) (err error) -+//sysnb Setgid(gid int) (err error) -+//sys Setlogin(name string) (err error) -+//sysnb Setpgid(pid int, pgid int) (err error) -+//sys Setpriority(which int, who int, prio int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+//sysnb Setrlimit(which int, lim *Rlimit) (err error) -+//sysnb Setsid() (pid int, err error) -+//sysnb Settimeofday(tp *Timeval) (err error) -+//sysnb Setuid(uid int) (err error) -+//sys Stat(path string, stat *Stat_t) (err error) -+//sys Statfs(path string, stat *Statfs_t) (err error) -+//sys Symlink(path string, link string) (err error) -+//sys Sync() (err error) -+//sys Truncate(path string, length int64) (err error) -+//sys Umask(newmask int) (oldmask int) -+//sys Undelete(path string) (err error) -+//sys Unlink(path string) (err error) -+//sys Unmount(path string, flags int) (err error) -+//sys write(fd int, p []byte) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) -+//sys munmap(addr uintptr, length uintptr) (err error) -+//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ -+//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE -+ -+/* -+ * Unimplemented -+ * TODO(jsing): Update this list for DragonFly. -+ */ -+// Profil -+// Sigaction -+// Sigprocmask -+// Getlogin -+// Sigpending -+// Sigaltstack -+// Ioctl -+// Reboot -+// Execve -+// Vfork -+// Sbrk -+// Sstk -+// Ovadvise -+// Mincore -+// Setitimer -+// Swapon -+// Select -+// Sigsuspend -+// Readv -+// Writev -+// Nfssvc -+// Getfh -+// Quotactl -+// Mount -+// Csops -+// Waitid -+// Add_profil -+// Kdebug_trace -+// Sigreturn -+// Mmap -+// Atsocket -+// Kqueue_from_portset_np -+// Kqueue_portset -+// Getattrlist -+// Setattrlist -+// Getdirentriesattr -+// Searchfs -+// Delete -+// Copyfile -+// Poll -+// Watchevent -+// Waitevent -+// Modwatch -+// Getxattr -+// Fgetxattr -+// Setxattr -+// Fsetxattr -+// Removexattr -+// Fremovexattr -+// Listxattr -+// Flistxattr -+// Fsctl -+// Initgroups -+// Posix_spawn -+// Nfsclnt -+// Fhopen -+// Minherit -+// Semsys -+// Msgsys -+// Shmsys -+// Semctl -+// Semget -+// Semop -+// Msgctl -+// Msgget -+// Msgsnd -+// Msgrcv -+// Shmat -+// Shmctl -+// Shmdt -+// Shmget -+// Shm_open -+// Shm_unlink -+// Sem_open -+// Sem_close -+// Sem_unlink -+// Sem_wait -+// Sem_trywait -+// Sem_post -+// Sem_getvalue -+// Sem_init -+// Sem_destroy -+// Open_extended -+// Umask_extended -+// Stat_extended -+// Lstat_extended -+// Fstat_extended -+// Chmod_extended -+// Fchmod_extended -+// Access_extended -+// Settid -+// Gettid -+// Setsgroups -+// Getsgroups -+// Setwgroups -+// Getwgroups -+// Mkfifo_extended -+// Mkdir_extended -+// Identitysvc -+// Shared_region_check_np -+// Shared_region_map_np -+// __pthread_mutex_destroy -+// __pthread_mutex_init -+// __pthread_mutex_lock -+// __pthread_mutex_trylock -+// __pthread_mutex_unlock -+// __pthread_cond_init -+// __pthread_cond_destroy -+// __pthread_cond_broadcast -+// __pthread_cond_signal -+// Setsid_with_pid -+// __pthread_cond_timedwait -+// Aio_fsync -+// Aio_return -+// Aio_suspend -+// Aio_cancel -+// Aio_error -+// Aio_read -+// Aio_write -+// Lio_listio -+// __pthread_cond_wait -+// Iopolicysys -+// __pthread_kill -+// __pthread_sigmask -+// __sigwait -+// __disable_threadsignal -+// __pthread_markcancel -+// __pthread_canceled -+// __semwait_signal -+// Proc_info -+// Stat64_extended -+// Lstat64_extended -+// Fstat64_extended -+// __pthread_chdir -+// __pthread_fchdir -+// Audit -+// Auditon -+// Getauid -+// Setauid -+// Getaudit -+// Setaudit -+// Getaudit_addr -+// Setaudit_addr -+// Auditctl -+// Bsdthread_create -+// Bsdthread_terminate -+// Stack_snapshot -+// Bsdthread_register -+// Workq_open -+// Workq_ops -+// __mac_execve -+// __mac_syscall -+// __mac_get_file -+// __mac_set_file -+// __mac_get_link -+// __mac_set_link -+// __mac_get_proc -+// __mac_set_proc -+// __mac_get_fd -+// __mac_set_fd -+// __mac_get_pid -+// __mac_get_lcid -+// __mac_get_lctx -+// __mac_set_lctx -+// Setlcid -+// Read_nocancel -+// Write_nocancel -+// Open_nocancel -+// Close_nocancel -+// Wait4_nocancel -+// Recvmsg_nocancel -+// Sendmsg_nocancel -+// Recvfrom_nocancel -+// Accept_nocancel -+// Msync_nocancel -+// Fcntl_nocancel -+// Select_nocancel -+// Fsync_nocancel -+// Connect_nocancel -+// Sigsuspend_nocancel -+// Readv_nocancel -+// Writev_nocancel -+// Sendto_nocancel -+// Pread_nocancel -+// Pwrite_nocancel -+// Waitid_nocancel -+// Poll_nocancel -+// Msgsnd_nocancel -+// Msgrcv_nocancel -+// Sem_wait_nocancel -+// Aio_suspend_nocancel -+// __sigwait_nocancel -+// __semwait_signal_nocancel -+// __mac_mount -+// __mac_get_mount -+// __mac_getfsstat -diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go -new file mode 100644 -index 0000000..da7cb79 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go -@@ -0,0 +1,61 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build amd64,dragonfly -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = nsec % 1e9 / 1e3 -+ tv.Sec = int64(nsec / 1e9) -+ return -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint64(fd) -+ k.Filter = int16(mode) -+ k.Flags = uint16(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ var writtenOut uint64 = 0 -+ _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0) -+ -+ written = int(writtenOut) -+ -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) -diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/vendor/golang.org/x/sys/unix/syscall_freebsd.go -new file mode 100644 -index 0000000..077d1f3 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd.go -@@ -0,0 +1,666 @@ -+// Copyright 2009,2010 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// FreeBSD system calls. -+// This file is compiled as ordinary Go code, -+// but it is also input to mksyscall, -+// which parses the //sys lines and generates system call stubs. -+// Note that sometimes we use a lowercase //sys name and wrap -+// it in our own nicer implementation, either here or in -+// syscall_bsd.go or syscall_unix.go. -+ -+package unix -+ -+import "unsafe" -+ -+type SockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [46]int8 -+ raw RawSockaddrDatalink -+} -+ -+// Translate "kern.hostname" to []_C_int{0,1,2,3}. -+func nametomib(name string) (mib []_C_int, err error) { -+ const siz = unsafe.Sizeof(mib[0]) -+ -+ // NOTE(rsc): It seems strange to set the buffer to have -+ // size CTL_MAXNAME+2 but use only CTL_MAXNAME -+ // as the size. I don't know why the +2 is here, but the -+ // kernel uses +2 for its own implementation of this function. -+ // I am scared that if we don't include the +2 here, the kernel -+ // will silently write 2 words farther than we specify -+ // and we'll get memory corruption. -+ var buf [CTL_MAXNAME + 2]_C_int -+ n := uintptr(CTL_MAXNAME) * siz -+ -+ p := (*byte)(unsafe.Pointer(&buf[0])) -+ bytes, err := ByteSliceFromString(name) -+ if err != nil { -+ return nil, err -+ } -+ -+ // Magic sysctl: "setting" 0.3 to a string name -+ // lets you read back the array of integers form. -+ if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil { -+ return nil, err -+ } -+ return buf[0 : n/siz], nil -+} -+ -+func direntIno(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) -+} -+ -+func direntReclen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) -+} -+ -+func direntNamlen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) -+} -+ -+//sysnb pipe() (r int, w int, err error) -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ p[0], p[1], err = pipe() -+ return -+} -+ -+func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) { -+ var value IPMreqn -+ vallen := _Socklen(SizeofIPMreqn) -+ errno := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, errno -+} -+ -+func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { -+ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) -+} -+ -+func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) { -+ var rsa RawSockaddrAny -+ var len _Socklen = SizeofSockaddrAny -+ nfd, err = accept4(fd, &rsa, &len, flags) -+ if err != nil { -+ return -+ } -+ if len > SizeofSockaddrAny { -+ panic("RawSockaddrAny too small") -+ } -+ sa, err = anyToSockaddr(&rsa) -+ if err != nil { -+ Close(nfd) -+ nfd = 0 -+ } -+ return -+} -+ -+func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ var bufsize uintptr -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) -+ } -+ r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+// Derive extattr namespace and attribute name -+ -+func xattrnamespace(fullattr string) (ns int, attr string, err error) { -+ s := -1 -+ for idx, val := range fullattr { -+ if val == '.' { -+ s = idx -+ break -+ } -+ } -+ -+ if s == -1 { -+ return -1, "", ENOATTR -+ } -+ -+ namespace := fullattr[0:s] -+ attr = fullattr[s+1:] -+ -+ switch namespace { -+ case "user": -+ return EXTATTR_NAMESPACE_USER, attr, nil -+ case "system": -+ return EXTATTR_NAMESPACE_SYSTEM, attr, nil -+ default: -+ return -1, "", ENOATTR -+ } -+} -+ -+func initxattrdest(dest []byte, idx int) (d unsafe.Pointer) { -+ if len(dest) > idx { -+ return unsafe.Pointer(&dest[idx]) -+ } else { -+ return unsafe.Pointer(_zero) -+ } -+} -+ -+// FreeBSD implements its own syscalls to handle extended attributes -+ -+func Getxattr(file string, attr string, dest []byte) (sz int, err error) { -+ d := initxattrdest(dest, 0) -+ destsize := len(dest) -+ -+ nsid, a, err := xattrnamespace(attr) -+ if err != nil { -+ return -1, err -+ } -+ -+ return ExtattrGetFile(file, nsid, a, uintptr(d), destsize) -+} -+ -+func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { -+ d := initxattrdest(dest, 0) -+ destsize := len(dest) -+ -+ nsid, a, err := xattrnamespace(attr) -+ if err != nil { -+ return -1, err -+ } -+ -+ return ExtattrGetFd(fd, nsid, a, uintptr(d), destsize) -+} -+ -+func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) { -+ d := initxattrdest(dest, 0) -+ destsize := len(dest) -+ -+ nsid, a, err := xattrnamespace(attr) -+ if err != nil { -+ return -1, err -+ } -+ -+ return ExtattrGetLink(link, nsid, a, uintptr(d), destsize) -+} -+ -+// flags are unused on FreeBSD -+ -+func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) { -+ d := unsafe.Pointer(&data[0]) -+ datasiz := len(data) -+ -+ nsid, a, err := xattrnamespace(attr) -+ if err != nil { -+ return -+ } -+ -+ _, err = ExtattrSetFd(fd, nsid, a, uintptr(d), datasiz) -+ return -+} -+ -+func Setxattr(file string, attr string, data []byte, flags int) (err error) { -+ d := unsafe.Pointer(&data[0]) -+ datasiz := len(data) -+ -+ nsid, a, err := xattrnamespace(attr) -+ if err != nil { -+ return -+ } -+ -+ _, err = ExtattrSetFile(file, nsid, a, uintptr(d), datasiz) -+ return -+} -+ -+func Lsetxattr(link string, attr string, data []byte, flags int) (err error) { -+ d := unsafe.Pointer(&data[0]) -+ datasiz := len(data) -+ -+ nsid, a, err := xattrnamespace(attr) -+ if err != nil { -+ return -+ } -+ -+ _, err = ExtattrSetLink(link, nsid, a, uintptr(d), datasiz) -+ return -+} -+ -+func Removexattr(file string, attr string) (err error) { -+ nsid, a, err := xattrnamespace(attr) -+ if err != nil { -+ return -+ } -+ -+ err = ExtattrDeleteFile(file, nsid, a) -+ return -+} -+ -+func Fremovexattr(fd int, attr string) (err error) { -+ nsid, a, err := xattrnamespace(attr) -+ if err != nil { -+ return -+ } -+ -+ err = ExtattrDeleteFd(fd, nsid, a) -+ return -+} -+ -+func Lremovexattr(link string, attr string) (err error) { -+ nsid, a, err := xattrnamespace(attr) -+ if err != nil { -+ return -+ } -+ -+ err = ExtattrDeleteLink(link, nsid, a) -+ return -+} -+ -+func Listxattr(file string, dest []byte) (sz int, err error) { -+ d := initxattrdest(dest, 0) -+ destsiz := len(dest) -+ -+ // FreeBSD won't allow you to list xattrs from multiple namespaces -+ s := 0 -+ var e error -+ for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { -+ stmp, e := ExtattrListFile(file, nsid, uintptr(d), destsiz) -+ -+ /* Errors accessing system attrs are ignored so that -+ * we can implement the Linux-like behavior of omitting errors that -+ * we don't have read permissions on -+ * -+ * Linux will still error if we ask for user attributes on a file that -+ * we don't have read permissions on, so don't ignore those errors -+ */ -+ if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { -+ e = nil -+ continue -+ } else if e != nil { -+ return s, e -+ } -+ -+ s += stmp -+ destsiz -= s -+ if destsiz < 0 { -+ destsiz = 0 -+ } -+ d = initxattrdest(dest, s) -+ } -+ -+ return s, e -+} -+ -+func Flistxattr(fd int, dest []byte) (sz int, err error) { -+ d := initxattrdest(dest, 0) -+ destsiz := len(dest) -+ -+ s := 0 -+ var e error -+ for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { -+ stmp, e := ExtattrListFd(fd, nsid, uintptr(d), destsiz) -+ if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { -+ e = nil -+ continue -+ } else if e != nil { -+ return s, e -+ } -+ -+ s += stmp -+ destsiz -= s -+ if destsiz < 0 { -+ destsiz = 0 -+ } -+ d = initxattrdest(dest, s) -+ } -+ -+ return s, e -+} -+ -+func Llistxattr(link string, dest []byte) (sz int, err error) { -+ d := initxattrdest(dest, 0) -+ destsiz := len(dest) -+ -+ s := 0 -+ var e error -+ for _, nsid := range [...]int{EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM} { -+ stmp, e := ExtattrListLink(link, nsid, uintptr(d), destsiz) -+ if e != nil && e == EPERM && nsid != EXTATTR_NAMESPACE_USER { -+ e = nil -+ continue -+ } else if e != nil { -+ return s, e -+ } -+ -+ s += stmp -+ destsiz -= s -+ if destsiz < 0 { -+ destsiz = 0 -+ } -+ d = initxattrdest(dest, s) -+ } -+ -+ return s, e -+} -+ -+/* -+ * Exposed directly -+ */ -+//sys Access(path string, mode uint32) (err error) -+//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) -+//sys Chdir(path string) (err error) -+//sys Chflags(path string, flags int) (err error) -+//sys Chmod(path string, mode uint32) (err error) -+//sys Chown(path string, uid int, gid int) (err error) -+//sys Chroot(path string) (err error) -+//sys Close(fd int) (err error) -+//sys Dup(fd int) (nfd int, err error) -+//sys Dup2(from int, to int) (err error) -+//sys Exit(code int) -+//sys ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) -+//sys ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) -+//sys ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) -+//sys ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) -+//sys ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) -+//sys ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) -+//sys ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) -+//sys ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) -+//sys ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) -+//sys ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) -+//sys ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) -+//sys ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) -+//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE -+//sys Fchdir(fd int) (err error) -+//sys Fchflags(fd int, flags int) (err error) -+//sys Fchmod(fd int, mode uint32) (err error) -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Flock(fd int, how int) (err error) -+//sys Fpathconf(fd int, name int) (val int, err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Fstatfs(fd int, stat *Statfs_t) (err error) -+//sys Fsync(fd int) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sys Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) -+//sys Getdtablesize() (size int) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (uid int) -+//sysnb Getgid() (gid int) -+//sysnb Getpgid(pid int) (pgid int, err error) -+//sysnb Getpgrp() (pgrp int) -+//sysnb Getpid() (pid int) -+//sysnb Getppid() (ppid int) -+//sys Getpriority(which int, who int) (prio int, err error) -+//sysnb Getrlimit(which int, lim *Rlimit) (err error) -+//sysnb Getrusage(who int, rusage *Rusage) (err error) -+//sysnb Getsid(pid int) (sid int, err error) -+//sysnb Gettimeofday(tv *Timeval) (err error) -+//sysnb Getuid() (uid int) -+//sys Issetugid() (tainted bool) -+//sys Kill(pid int, signum syscall.Signal) (err error) -+//sys Kqueue() (fd int, err error) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Link(path string, link string) (err error) -+//sys Listen(s int, backlog int) (err error) -+//sys Lstat(path string, stat *Stat_t) (err error) -+//sys Mkdir(path string, mode uint32) (err error) -+//sys Mkfifo(path string, mode uint32) (err error) -+//sys Mknod(path string, mode uint32, dev int) (err error) -+//sys Mlock(b []byte) (err error) -+//sys Mlockall(flags int) (err error) -+//sys Mprotect(b []byte, prot int) (err error) -+//sys Munlock(b []byte) (err error) -+//sys Munlockall() (err error) -+//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) -+//sys Open(path string, mode int, perm uint32) (fd int, err error) -+//sys Pathconf(path string, name int) (val int, err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) -+//sys read(fd int, p []byte) (n int, err error) -+//sys Readlink(path string, buf []byte) (n int, err error) -+//sys Rename(from string, to string) (err error) -+//sys Revoke(path string) (err error) -+//sys Rmdir(path string) (err error) -+//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK -+//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) -+//sysnb Setegid(egid int) (err error) -+//sysnb Seteuid(euid int) (err error) -+//sysnb Setgid(gid int) (err error) -+//sys Setlogin(name string) (err error) -+//sysnb Setpgid(pid int, pgid int) (err error) -+//sys Setpriority(which int, who int, prio int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+//sysnb Setrlimit(which int, lim *Rlimit) (err error) -+//sysnb Setsid() (pid int, err error) -+//sysnb Settimeofday(tp *Timeval) (err error) -+//sysnb Setuid(uid int) (err error) -+//sys Stat(path string, stat *Stat_t) (err error) -+//sys Statfs(path string, stat *Statfs_t) (err error) -+//sys Symlink(path string, link string) (err error) -+//sys Sync() (err error) -+//sys Truncate(path string, length int64) (err error) -+//sys Umask(newmask int) (oldmask int) -+//sys Undelete(path string) (err error) -+//sys Unlink(path string) (err error) -+//sys Unmount(path string, flags int) (err error) -+//sys write(fd int, p []byte) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) -+//sys munmap(addr uintptr, length uintptr) (err error) -+//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ -+//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE -+//sys accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) -+ -+/* -+ * Unimplemented -+ */ -+// Profil -+// Sigaction -+// Sigprocmask -+// Getlogin -+// Sigpending -+// Sigaltstack -+// Ioctl -+// Reboot -+// Execve -+// Vfork -+// Sbrk -+// Sstk -+// Ovadvise -+// Mincore -+// Setitimer -+// Swapon -+// Select -+// Sigsuspend -+// Readv -+// Writev -+// Nfssvc -+// Getfh -+// Quotactl -+// Mount -+// Csops -+// Waitid -+// Add_profil -+// Kdebug_trace -+// Sigreturn -+// Mmap -+// Mlock -+// Munlock -+// Atsocket -+// Kqueue_from_portset_np -+// Kqueue_portset -+// Getattrlist -+// Setattrlist -+// Getdirentriesattr -+// Searchfs -+// Delete -+// Copyfile -+// Poll -+// Watchevent -+// Waitevent -+// Modwatch -+// Getxattr -+// Fgetxattr -+// Setxattr -+// Fsetxattr -+// Removexattr -+// Fremovexattr -+// Listxattr -+// Flistxattr -+// Fsctl -+// Initgroups -+// Posix_spawn -+// Nfsclnt -+// Fhopen -+// Minherit -+// Semsys -+// Msgsys -+// Shmsys -+// Semctl -+// Semget -+// Semop -+// Msgctl -+// Msgget -+// Msgsnd -+// Msgrcv -+// Shmat -+// Shmctl -+// Shmdt -+// Shmget -+// Shm_open -+// Shm_unlink -+// Sem_open -+// Sem_close -+// Sem_unlink -+// Sem_wait -+// Sem_trywait -+// Sem_post -+// Sem_getvalue -+// Sem_init -+// Sem_destroy -+// Open_extended -+// Umask_extended -+// Stat_extended -+// Lstat_extended -+// Fstat_extended -+// Chmod_extended -+// Fchmod_extended -+// Access_extended -+// Settid -+// Gettid -+// Setsgroups -+// Getsgroups -+// Setwgroups -+// Getwgroups -+// Mkfifo_extended -+// Mkdir_extended -+// Identitysvc -+// Shared_region_check_np -+// Shared_region_map_np -+// __pthread_mutex_destroy -+// __pthread_mutex_init -+// __pthread_mutex_lock -+// __pthread_mutex_trylock -+// __pthread_mutex_unlock -+// __pthread_cond_init -+// __pthread_cond_destroy -+// __pthread_cond_broadcast -+// __pthread_cond_signal -+// Setsid_with_pid -+// __pthread_cond_timedwait -+// Aio_fsync -+// Aio_return -+// Aio_suspend -+// Aio_cancel -+// Aio_error -+// Aio_read -+// Aio_write -+// Lio_listio -+// __pthread_cond_wait -+// Iopolicysys -+// Mlockall -+// Munlockall -+// __pthread_kill -+// __pthread_sigmask -+// __sigwait -+// __disable_threadsignal -+// __pthread_markcancel -+// __pthread_canceled -+// __semwait_signal -+// Proc_info -+// Stat64_extended -+// Lstat64_extended -+// Fstat64_extended -+// __pthread_chdir -+// __pthread_fchdir -+// Audit -+// Auditon -+// Getauid -+// Setauid -+// Getaudit -+// Setaudit -+// Getaudit_addr -+// Setaudit_addr -+// Auditctl -+// Bsdthread_create -+// Bsdthread_terminate -+// Stack_snapshot -+// Bsdthread_register -+// Workq_open -+// Workq_ops -+// __mac_execve -+// __mac_syscall -+// __mac_get_file -+// __mac_set_file -+// __mac_get_link -+// __mac_set_link -+// __mac_get_proc -+// __mac_set_proc -+// __mac_get_fd -+// __mac_set_fd -+// __mac_get_pid -+// __mac_get_lcid -+// __mac_get_lctx -+// __mac_set_lctx -+// Setlcid -+// Read_nocancel -+// Write_nocancel -+// Open_nocancel -+// Close_nocancel -+// Wait4_nocancel -+// Recvmsg_nocancel -+// Sendmsg_nocancel -+// Recvfrom_nocancel -+// Accept_nocancel -+// Msync_nocancel -+// Fcntl_nocancel -+// Select_nocancel -+// Fsync_nocancel -+// Connect_nocancel -+// Sigsuspend_nocancel -+// Readv_nocancel -+// Writev_nocancel -+// Sendto_nocancel -+// Pread_nocancel -+// Pwrite_nocancel -+// Waitid_nocancel -+// Poll_nocancel -+// Msgsnd_nocancel -+// Msgrcv_nocancel -+// Sem_wait_nocancel -+// Aio_suspend_nocancel -+// __sigwait_nocancel -+// __semwait_signal_nocancel -+// __mac_mount -+// __mac_get_mount -+// __mac_getfsstat -diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go -new file mode 100644 -index 0000000..6a0cd80 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go -@@ -0,0 +1,61 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build 386,freebsd -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = int32(nsec / 1e9) -+ ts.Nsec = int32(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ tv.Sec = int32(nsec / 1e9) -+ return -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint32(fd) -+ k.Filter = int16(mode) -+ k.Flags = uint16(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint32(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ var writtenOut uint64 = 0 -+ _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0) -+ -+ written = int(writtenOut) -+ -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) -diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go -new file mode 100644 -index 0000000..e142540 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go -@@ -0,0 +1,61 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build amd64,freebsd -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = nsec % 1e9 / 1e3 -+ tv.Sec = int64(nsec / 1e9) -+ return -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint64(fd) -+ k.Filter = int16(mode) -+ k.Flags = uint16(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ var writtenOut uint64 = 0 -+ _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0, 0) -+ -+ written = int(writtenOut) -+ -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) -diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go -new file mode 100644 -index 0000000..5504cb1 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go -@@ -0,0 +1,61 @@ -+// Copyright 2012 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build arm,freebsd -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return ts.Sec*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = int32(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ tv.Sec = nsec / 1e9 -+ return -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint32(fd) -+ k.Filter = int16(mode) -+ k.Flags = uint16(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint32(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ var writtenOut uint64 = 0 -+ _, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0) -+ -+ written = int(writtenOut) -+ -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go -new file mode 100644 -index 0000000..b43425c ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux.go -@@ -0,0 +1,1290 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// Linux system calls. -+// This file is compiled as ordinary Go code, -+// but it is also input to mksyscall, -+// which parses the //sys lines and generates system call stubs. -+// Note that sometimes we use a lowercase //sys name and -+// wrap it in our own nicer implementation. -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+/* -+ * Wrapped -+ */ -+ -+func Access(path string, mode uint32) (err error) { -+ return Faccessat(AT_FDCWD, path, mode, 0) -+} -+ -+func Chmod(path string, mode uint32) (err error) { -+ return Fchmodat(AT_FDCWD, path, mode, 0) -+} -+ -+func Chown(path string, uid int, gid int) (err error) { -+ return Fchownat(AT_FDCWD, path, uid, gid, 0) -+} -+ -+func Creat(path string, mode uint32) (fd int, err error) { -+ return Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode) -+} -+ -+//sys Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) -+ -+func Link(oldpath string, newpath string) (err error) { -+ return Linkat(AT_FDCWD, oldpath, AT_FDCWD, newpath, 0) -+} -+ -+func Mkdir(path string, mode uint32) (err error) { -+ return Mkdirat(AT_FDCWD, path, mode) -+} -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ return Mknodat(AT_FDCWD, path, mode, dev) -+} -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ return openat(AT_FDCWD, path, mode|O_LARGEFILE, perm) -+} -+ -+//sys openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) -+ -+func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ return openat(dirfd, path, flags|O_LARGEFILE, mode) -+} -+ -+//sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) -+ -+func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ if len(fds) == 0 { -+ return ppoll(nil, 0, timeout, sigmask) -+ } -+ return ppoll(&fds[0], len(fds), timeout, sigmask) -+} -+ -+//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error) -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ return Readlinkat(AT_FDCWD, path, buf) -+} -+ -+func Rename(oldpath string, newpath string) (err error) { -+ return Renameat(AT_FDCWD, oldpath, AT_FDCWD, newpath) -+} -+ -+func Rmdir(path string) error { -+ return Unlinkat(AT_FDCWD, path, AT_REMOVEDIR) -+} -+ -+//sys Symlinkat(oldpath string, newdirfd int, newpath string) (err error) -+ -+func Symlink(oldpath string, newpath string) (err error) { -+ return Symlinkat(oldpath, AT_FDCWD, newpath) -+} -+ -+func Unlink(path string) error { -+ return Unlinkat(AT_FDCWD, path, 0) -+} -+ -+//sys Unlinkat(dirfd int, path string, flags int) (err error) -+ -+//sys utimes(path string, times *[2]Timeval) (err error) -+ -+func Utimes(path string, tv []Timeval) error { -+ if tv == nil { -+ err := utimensat(AT_FDCWD, path, nil, 0) -+ if err != ENOSYS { -+ return err -+ } -+ return utimes(path, nil) -+ } -+ if len(tv) != 2 { -+ return EINVAL -+ } -+ var ts [2]Timespec -+ ts[0] = NsecToTimespec(TimevalToNsec(tv[0])) -+ ts[1] = NsecToTimespec(TimevalToNsec(tv[1])) -+ err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) -+ if err != ENOSYS { -+ return err -+ } -+ return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -+} -+ -+//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) -+ -+func UtimesNano(path string, ts []Timespec) error { -+ if ts == nil { -+ err := utimensat(AT_FDCWD, path, nil, 0) -+ if err != ENOSYS { -+ return err -+ } -+ return utimes(path, nil) -+ } -+ if len(ts) != 2 { -+ return EINVAL -+ } -+ err := utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) -+ if err != ENOSYS { -+ return err -+ } -+ // If the utimensat syscall isn't available (utimensat was added to Linux -+ // in 2.6.22, Released, 8 July 2007) then fall back to utimes -+ var tv [2]Timeval -+ for i := 0; i < 2; i++ { -+ tv[i] = NsecToTimeval(TimespecToNsec(ts[i])) -+ } -+ return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -+} -+ -+func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { -+ if ts == nil { -+ return utimensat(dirfd, path, nil, flags) -+ } -+ if len(ts) != 2 { -+ return EINVAL -+ } -+ return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) -+} -+ -+//sys futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) -+ -+func Futimesat(dirfd int, path string, tv []Timeval) error { -+ pathp, err := BytePtrFromString(path) -+ if err != nil { -+ return err -+ } -+ if tv == nil { -+ return futimesat(dirfd, pathp, nil) -+ } -+ if len(tv) != 2 { -+ return EINVAL -+ } -+ return futimesat(dirfd, pathp, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -+} -+ -+func Futimes(fd int, tv []Timeval) (err error) { -+ // Believe it or not, this is the best we can do on Linux -+ // (and is what glibc does). -+ return Utimes("/proc/self/fd/"+itoa(fd), tv) -+} -+ -+const ImplementsGetwd = true -+ -+//sys Getcwd(buf []byte) (n int, err error) -+ -+func Getwd() (wd string, err error) { -+ var buf [PathMax]byte -+ n, err := Getcwd(buf[0:]) -+ if err != nil { -+ return "", err -+ } -+ // Getcwd returns the number of bytes written to buf, including the NUL. -+ if n < 1 || n > len(buf) || buf[n-1] != 0 { -+ return "", EINVAL -+ } -+ return string(buf[0 : n-1]), nil -+} -+ -+func Getgroups() (gids []int, err error) { -+ n, err := getgroups(0, nil) -+ if err != nil { -+ return nil, err -+ } -+ if n == 0 { -+ return nil, nil -+ } -+ -+ // Sanity check group count. Max is 1<<16 on Linux. -+ if n < 0 || n > 1<<20 { -+ return nil, EINVAL -+ } -+ -+ a := make([]_Gid_t, n) -+ n, err = getgroups(n, &a[0]) -+ if err != nil { -+ return nil, err -+ } -+ gids = make([]int, n) -+ for i, v := range a[0:n] { -+ gids[i] = int(v) -+ } -+ return -+} -+ -+func Setgroups(gids []int) (err error) { -+ if len(gids) == 0 { -+ return setgroups(0, nil) -+ } -+ -+ a := make([]_Gid_t, len(gids)) -+ for i, v := range gids { -+ a[i] = _Gid_t(v) -+ } -+ return setgroups(len(a), &a[0]) -+} -+ -+type WaitStatus uint32 -+ -+// Wait status is 7 bits at bottom, either 0 (exited), -+// 0x7F (stopped), or a signal number that caused an exit. -+// The 0x80 bit is whether there was a core dump. -+// An extra number (exit code, signal causing a stop) -+// is in the high bits. At least that's the idea. -+// There are various irregularities. For example, the -+// "continued" status is 0xFFFF, distinguishing itself -+// from stopped via the core dump bit. -+ -+const ( -+ mask = 0x7F -+ core = 0x80 -+ exited = 0x00 -+ stopped = 0x7F -+ shift = 8 -+) -+ -+func (w WaitStatus) Exited() bool { return w&mask == exited } -+ -+func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != exited } -+ -+func (w WaitStatus) Stopped() bool { return w&0xFF == stopped } -+ -+func (w WaitStatus) Continued() bool { return w == 0xFFFF } -+ -+func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } -+ -+func (w WaitStatus) ExitStatus() int { -+ if !w.Exited() { -+ return -1 -+ } -+ return int(w>>shift) & 0xFF -+} -+ -+func (w WaitStatus) Signal() syscall.Signal { -+ if !w.Signaled() { -+ return -1 -+ } -+ return syscall.Signal(w & mask) -+} -+ -+func (w WaitStatus) StopSignal() syscall.Signal { -+ if !w.Stopped() { -+ return -1 -+ } -+ return syscall.Signal(w>>shift) & 0xFF -+} -+ -+func (w WaitStatus) TrapCause() int { -+ if w.StopSignal() != SIGTRAP { -+ return -1 -+ } -+ return int(w>>shift) >> 8 -+} -+ -+//sys wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) -+ -+func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) { -+ var status _C_int -+ wpid, err = wait4(pid, &status, options, rusage) -+ if wstatus != nil { -+ *wstatus = WaitStatus(status) -+ } -+ return -+} -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ return Mknod(path, mode|S_IFIFO, 0) -+} -+ -+func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ if sa.Port < 0 || sa.Port > 0xFFFF { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Family = AF_INET -+ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) -+ p[0] = byte(sa.Port >> 8) -+ p[1] = byte(sa.Port) -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.raw.Addr[i] = sa.Addr[i] -+ } -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil -+} -+ -+func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ if sa.Port < 0 || sa.Port > 0xFFFF { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Family = AF_INET6 -+ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) -+ p[0] = byte(sa.Port >> 8) -+ p[1] = byte(sa.Port) -+ sa.raw.Scope_id = sa.ZoneId -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.raw.Addr[i] = sa.Addr[i] -+ } -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil -+} -+ -+func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ name := sa.Name -+ n := len(name) -+ if n >= len(sa.raw.Path) { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Family = AF_UNIX -+ for i := 0; i < n; i++ { -+ sa.raw.Path[i] = int8(name[i]) -+ } -+ // length is family (uint16), name, NUL. -+ sl := _Socklen(2) -+ if n > 0 { -+ sl += _Socklen(n) + 1 -+ } -+ if sa.raw.Path[0] == '@' { -+ sa.raw.Path[0] = 0 -+ // Don't count trailing NUL for abstract address. -+ sl-- -+ } -+ -+ return unsafe.Pointer(&sa.raw), sl, nil -+} -+ -+type SockaddrLinklayer struct { -+ Protocol uint16 -+ Ifindex int -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]byte -+ raw RawSockaddrLinklayer -+} -+ -+func (sa *SockaddrLinklayer) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Family = AF_PACKET -+ sa.raw.Protocol = sa.Protocol -+ sa.raw.Ifindex = int32(sa.Ifindex) -+ sa.raw.Hatype = sa.Hatype -+ sa.raw.Pkttype = sa.Pkttype -+ sa.raw.Halen = sa.Halen -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.raw.Addr[i] = sa.Addr[i] -+ } -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrLinklayer, nil -+} -+ -+type SockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+ raw RawSockaddrNetlink -+} -+ -+func (sa *SockaddrNetlink) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ sa.raw.Family = AF_NETLINK -+ sa.raw.Pad = sa.Pad -+ sa.raw.Pid = sa.Pid -+ sa.raw.Groups = sa.Groups -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrNetlink, nil -+} -+ -+type SockaddrHCI struct { -+ Dev uint16 -+ Channel uint16 -+ raw RawSockaddrHCI -+} -+ -+func (sa *SockaddrHCI) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ sa.raw.Family = AF_BLUETOOTH -+ sa.raw.Dev = sa.Dev -+ sa.raw.Channel = sa.Channel -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrHCI, nil -+} -+ -+// SockaddrCAN implements the Sockaddr interface for AF_CAN type sockets. -+// The RxID and TxID fields are used for transport protocol addressing in -+// (CAN_TP16, CAN_TP20, CAN_MCNET, and CAN_ISOTP), they can be left with -+// zero values for CAN_RAW and CAN_BCM sockets as they have no meaning. -+// -+// The SockaddrCAN struct must be bound to the socket file descriptor -+// using Bind before the CAN socket can be used. -+// -+// // Read one raw CAN frame -+// fd, _ := Socket(AF_CAN, SOCK_RAW, CAN_RAW) -+// addr := &SockaddrCAN{Ifindex: index} -+// Bind(fd, addr) -+// frame := make([]byte, 16) -+// Read(fd, frame) -+// -+// The full SocketCAN documentation can be found in the linux kernel -+// archives at: https://www.kernel.org/doc/Documentation/networking/can.txt -+type SockaddrCAN struct { -+ Ifindex int -+ RxID uint32 -+ TxID uint32 -+ raw RawSockaddrCAN -+} -+ -+func (sa *SockaddrCAN) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ if sa.Ifindex < 0 || sa.Ifindex > 0x7fffffff { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Family = AF_CAN -+ sa.raw.Ifindex = int32(sa.Ifindex) -+ rx := (*[4]byte)(unsafe.Pointer(&sa.RxID)) -+ for i := 0; i < 4; i++ { -+ sa.raw.Addr[i] = rx[i] -+ } -+ tx := (*[4]byte)(unsafe.Pointer(&sa.TxID)) -+ for i := 0; i < 4; i++ { -+ sa.raw.Addr[i+4] = tx[i] -+ } -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrCAN, nil -+} -+ -+// SockaddrALG implements the Sockaddr interface for AF_ALG type sockets. -+// SockaddrALG enables userspace access to the Linux kernel's cryptography -+// subsystem. The Type and Name fields specify which type of hash or cipher -+// should be used with a given socket. -+// -+// To create a file descriptor that provides access to a hash or cipher, both -+// Bind and Accept must be used. Once the setup process is complete, input -+// data can be written to the socket, processed by the kernel, and then read -+// back as hash output or ciphertext. -+// -+// Here is an example of using an AF_ALG socket with SHA1 hashing. -+// The initial socket setup process is as follows: -+// -+// // Open a socket to perform SHA1 hashing. -+// fd, _ := unix.Socket(unix.AF_ALG, unix.SOCK_SEQPACKET, 0) -+// addr := &unix.SockaddrALG{Type: "hash", Name: "sha1"} -+// unix.Bind(fd, addr) -+// // Note: unix.Accept does not work at this time; must invoke accept() -+// // manually using unix.Syscall. -+// hashfd, _, _ := unix.Syscall(unix.SYS_ACCEPT, uintptr(fd), 0, 0) -+// -+// Once a file descriptor has been returned from Accept, it may be used to -+// perform SHA1 hashing. The descriptor is not safe for concurrent use, but -+// may be re-used repeatedly with subsequent Write and Read operations. -+// -+// When hashing a small byte slice or string, a single Write and Read may -+// be used: -+// -+// // Assume hashfd is already configured using the setup process. -+// hash := os.NewFile(hashfd, "sha1") -+// // Hash an input string and read the results. Each Write discards -+// // previous hash state. Read always reads the current state. -+// b := make([]byte, 20) -+// for i := 0; i < 2; i++ { -+// io.WriteString(hash, "Hello, world.") -+// hash.Read(b) -+// fmt.Println(hex.EncodeToString(b)) -+// } -+// // Output: -+// // 2ae01472317d1935a84797ec1983ae243fc6aa28 -+// // 2ae01472317d1935a84797ec1983ae243fc6aa28 -+// -+// For hashing larger byte slices, or byte streams such as those read from -+// a file or socket, use Sendto with MSG_MORE to instruct the kernel to update -+// the hash digest instead of creating a new one for a given chunk and finalizing it. -+// -+// // Assume hashfd and addr are already configured using the setup process. -+// hash := os.NewFile(hashfd, "sha1") -+// // Hash the contents of a file. -+// f, _ := os.Open("/tmp/linux-4.10-rc7.tar.xz") -+// b := make([]byte, 4096) -+// for { -+// n, err := f.Read(b) -+// if err == io.EOF { -+// break -+// } -+// unix.Sendto(hashfd, b[:n], unix.MSG_MORE, addr) -+// } -+// hash.Read(b) -+// fmt.Println(hex.EncodeToString(b)) -+// // Output: 85cdcad0c06eef66f805ecce353bec9accbeecc5 -+// -+// For more information, see: http://www.chronox.de/crypto-API/crypto/userspace-if.html. -+type SockaddrALG struct { -+ Type string -+ Name string -+ Feature uint32 -+ Mask uint32 -+ raw RawSockaddrALG -+} -+ -+func (sa *SockaddrALG) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ // Leave room for NUL byte terminator. -+ if len(sa.Type) > 13 { -+ return nil, 0, EINVAL -+ } -+ if len(sa.Name) > 63 { -+ return nil, 0, EINVAL -+ } -+ -+ sa.raw.Family = AF_ALG -+ sa.raw.Feat = sa.Feature -+ sa.raw.Mask = sa.Mask -+ -+ typ, err := ByteSliceFromString(sa.Type) -+ if err != nil { -+ return nil, 0, err -+ } -+ name, err := ByteSliceFromString(sa.Name) -+ if err != nil { -+ return nil, 0, err -+ } -+ -+ copy(sa.raw.Type[:], typ) -+ copy(sa.raw.Name[:], name) -+ -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrALG, nil -+} -+ -+// SockaddrVM implements the Sockaddr interface for AF_VSOCK type sockets. -+// SockaddrVM provides access to Linux VM sockets: a mechanism that enables -+// bidirectional communication between a hypervisor and its guest virtual -+// machines. -+type SockaddrVM struct { -+ // CID and Port specify a context ID and port address for a VM socket. -+ // Guests have a unique CID, and hosts may have a well-known CID of: -+ // - VMADDR_CID_HYPERVISOR: refers to the hypervisor process. -+ // - VMADDR_CID_HOST: refers to other processes on the host. -+ CID uint32 -+ Port uint32 -+ raw RawSockaddrVM -+} -+ -+func (sa *SockaddrVM) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ sa.raw.Family = AF_VSOCK -+ sa.raw.Port = sa.Port -+ sa.raw.Cid = sa.CID -+ -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrVM, nil -+} -+ -+func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) { -+ switch rsa.Addr.Family { -+ case AF_NETLINK: -+ pp := (*RawSockaddrNetlink)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrNetlink) -+ sa.Family = pp.Family -+ sa.Pad = pp.Pad -+ sa.Pid = pp.Pid -+ sa.Groups = pp.Groups -+ return sa, nil -+ -+ case AF_PACKET: -+ pp := (*RawSockaddrLinklayer)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrLinklayer) -+ sa.Protocol = pp.Protocol -+ sa.Ifindex = int(pp.Ifindex) -+ sa.Hatype = pp.Hatype -+ sa.Pkttype = pp.Pkttype -+ sa.Halen = pp.Halen -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.Addr[i] = pp.Addr[i] -+ } -+ return sa, nil -+ -+ case AF_UNIX: -+ pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrUnix) -+ if pp.Path[0] == 0 { -+ // "Abstract" Unix domain socket. -+ // Rewrite leading NUL as @ for textual display. -+ // (This is the standard convention.) -+ // Not friendly to overwrite in place, -+ // but the callers below don't care. -+ pp.Path[0] = '@' -+ } -+ -+ // Assume path ends at NUL. -+ // This is not technically the Linux semantics for -+ // abstract Unix domain sockets--they are supposed -+ // to be uninterpreted fixed-size binary blobs--but -+ // everyone uses this convention. -+ n := 0 -+ for n < len(pp.Path) && pp.Path[n] != 0 { -+ n++ -+ } -+ bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] -+ sa.Name = string(bytes) -+ return sa, nil -+ -+ case AF_INET: -+ pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrInet4) -+ p := (*[2]byte)(unsafe.Pointer(&pp.Port)) -+ sa.Port = int(p[0])<<8 + int(p[1]) -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.Addr[i] = pp.Addr[i] -+ } -+ return sa, nil -+ -+ case AF_INET6: -+ pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrInet6) -+ p := (*[2]byte)(unsafe.Pointer(&pp.Port)) -+ sa.Port = int(p[0])<<8 + int(p[1]) -+ sa.ZoneId = pp.Scope_id -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.Addr[i] = pp.Addr[i] -+ } -+ return sa, nil -+ -+ case AF_VSOCK: -+ pp := (*RawSockaddrVM)(unsafe.Pointer(rsa)) -+ sa := &SockaddrVM{ -+ CID: pp.Cid, -+ Port: pp.Port, -+ } -+ return sa, nil -+ } -+ return nil, EAFNOSUPPORT -+} -+ -+func Accept(fd int) (nfd int, sa Sockaddr, err error) { -+ var rsa RawSockaddrAny -+ var len _Socklen = SizeofSockaddrAny -+ nfd, err = accept(fd, &rsa, &len) -+ if err != nil { -+ return -+ } -+ sa, err = anyToSockaddr(&rsa) -+ if err != nil { -+ Close(nfd) -+ nfd = 0 -+ } -+ return -+} -+ -+func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) { -+ var rsa RawSockaddrAny -+ var len _Socklen = SizeofSockaddrAny -+ nfd, err = accept4(fd, &rsa, &len, flags) -+ if err != nil { -+ return -+ } -+ if len > SizeofSockaddrAny { -+ panic("RawSockaddrAny too small") -+ } -+ sa, err = anyToSockaddr(&rsa) -+ if err != nil { -+ Close(nfd) -+ nfd = 0 -+ } -+ return -+} -+ -+func Getsockname(fd int) (sa Sockaddr, err error) { -+ var rsa RawSockaddrAny -+ var len _Socklen = SizeofSockaddrAny -+ if err = getsockname(fd, &rsa, &len); err != nil { -+ return -+ } -+ return anyToSockaddr(&rsa) -+} -+ -+func GetsockoptInet4Addr(fd, level, opt int) (value [4]byte, err error) { -+ vallen := _Socklen(4) -+ err = getsockopt(fd, level, opt, unsafe.Pointer(&value[0]), &vallen) -+ return value, err -+} -+ -+func GetsockoptIPMreq(fd, level, opt int) (*IPMreq, error) { -+ var value IPMreq -+ vallen := _Socklen(SizeofIPMreq) -+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, err -+} -+ -+func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) { -+ var value IPMreqn -+ vallen := _Socklen(SizeofIPMreqn) -+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, err -+} -+ -+func GetsockoptIPv6Mreq(fd, level, opt int) (*IPv6Mreq, error) { -+ var value IPv6Mreq -+ vallen := _Socklen(SizeofIPv6Mreq) -+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, err -+} -+ -+func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) { -+ var value IPv6MTUInfo -+ vallen := _Socklen(SizeofIPv6MTUInfo) -+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, err -+} -+ -+func GetsockoptICMPv6Filter(fd, level, opt int) (*ICMPv6Filter, error) { -+ var value ICMPv6Filter -+ vallen := _Socklen(SizeofICMPv6Filter) -+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, err -+} -+ -+func GetsockoptUcred(fd, level, opt int) (*Ucred, error) { -+ var value Ucred -+ vallen := _Socklen(SizeofUcred) -+ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) -+ return &value, err -+} -+ -+func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) { -+ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq)) -+} -+ -+func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { -+ var msg Msghdr -+ var rsa RawSockaddrAny -+ msg.Name = (*byte)(unsafe.Pointer(&rsa)) -+ msg.Namelen = uint32(SizeofSockaddrAny) -+ var iov Iovec -+ if len(p) > 0 { -+ iov.Base = (*byte)(unsafe.Pointer(&p[0])) -+ iov.SetLen(len(p)) -+ } -+ var dummy byte -+ if len(oob) > 0 { -+ // receive at least one normal byte -+ if len(p) == 0 { -+ iov.Base = &dummy -+ iov.SetLen(1) -+ } -+ msg.Control = (*byte)(unsafe.Pointer(&oob[0])) -+ msg.SetControllen(len(oob)) -+ } -+ msg.Iov = &iov -+ msg.Iovlen = 1 -+ if n, err = recvmsg(fd, &msg, flags); err != nil { -+ return -+ } -+ oobn = int(msg.Controllen) -+ recvflags = int(msg.Flags) -+ // source address is only specified if the socket is unconnected -+ if rsa.Addr.Family != AF_UNSPEC { -+ from, err = anyToSockaddr(&rsa) -+ } -+ return -+} -+ -+func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { -+ _, err = SendmsgN(fd, p, oob, to, flags) -+ return -+} -+ -+func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { -+ var ptr unsafe.Pointer -+ var salen _Socklen -+ if to != nil { -+ var err error -+ ptr, salen, err = to.sockaddr() -+ if err != nil { -+ return 0, err -+ } -+ } -+ var msg Msghdr -+ msg.Name = (*byte)(unsafe.Pointer(ptr)) -+ msg.Namelen = uint32(salen) -+ var iov Iovec -+ if len(p) > 0 { -+ iov.Base = (*byte)(unsafe.Pointer(&p[0])) -+ iov.SetLen(len(p)) -+ } -+ var dummy byte -+ if len(oob) > 0 { -+ // send at least one normal byte -+ if len(p) == 0 { -+ iov.Base = &dummy -+ iov.SetLen(1) -+ } -+ msg.Control = (*byte)(unsafe.Pointer(&oob[0])) -+ msg.SetControllen(len(oob)) -+ } -+ msg.Iov = &iov -+ msg.Iovlen = 1 -+ if n, err = sendmsg(fd, &msg, flags); err != nil { -+ return 0, err -+ } -+ if len(oob) > 0 && len(p) == 0 { -+ n = 0 -+ } -+ return n, nil -+} -+ -+// BindToDevice binds the socket associated with fd to device. -+func BindToDevice(fd int, device string) (err error) { -+ return SetsockoptString(fd, SOL_SOCKET, SO_BINDTODEVICE, device) -+} -+ -+//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error) -+ -+func ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err error) { -+ // The peek requests are machine-size oriented, so we wrap it -+ // to retrieve arbitrary-length data. -+ -+ // The ptrace syscall differs from glibc's ptrace. -+ // Peeks returns the word in *data, not as the return value. -+ -+ var buf [sizeofPtr]byte -+ -+ // Leading edge. PEEKTEXT/PEEKDATA don't require aligned -+ // access (PEEKUSER warns that it might), but if we don't -+ // align our reads, we might straddle an unmapped page -+ // boundary and not get the bytes leading up to the page -+ // boundary. -+ n := 0 -+ if addr%sizeofPtr != 0 { -+ err = ptrace(req, pid, addr-addr%sizeofPtr, uintptr(unsafe.Pointer(&buf[0]))) -+ if err != nil { -+ return 0, err -+ } -+ n += copy(out, buf[addr%sizeofPtr:]) -+ out = out[n:] -+ } -+ -+ // Remainder. -+ for len(out) > 0 { -+ // We use an internal buffer to guarantee alignment. -+ // It's not documented if this is necessary, but we're paranoid. -+ err = ptrace(req, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0]))) -+ if err != nil { -+ return n, err -+ } -+ copied := copy(out, buf[0:]) -+ n += copied -+ out = out[copied:] -+ } -+ -+ return n, nil -+} -+ -+func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) { -+ return ptracePeek(PTRACE_PEEKTEXT, pid, addr, out) -+} -+ -+func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) { -+ return ptracePeek(PTRACE_PEEKDATA, pid, addr, out) -+} -+ -+func PtracePeekUser(pid int, addr uintptr, out []byte) (count int, err error) { -+ return ptracePeek(PTRACE_PEEKUSR, pid, addr, out) -+} -+ -+func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (count int, err error) { -+ // As for ptracePeek, we need to align our accesses to deal -+ // with the possibility of straddling an invalid page. -+ -+ // Leading edge. -+ n := 0 -+ if addr%sizeofPtr != 0 { -+ var buf [sizeofPtr]byte -+ err = ptrace(peekReq, pid, addr-addr%sizeofPtr, uintptr(unsafe.Pointer(&buf[0]))) -+ if err != nil { -+ return 0, err -+ } -+ n += copy(buf[addr%sizeofPtr:], data) -+ word := *((*uintptr)(unsafe.Pointer(&buf[0]))) -+ err = ptrace(pokeReq, pid, addr-addr%sizeofPtr, word) -+ if err != nil { -+ return 0, err -+ } -+ data = data[n:] -+ } -+ -+ // Interior. -+ for len(data) > sizeofPtr { -+ word := *((*uintptr)(unsafe.Pointer(&data[0]))) -+ err = ptrace(pokeReq, pid, addr+uintptr(n), word) -+ if err != nil { -+ return n, err -+ } -+ n += sizeofPtr -+ data = data[sizeofPtr:] -+ } -+ -+ // Trailing edge. -+ if len(data) > 0 { -+ var buf [sizeofPtr]byte -+ err = ptrace(peekReq, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0]))) -+ if err != nil { -+ return n, err -+ } -+ copy(buf[0:], data) -+ word := *((*uintptr)(unsafe.Pointer(&buf[0]))) -+ err = ptrace(pokeReq, pid, addr+uintptr(n), word) -+ if err != nil { -+ return n, err -+ } -+ n += len(data) -+ } -+ -+ return n, nil -+} -+ -+func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) { -+ return ptracePoke(PTRACE_POKETEXT, PTRACE_PEEKTEXT, pid, addr, data) -+} -+ -+func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) { -+ return ptracePoke(PTRACE_POKEDATA, PTRACE_PEEKDATA, pid, addr, data) -+} -+ -+func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) { -+ return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout))) -+} -+ -+func PtraceSetRegs(pid int, regs *PtraceRegs) (err error) { -+ return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs))) -+} -+ -+func PtraceSetOptions(pid int, options int) (err error) { -+ return ptrace(PTRACE_SETOPTIONS, pid, 0, uintptr(options)) -+} -+ -+func PtraceGetEventMsg(pid int) (msg uint, err error) { -+ var data _C_long -+ err = ptrace(PTRACE_GETEVENTMSG, pid, 0, uintptr(unsafe.Pointer(&data))) -+ msg = uint(data) -+ return -+} -+ -+func PtraceCont(pid int, signal int) (err error) { -+ return ptrace(PTRACE_CONT, pid, 0, uintptr(signal)) -+} -+ -+func PtraceSyscall(pid int, signal int) (err error) { -+ return ptrace(PTRACE_SYSCALL, pid, 0, uintptr(signal)) -+} -+ -+func PtraceSingleStep(pid int) (err error) { return ptrace(PTRACE_SINGLESTEP, pid, 0, 0) } -+ -+func PtraceAttach(pid int) (err error) { return ptrace(PTRACE_ATTACH, pid, 0, 0) } -+ -+func PtraceDetach(pid int) (err error) { return ptrace(PTRACE_DETACH, pid, 0, 0) } -+ -+//sys reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) -+ -+func Reboot(cmd int) (err error) { -+ return reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, "") -+} -+ -+func ReadDirent(fd int, buf []byte) (n int, err error) { -+ return Getdents(fd, buf) -+} -+ -+func direntIno(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) -+} -+ -+func direntReclen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) -+} -+ -+func direntNamlen(buf []byte) (uint64, bool) { -+ reclen, ok := direntReclen(buf) -+ if !ok { -+ return 0, false -+ } -+ return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true -+} -+ -+//sys mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) -+ -+func Mount(source string, target string, fstype string, flags uintptr, data string) (err error) { -+ // Certain file systems get rather angry and EINVAL if you give -+ // them an empty string of data, rather than NULL. -+ if data == "" { -+ return mount(source, target, fstype, flags, nil) -+ } -+ datap, err := BytePtrFromString(data) -+ if err != nil { -+ return err -+ } -+ return mount(source, target, fstype, flags, datap) -+} -+ -+// Sendto -+// Recvfrom -+// Socketpair -+ -+/* -+ * Direct access -+ */ -+//sys Acct(path string) (err error) -+//sys Adjtimex(buf *Timex) (state int, err error) -+//sys Chdir(path string) (err error) -+//sys Chroot(path string) (err error) -+//sys ClockGettime(clockid int32, time *Timespec) (err error) -+//sys Close(fd int) (err error) -+//sys Dup(oldfd int) (fd int, err error) -+//sys Dup3(oldfd int, newfd int, flags int) (err error) -+//sysnb EpollCreate(size int) (fd int, err error) -+//sysnb EpollCreate1(flag int) (fd int, err error) -+//sysnb EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) -+//sys Exit(code int) = SYS_EXIT_GROUP -+//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) -+//sys Fallocate(fd int, mode uint32, off int64, len int64) (err error) -+//sys Fchdir(fd int) (err error) -+//sys Fchmod(fd int, mode uint32) (err error) -+//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) -+//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) -+//sys fcntl(fd int, cmd int, arg int) (val int, err error) -+//sys Fdatasync(fd int) (err error) -+//sys Flock(fd int, how int) (err error) -+//sys Fsync(fd int) (err error) -+//sys Getdents(fd int, buf []byte) (n int, err error) = SYS_GETDENTS64 -+//sysnb Getpgid(pid int) (pgid int, err error) -+ -+func Getpgrp() (pid int) { -+ pid, _ = Getpgid(0) -+ return -+} -+ -+//sysnb Getpid() (pid int) -+//sysnb Getppid() (ppid int) -+//sys Getpriority(which int, who int) (prio int, err error) -+//sys Getrandom(buf []byte, flags int) (n int, err error) -+//sysnb Getrusage(who int, rusage *Rusage) (err error) -+//sysnb Getsid(pid int) (sid int, err error) -+//sysnb Gettid() (tid int) -+//sys Getxattr(path string, attr string, dest []byte) (sz int, err error) -+//sys InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) -+//sysnb InotifyInit1(flags int) (fd int, err error) -+//sysnb InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) -+//sysnb Kill(pid int, sig syscall.Signal) (err error) -+//sys Klogctl(typ int, buf []byte) (n int, err error) = SYS_SYSLOG -+//sys Listxattr(path string, dest []byte) (sz int, err error) -+//sys Mkdirat(dirfd int, path string, mode uint32) (err error) -+//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) -+//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) -+//sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT -+//sysnb prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64 -+//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) -+//sys read(fd int, p []byte) (n int, err error) -+//sys Removexattr(path string, attr string) (err error) -+//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) -+//sys Setdomainname(p []byte) (err error) -+//sys Sethostname(p []byte) (err error) -+//sysnb Setpgid(pid int, pgid int) (err error) -+//sysnb Setsid() (pid int, err error) -+//sysnb Settimeofday(tv *Timeval) (err error) -+//sys Setns(fd int, nstype int) (err error) -+ -+// issue 1435. -+// On linux Setuid and Setgid only affects the current thread, not the process. -+// This does not match what most callers expect so we must return an error -+// here rather than letting the caller think that the call succeeded. -+ -+func Setuid(uid int) (err error) { -+ return EOPNOTSUPP -+} -+ -+func Setgid(uid int) (err error) { -+ return EOPNOTSUPP -+} -+ -+//sys Setpriority(which int, who int, prio int) (err error) -+//sys Setxattr(path string, attr string, data []byte, flags int) (err error) -+//sys Sync() -+//sysnb Sysinfo(info *Sysinfo_t) (err error) -+//sys Tee(rfd int, wfd int, len int, flags int) (n int64, err error) -+//sysnb Tgkill(tgid int, tid int, sig syscall.Signal) (err error) -+//sysnb Times(tms *Tms) (ticks uintptr, err error) -+//sysnb Umask(mask int) (oldmask int) -+//sysnb Uname(buf *Utsname) (err error) -+//sys Unmount(target string, flags int) (err error) = SYS_UMOUNT2 -+//sys Unshare(flags int) (err error) -+//sys Ustat(dev int, ubuf *Ustat_t) (err error) -+//sys write(fd int, p []byte) (n int, err error) -+//sys exitThread(code int) (err error) = SYS_EXIT -+//sys readlen(fd int, p *byte, np int) (n int, err error) = SYS_READ -+//sys writelen(fd int, p *byte, np int) (n int, err error) = SYS_WRITE -+ -+// mmap varies by architecture; see syscall_linux_*.go. -+//sys munmap(addr uintptr, length uintptr) (err error) -+ -+var mapper = &mmapper{ -+ active: make(map[*byte][]byte), -+ mmap: mmap, -+ munmap: munmap, -+} -+ -+func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { -+ return mapper.Mmap(fd, offset, length, prot, flags) -+} -+ -+func Munmap(b []byte) (err error) { -+ return mapper.Munmap(b) -+} -+ -+//sys Madvise(b []byte, advice int) (err error) -+//sys Mprotect(b []byte, prot int) (err error) -+//sys Mlock(b []byte) (err error) -+//sys Munlock(b []byte) (err error) -+//sys Mlockall(flags int) (err error) -+//sys Munlockall() (err error) -+ -+// Vmsplice splices user pages from a slice of Iovecs into a pipe specified by fd, -+// using the specified flags. -+func Vmsplice(fd int, iovs []Iovec, flags int) (int, error) { -+ n, _, errno := Syscall6( -+ SYS_VMSPLICE, -+ uintptr(fd), -+ uintptr(unsafe.Pointer(&iovs[0])), -+ uintptr(len(iovs)), -+ uintptr(flags), -+ 0, -+ 0, -+ ) -+ if errno != 0 { -+ return 0, syscall.Errno(errno) -+ } -+ -+ return int(n), nil -+} -+ -+/* -+ * Unimplemented -+ */ -+// AddKey -+// AfsSyscall -+// Alarm -+// ArchPrctl -+// Brk -+// Capget -+// Capset -+// ClockGetres -+// ClockNanosleep -+// ClockSettime -+// Clone -+// CreateModule -+// DeleteModule -+// EpollCtlOld -+// EpollPwait -+// EpollWaitOld -+// Eventfd -+// Execve -+// Fgetxattr -+// Flistxattr -+// Fork -+// Fremovexattr -+// Fsetxattr -+// Futex -+// GetKernelSyms -+// GetMempolicy -+// GetRobustList -+// GetThreadArea -+// Getitimer -+// Getpmsg -+// IoCancel -+// IoDestroy -+// IoGetevents -+// IoSetup -+// IoSubmit -+// Ioctl -+// IoprioGet -+// IoprioSet -+// KexecLoad -+// Keyctl -+// Lgetxattr -+// Llistxattr -+// LookupDcookie -+// Lremovexattr -+// Lsetxattr -+// Mbind -+// MigratePages -+// Mincore -+// ModifyLdt -+// Mount -+// MovePages -+// Mprotect -+// MqGetsetattr -+// MqNotify -+// MqOpen -+// MqTimedreceive -+// MqTimedsend -+// MqUnlink -+// Mremap -+// Msgctl -+// Msgget -+// Msgrcv -+// Msgsnd -+// Msync -+// Newfstatat -+// Nfsservctl -+// Personality -+// Pselect6 -+// Ptrace -+// Putpmsg -+// QueryModule -+// Quotactl -+// Readahead -+// Readv -+// RemapFilePages -+// RequestKey -+// RestartSyscall -+// RtSigaction -+// RtSigpending -+// RtSigprocmask -+// RtSigqueueinfo -+// RtSigreturn -+// RtSigsuspend -+// RtSigtimedwait -+// SchedGetPriorityMax -+// SchedGetPriorityMin -+// SchedGetaffinity -+// SchedGetparam -+// SchedGetscheduler -+// SchedRrGetInterval -+// SchedSetaffinity -+// SchedSetparam -+// SchedYield -+// Security -+// Semctl -+// Semget -+// Semop -+// Semtimedop -+// SetMempolicy -+// SetRobustList -+// SetThreadArea -+// SetTidAddress -+// Shmat -+// Shmctl -+// Shmdt -+// Shmget -+// Sigaltstack -+// Signalfd -+// Swapoff -+// Swapon -+// Sysfs -+// TimerCreate -+// TimerDelete -+// TimerGetoverrun -+// TimerGettime -+// TimerSettime -+// Timerfd -+// Tkill (obsolete) -+// Tuxcall -+// Umount2 -+// Uselib -+// Utimensat -+// Vfork -+// Vhangup -+// Vserver -+// Waitid -+// _Sysctl -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_386.go -new file mode 100644 -index 0000000..2b881b9 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_386.go -@@ -0,0 +1,399 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// TODO(rsc): Rewrite all nn(SP) references into name+(nn-8)(FP) -+// so that go vet can check that they are correct. -+ -+// +build 386,linux -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = int32(nsec / 1e9) -+ ts.Nsec = int32(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Sec = int32(nsec / 1e9) -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ return -+} -+ -+//sysnb pipe(p *[2]_C_int) (err error) -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe(&pp) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sysnb pipe2(p *[2]_C_int, flags int) (err error) -+ -+func Pipe2(p []int, flags int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, flags) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+// 64-bit file system and 32-bit uid calls -+// (386 default is 32-bit file system and 16-bit uid). -+//sys Dup2(oldfd int, newfd int) (err error) -+//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64_64 -+//sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 -+//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 -+//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 -+//sysnb Getegid() (egid int) = SYS_GETEGID32 -+//sysnb Geteuid() (euid int) = SYS_GETEUID32 -+//sysnb Getgid() (gid int) = SYS_GETGID32 -+//sysnb Getuid() (uid int) = SYS_GETUID32 -+//sysnb InotifyInit() (fd int, err error) -+//sys Ioperm(from int, num int, on int) (err error) -+//sys Iopl(level int) (err error) -+//sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 -+//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -+//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 -+//sys Setfsgid(gid int) (err error) = SYS_SETFSGID32 -+//sys Setfsuid(uid int) (err error) = SYS_SETFSUID32 -+//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID32 -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32 -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32 -+//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID32 -+//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) -+//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 -+//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -+//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 -+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32 -+//sysnb setgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32 -+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT -+ -+//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) -+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -+//sys Pause() (err error) -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ page := uintptr(offset / 4096) -+ if offset != int64(page)*4096 { -+ return 0, EINVAL -+ } -+ return mmap2(addr, length, prot, flags, fd, page) -+} -+ -+type rlimit32 struct { -+ Cur uint32 -+ Max uint32 -+} -+ -+//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT -+ -+const rlimInf32 = ^uint32(0) -+const rlimInf64 = ^uint64(0) -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ err = prlimit(0, resource, nil, rlim) -+ if err != ENOSYS { -+ return err -+ } -+ -+ rl := rlimit32{} -+ err = getrlimit(resource, &rl) -+ if err != nil { -+ return -+ } -+ -+ if rl.Cur == rlimInf32 { -+ rlim.Cur = rlimInf64 -+ } else { -+ rlim.Cur = uint64(rl.Cur) -+ } -+ -+ if rl.Max == rlimInf32 { -+ rlim.Max = rlimInf64 -+ } else { -+ rlim.Max = uint64(rl.Max) -+ } -+ return -+} -+ -+//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ err = prlimit(0, resource, rlim, nil) -+ if err != ENOSYS { -+ return err -+ } -+ -+ rl := rlimit32{} -+ if rlim.Cur == rlimInf64 { -+ rl.Cur = rlimInf32 -+ } else if rlim.Cur < uint64(rlimInf32) { -+ rl.Cur = uint32(rlim.Cur) -+ } else { -+ return EINVAL -+ } -+ if rlim.Max == rlimInf64 { -+ rl.Max = rlimInf32 -+ } else if rlim.Max < uint64(rlimInf32) { -+ rl.Max = uint32(rlim.Max) -+ } else { -+ return EINVAL -+ } -+ -+ return setrlimit(resource, &rl) -+} -+ -+// Underlying system call writes to newoffset via pointer. -+// Implemented in assembly to avoid allocation. -+func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ newoffset, errno := seek(fd, offset, whence) -+ if errno != 0 { -+ return 0, errno -+ } -+ return newoffset, nil -+} -+ -+// Vsyscalls on amd64. -+//sysnb Gettimeofday(tv *Timeval) (err error) -+//sysnb Time(t *Time_t) (tt Time_t, err error) -+ -+//sys Utime(path string, buf *Utimbuf) (err error) -+ -+// On x86 Linux, all the socket calls go through an extra indirection, -+// I think because the 5-register system call interface can't handle -+// the 6-argument calls like sendto and recvfrom. Instead the -+// arguments to the underlying system call are the number below -+// and a pointer to an array of uintptr. We hide the pointer in the -+// socketcall assembly to avoid allocation on every system call. -+ -+const ( -+ // see linux/net.h -+ _SOCKET = 1 -+ _BIND = 2 -+ _CONNECT = 3 -+ _LISTEN = 4 -+ _ACCEPT = 5 -+ _GETSOCKNAME = 6 -+ _GETPEERNAME = 7 -+ _SOCKETPAIR = 8 -+ _SEND = 9 -+ _RECV = 10 -+ _SENDTO = 11 -+ _RECVFROM = 12 -+ _SHUTDOWN = 13 -+ _SETSOCKOPT = 14 -+ _GETSOCKOPT = 15 -+ _SENDMSG = 16 -+ _RECVMSG = 17 -+ _ACCEPT4 = 18 -+ _RECVMMSG = 19 -+ _SENDMMSG = 20 -+) -+ -+func socketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) -+func rawsocketcall(call int, a0, a1, a2, a3, a4, a5 uintptr) (n int, err syscall.Errno) -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ fd, e := socketcall(_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ fd, e := socketcall(_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, e := rawsocketcall(_GETSOCKNAME, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, e := rawsocketcall(_GETPEERNAME, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) { -+ _, e := rawsocketcall(_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, e := socketcall(_BIND, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, e := socketcall(_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ fd, e := rawsocketcall(_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, e := socketcall(_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, e := socketcall(_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), vallen, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var base uintptr -+ if len(p) > 0 { -+ base = uintptr(unsafe.Pointer(&p[0])) -+ } -+ n, e := socketcall(_RECVFROM, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var base uintptr -+ if len(p) > 0 { -+ base = uintptr(unsafe.Pointer(&p[0])) -+ } -+ _, e := socketcall(_SENDTO, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ n, e := socketcall(_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ n, e := socketcall(_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func Listen(s int, n int) (err error) { -+ _, e := socketcall(_LISTEN, uintptr(s), uintptr(n), 0, 0, 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func Shutdown(s, how int) (err error) { -+ _, e := socketcall(_SHUTDOWN, uintptr(s), uintptr(how), 0, 0, 0, 0) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ pathp, err := BytePtrFromString(path) -+ if err != nil { -+ return err -+ } -+ _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func (r *PtraceRegs) PC() uint64 { return uint64(uint32(r.Eip)) } -+ -+func (r *PtraceRegs) SetPC(pc uint64) { r.Eip = int32(pc) } -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint32(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) -+ -+func Poll(fds []PollFd, timeout int) (n int, err error) { -+ if len(fds) == 0 { -+ return poll(nil, 0, timeout) -+ } -+ return poll(&fds[0], len(fds), timeout) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go -new file mode 100644 -index 0000000..9516a3f ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go -@@ -0,0 +1,152 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build amd64,linux -+ -+package unix -+ -+//sys Dup2(oldfd int, newfd int) (err error) -+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -+//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Fstatfs(fd int, buf *Statfs_t) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (euid int) -+//sysnb Getgid() (gid int) -+//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Getuid() (uid int) -+//sysnb InotifyInit() (fd int, err error) -+//sys Ioperm(from int, num int, on int) (err error) -+//sys Iopl(level int) (err error) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Listen(s int, n int) (err error) -+//sys Lstat(path string, stat *Stat_t) (err error) -+//sys Pause() (err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -+//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) -+//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) -+//sys Setfsgid(gid int) (err error) -+//sys Setfsuid(uid int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sys Shutdown(fd int, how int) (err error) -+//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -+//sys Stat(path string, stat *Stat_t) (err error) -+//sys Statfs(path string, buf *Statfs_t) (err error) -+//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -+//sys Truncate(path string, length int64) (err error) -+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -+//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -+//sysnb setgroups(n int, list *_Gid_t) (err error) -+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -+//sysnb socket(domain int, typ int, proto int) (fd int, err error) -+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ errno := gettimeofday(tv) -+ if errno != 0 { -+ return errno -+ } -+ return nil -+} -+ -+func Getpagesize() int { return 4096 } -+ -+func Time(t *Time_t) (tt Time_t, err error) { -+ var tv Timeval -+ errno := gettimeofday(&tv) -+ if errno != 0 { -+ return 0, errno -+ } -+ if t != nil { -+ *t = Time_t(tv.Sec) -+ } -+ return Time_t(tv.Sec), nil -+} -+ -+//sys Utime(path string, buf *Utimbuf) (err error) -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Sec = nsec / 1e9 -+ tv.Usec = nsec % 1e9 / 1e3 -+ return -+} -+ -+//sysnb pipe(p *[2]_C_int) (err error) -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe(&pp) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sysnb pipe2(p *[2]_C_int, flags int) (err error) -+ -+func Pipe2(p []int, flags int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, flags) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+func (r *PtraceRegs) PC() uint64 { return r.Rip } -+ -+func (r *PtraceRegs) SetPC(pc uint64) { r.Rip = pc } -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint64(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint64(length) -+} -+ -+//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) -+ -+func Poll(fds []PollFd, timeout int) (n int, err error) { -+ if len(fds) == 0 { -+ return poll(nil, 0, timeout) -+ } -+ return poll(&fds[0], len(fds), timeout) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go -new file mode 100644 -index 0000000..21a4946 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go -@@ -0,0 +1,13 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build amd64,linux -+// +build !gccgo -+ -+package unix -+ -+import "syscall" -+ -+//go:noescape -+func gettimeofday(tv *Timeval) (err syscall.Errno) -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go -new file mode 100644 -index 0000000..71d8702 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go -@@ -0,0 +1,263 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build arm,linux -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = int32(nsec / 1e9) -+ ts.Nsec = int32(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Sec = int32(nsec / 1e9) -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ return -+} -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, 0) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sysnb pipe2(p *[2]_C_int, flags int) (err error) -+ -+func Pipe2(p []int, flags int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, flags) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+// Underlying system call writes to newoffset via pointer. -+// Implemented in assembly to avoid allocation. -+func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ newoffset, errno := seek(fd, offset, whence) -+ if errno != 0 { -+ return 0, errno -+ } -+ return newoffset, nil -+} -+ -+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -+//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) = SYS_GETGROUPS32 -+//sysnb setgroups(n int, list *_Gid_t) (err error) = SYS_SETGROUPS32 -+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -+//sysnb socket(domain int, typ int, proto int) (fd int, err error) -+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -+//sysnb socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) -+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -+ -+// 64-bit file system and 32-bit uid calls -+// (16-bit uid calls are not always supported in newer kernels) -+//sys Dup2(oldfd int, newfd int) (err error) -+//sys Fchown(fd int, uid int, gid int) (err error) = SYS_FCHOWN32 -+//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 -+//sysnb Getegid() (egid int) = SYS_GETEGID32 -+//sysnb Geteuid() (euid int) = SYS_GETEUID32 -+//sysnb Getgid() (gid int) = SYS_GETGID32 -+//sysnb Getuid() (uid int) = SYS_GETUID32 -+//sysnb InotifyInit() (fd int, err error) -+//sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32 -+//sys Listen(s int, n int) (err error) -+//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 -+//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 -+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT -+//sys Setfsgid(gid int) (err error) = SYS_SETFSGID32 -+//sys Setfsuid(uid int) (err error) = SYS_SETFSUID32 -+//sysnb Setregid(rgid int, egid int) (err error) = SYS_SETREGID32 -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) = SYS_SETRESGID32 -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) = SYS_SETRESUID32 -+//sysnb Setreuid(ruid int, euid int) (err error) = SYS_SETREUID32 -+//sys Shutdown(fd int, how int) (err error) -+//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) -+//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 -+ -+// Vsyscalls on amd64. -+//sysnb Gettimeofday(tv *Timeval) (err error) -+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -+//sys Pause() (err error) -+ -+func Time(t *Time_t) (Time_t, error) { -+ var tv Timeval -+ err := Gettimeofday(&tv) -+ if err != nil { -+ return 0, err -+ } -+ if t != nil { -+ *t = Time_t(tv.Sec) -+ } -+ return Time_t(tv.Sec), nil -+} -+ -+func Utime(path string, buf *Utimbuf) error { -+ tv := []Timeval{ -+ {Sec: buf.Actime}, -+ {Sec: buf.Modtime}, -+ } -+ return Utimes(path, tv) -+} -+ -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -+//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 -+//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 -+ -+func Fadvise(fd int, offset int64, length int64, advice int) (err error) { -+ _, _, e1 := Syscall6(SYS_ARM_FADVISE64_64, uintptr(fd), uintptr(advice), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ pathp, err := BytePtrFromString(path) -+ if err != nil { -+ return err -+ } -+ _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(pathp)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) -+ if e != 0 { -+ err = e -+ } -+ return -+} -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ page := uintptr(offset / 4096) -+ if offset != int64(page)*4096 { -+ return 0, EINVAL -+ } -+ return mmap2(addr, length, prot, flags, fd, page) -+} -+ -+type rlimit32 struct { -+ Cur uint32 -+ Max uint32 -+} -+ -+//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_UGETRLIMIT -+ -+const rlimInf32 = ^uint32(0) -+const rlimInf64 = ^uint64(0) -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ err = prlimit(0, resource, nil, rlim) -+ if err != ENOSYS { -+ return err -+ } -+ -+ rl := rlimit32{} -+ err = getrlimit(resource, &rl) -+ if err != nil { -+ return -+ } -+ -+ if rl.Cur == rlimInf32 { -+ rlim.Cur = rlimInf64 -+ } else { -+ rlim.Cur = uint64(rl.Cur) -+ } -+ -+ if rl.Max == rlimInf32 { -+ rlim.Max = rlimInf64 -+ } else { -+ rlim.Max = uint64(rl.Max) -+ } -+ return -+} -+ -+//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ err = prlimit(0, resource, rlim, nil) -+ if err != ENOSYS { -+ return err -+ } -+ -+ rl := rlimit32{} -+ if rlim.Cur == rlimInf64 { -+ rl.Cur = rlimInf32 -+ } else if rlim.Cur < uint64(rlimInf32) { -+ rl.Cur = uint32(rlim.Cur) -+ } else { -+ return EINVAL -+ } -+ if rlim.Max == rlimInf64 { -+ rl.Max = rlimInf32 -+ } else if rlim.Max < uint64(rlimInf32) { -+ rl.Max = uint32(rlim.Max) -+ } else { -+ return EINVAL -+ } -+ -+ return setrlimit(resource, &rl) -+} -+ -+func (r *PtraceRegs) PC() uint64 { return uint64(r.Uregs[15]) } -+ -+func (r *PtraceRegs) SetPC(pc uint64) { r.Uregs[15] = uint32(pc) } -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint32(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) -+ -+func Poll(fds []PollFd, timeout int) (n int, err error) { -+ if len(fds) == 0 { -+ return poll(nil, 0, timeout) -+ } -+ return poll(&fds[0], len(fds), timeout) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go -new file mode 100644 -index 0000000..4a13639 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go -@@ -0,0 +1,190 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build arm64,linux -+ -+package unix -+ -+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) -+//sys Fstatfs(fd int, buf *Statfs_t) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (euid int) -+//sysnb Getgid() (gid int) -+//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Getuid() (uid int) -+//sys Listen(s int, n int) (err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -+//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS_PSELECT6 -+//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) -+//sys Setfsgid(gid int) (err error) -+//sys Setfsuid(uid int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sys Shutdown(fd int, how int) (err error) -+//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ return Fstatat(AT_FDCWD, path, stat, 0) -+} -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ return Fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW) -+} -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) -+} -+ -+//sys Statfs(path string, buf *Statfs_t) (err error) -+//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -+//sys Truncate(path string, length int64) (err error) -+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -+//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -+//sysnb setgroups(n int, list *_Gid_t) (err error) -+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -+//sysnb socket(domain int, typ int, proto int) (fd int, err error) -+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) -+ -+func Getpagesize() int { return 65536 } -+ -+//sysnb Gettimeofday(tv *Timeval) (err error) -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Sec = nsec / 1e9 -+ tv.Usec = nsec % 1e9 / 1e3 -+ return -+} -+ -+func Time(t *Time_t) (Time_t, error) { -+ var tv Timeval -+ err := Gettimeofday(&tv) -+ if err != nil { -+ return 0, err -+ } -+ if t != nil { -+ *t = Time_t(tv.Sec) -+ } -+ return Time_t(tv.Sec), nil -+} -+ -+func Utime(path string, buf *Utimbuf) error { -+ tv := []Timeval{ -+ {Sec: buf.Actime}, -+ {Sec: buf.Modtime}, -+ } -+ return Utimes(path, tv) -+} -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, 0) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sysnb pipe2(p *[2]_C_int, flags int) (err error) -+ -+func Pipe2(p []int, flags int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, flags) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+func (r *PtraceRegs) PC() uint64 { return r.Pc } -+ -+func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc } -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint64(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint64(length) -+} -+ -+func InotifyInit() (fd int, err error) { -+ return InotifyInit1(0) -+} -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ return Dup3(oldfd, newfd, 0) -+} -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall6(SYS_PPOLL, 0, 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// TODO(dfc): constants that should be in zsysnum_linux_arm64.go, remove -+// these when the deprecated syscalls that the syscall package relies on -+// are removed. -+const ( -+ SYS_GETPGRP = 1060 -+ SYS_UTIMES = 1037 -+ SYS_FUTIMESAT = 1066 -+ SYS_PAUSE = 1061 -+ SYS_USTAT = 1070 -+ SYS_UTIME = 1063 -+ SYS_LCHOWN = 1032 -+ SYS_TIME = 1062 -+ SYS_EPOLL_CREATE = 1042 -+ SYS_EPOLL_WAIT = 1069 -+) -+ -+func Poll(fds []PollFd, timeout int) (n int, err error) { -+ var ts *Timespec -+ if timeout >= 0 { -+ ts = new(Timespec) -+ *ts = NsecToTimespec(int64(timeout) * 1e6) -+ } -+ if len(fds) == 0 { -+ return ppoll(nil, 0, ts, nil) -+ } -+ return ppoll(&fds[0], len(fds), ts, nil) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go -new file mode 100644 -index 0000000..8119fde ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go -@@ -0,0 +1,208 @@ -+// Copyright 2015 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build linux -+// +build mips64 mips64le -+ -+package unix -+ -+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Fstatfs(fd int, buf *Statfs_t) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (euid int) -+//sysnb Getgid() (gid int) -+//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Getuid() (uid int) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Listen(s int, n int) (err error) -+//sys Pause() (err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -+//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS_PSELECT6 -+//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) -+//sys Setfsgid(gid int) (err error) -+//sys Setfsuid(uid int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sys Shutdown(fd int, how int) (err error) -+//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -+//sys Statfs(path string, buf *Statfs_t) (err error) -+//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -+//sys Truncate(path string, length int64) (err error) -+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -+//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -+//sysnb setgroups(n int, list *_Gid_t) (err error) -+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -+//sysnb socket(domain int, typ int, proto int) (fd int, err error) -+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) -+ -+func Getpagesize() int { return 65536 } -+ -+//sysnb Gettimeofday(tv *Timeval) (err error) -+ -+func Time(t *Time_t) (tt Time_t, err error) { -+ var tv Timeval -+ err = Gettimeofday(&tv) -+ if err != nil { -+ return 0, err -+ } -+ if t != nil { -+ *t = Time_t(tv.Sec) -+ } -+ return Time_t(tv.Sec), nil -+} -+ -+//sys Utime(path string, buf *Utimbuf) (err error) -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Sec = nsec / 1e9 -+ tv.Usec = nsec % 1e9 / 1e3 -+ return -+} -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, 0) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sysnb pipe2(p *[2]_C_int, flags int) (err error) -+ -+func Pipe2(p []int, flags int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, flags) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+func Ioperm(from int, num int, on int) (err error) { -+ return ENOSYS -+} -+ -+func Iopl(level int) (err error) { -+ return ENOSYS -+} -+ -+type stat_t struct { -+ Dev uint32 -+ Pad0 [3]int32 -+ Ino uint64 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint32 -+ Pad1 [3]uint32 -+ Size int64 -+ Atime uint32 -+ Atime_nsec uint32 -+ Mtime uint32 -+ Mtime_nsec uint32 -+ Ctime uint32 -+ Ctime_nsec uint32 -+ Blksize uint32 -+ Pad2 uint32 -+ Blocks int64 -+} -+ -+//sys fstat(fd int, st *stat_t) (err error) -+//sys lstat(path string, st *stat_t) (err error) -+//sys stat(path string, st *stat_t) (err error) -+ -+func Fstat(fd int, s *Stat_t) (err error) { -+ st := &stat_t{} -+ err = fstat(fd, st) -+ fillStat_t(s, st) -+ return -+} -+ -+func Lstat(path string, s *Stat_t) (err error) { -+ st := &stat_t{} -+ err = lstat(path, st) -+ fillStat_t(s, st) -+ return -+} -+ -+func Stat(path string, s *Stat_t) (err error) { -+ st := &stat_t{} -+ err = stat(path, st) -+ fillStat_t(s, st) -+ return -+} -+ -+func fillStat_t(s *Stat_t, st *stat_t) { -+ s.Dev = st.Dev -+ s.Ino = st.Ino -+ s.Mode = st.Mode -+ s.Nlink = st.Nlink -+ s.Uid = st.Uid -+ s.Gid = st.Gid -+ s.Rdev = st.Rdev -+ s.Size = st.Size -+ s.Atim = Timespec{int64(st.Atime), int64(st.Atime_nsec)} -+ s.Mtim = Timespec{int64(st.Mtime), int64(st.Mtime_nsec)} -+ s.Ctim = Timespec{int64(st.Ctime), int64(st.Ctime_nsec)} -+ s.Blksize = st.Blksize -+ s.Blocks = st.Blocks -+} -+ -+func (r *PtraceRegs) PC() uint64 { return r.Regs[64] } -+ -+func (r *PtraceRegs) SetPC(pc uint64) { r.Regs[64] = pc } -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint64(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint64(length) -+} -+ -+//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) -+ -+func Poll(fds []PollFd, timeout int) (n int, err error) { -+ if len(fds) == 0 { -+ return poll(nil, 0, timeout) -+ } -+ return poll(&fds[0], len(fds), timeout) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go -new file mode 100644 -index 0000000..be77d24 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go -@@ -0,0 +1,239 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build linux -+// +build mips mipsle -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) -+ -+//sys Dup2(oldfd int, newfd int) (err error) -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64 -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (euid int) -+//sysnb Getgid() (gid int) -+//sysnb Getuid() (uid int) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Listen(s int, n int) (err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS__NEWSELECT -+//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) = SYS_SENDFILE64 -+//sys Setfsgid(gid int) (err error) -+//sys Setfsuid(uid int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+ -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sys Shutdown(fd int, how int) (err error) -+//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -+ -+//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -+//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64 -+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -+//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -+//sysnb setgroups(n int, list *_Gid_t) (err error) -+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -+//sysnb socket(domain int, typ int, proto int) (fd int, err error) -+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -+ -+//sysnb InotifyInit() (fd int, err error) -+//sys Ioperm(from int, num int, on int) (err error) -+//sys Iopl(level int) (err error) -+ -+//sysnb Gettimeofday(tv *Timeval) (err error) -+//sysnb Time(t *Time_t) (tt Time_t, err error) -+ -+//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64 -+//sys Fstat(fd int, stat *Stat_t) (err error) = SYS_FSTAT64 -+//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64 -+ -+//sys Utime(path string, buf *Utimbuf) (err error) -+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -+//sys Pause() (err error) -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e := Syscall(SYS_FSTATFS64, uintptr(fd), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) -+ if e != 0 { -+ err = errnoErr(e) -+ } -+ return -+} -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ p, err := BytePtrFromString(path) -+ if err != nil { -+ return err -+ } -+ _, _, e := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(p)), unsafe.Sizeof(*buf), uintptr(unsafe.Pointer(buf))) -+ if e != 0 { -+ err = errnoErr(e) -+ } -+ return -+} -+ -+func Seek(fd int, offset int64, whence int) (off int64, err error) { -+ _, _, e := Syscall6(SYS__LLSEEK, uintptr(fd), uintptr(offset>>32), uintptr(offset), uintptr(unsafe.Pointer(&off)), uintptr(whence), 0) -+ if e != 0 { -+ err = errnoErr(e) -+ } -+ return -+} -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = int32(nsec / 1e9) -+ ts.Nsec = int32(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Sec = int32(nsec / 1e9) -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ return -+} -+ -+//sysnb pipe2(p *[2]_C_int, flags int) (err error) -+ -+func Pipe2(p []int, flags int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, flags) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, 0) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sys mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ page := uintptr(offset / 4096) -+ if offset != int64(page)*4096 { -+ return 0, EINVAL -+ } -+ return mmap2(addr, length, prot, flags, fd, page) -+} -+ -+const rlimInf32 = ^uint32(0) -+const rlimInf64 = ^uint64(0) -+ -+type rlimit32 struct { -+ Cur uint32 -+ Max uint32 -+} -+ -+//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ err = prlimit(0, resource, nil, rlim) -+ if err != ENOSYS { -+ return err -+ } -+ -+ rl := rlimit32{} -+ err = getrlimit(resource, &rl) -+ if err != nil { -+ return -+ } -+ -+ if rl.Cur == rlimInf32 { -+ rlim.Cur = rlimInf64 -+ } else { -+ rlim.Cur = uint64(rl.Cur) -+ } -+ -+ if rl.Max == rlimInf32 { -+ rlim.Max = rlimInf64 -+ } else { -+ rlim.Max = uint64(rl.Max) -+ } -+ return -+} -+ -+//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ err = prlimit(0, resource, rlim, nil) -+ if err != ENOSYS { -+ return err -+ } -+ -+ rl := rlimit32{} -+ if rlim.Cur == rlimInf64 { -+ rl.Cur = rlimInf32 -+ } else if rlim.Cur < uint64(rlimInf32) { -+ rl.Cur = uint32(rlim.Cur) -+ } else { -+ return EINVAL -+ } -+ if rlim.Max == rlimInf64 { -+ rl.Max = rlimInf32 -+ } else if rlim.Max < uint64(rlimInf32) { -+ rl.Max = uint32(rlim.Max) -+ } else { -+ return EINVAL -+ } -+ -+ return setrlimit(resource, &rl) -+} -+ -+func (r *PtraceRegs) PC() uint64 { return uint64(r.Regs[64]) } -+ -+func (r *PtraceRegs) SetPC(pc uint64) { r.Regs[64] = uint32(pc) } -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint32(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) -+ -+func Poll(fds []PollFd, timeout int) (n int, err error) { -+ if len(fds) == 0 { -+ return poll(nil, 0, timeout) -+ } -+ return poll(&fds[0], len(fds), timeout) -+} -+ -+func Getpagesize() int { return 4096 } -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go -new file mode 100644 -index 0000000..60770f6 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go -@@ -0,0 +1,135 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build linux -+// +build ppc64 ppc64le -+ -+package unix -+ -+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -+//sys Dup2(oldfd int, newfd int) (err error) -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Fstatfs(fd int, buf *Statfs_t) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (euid int) -+//sysnb Getgid() (gid int) -+//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = SYS_UGETRLIMIT -+//sysnb Getuid() (uid int) -+//sysnb InotifyInit() (fd int, err error) -+//sys Ioperm(from int, num int, on int) (err error) -+//sys Iopl(level int) (err error) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Listen(s int, n int) (err error) -+//sys Lstat(path string, stat *Stat_t) (err error) -+//sys Pause() (err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -+//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) -+//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) -+//sys Setfsgid(gid int) (err error) -+//sys Setfsuid(uid int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sys Shutdown(fd int, how int) (err error) -+//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -+//sys Stat(path string, stat *Stat_t) (err error) -+//sys Statfs(path string, buf *Statfs_t) (err error) -+//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) = SYS_SYNC_FILE_RANGE2 -+//sys Truncate(path string, length int64) (err error) -+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -+//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -+//sysnb setgroups(n int, list *_Gid_t) (err error) -+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -+//sysnb socket(domain int, typ int, proto int) (fd int, err error) -+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) -+ -+func Getpagesize() int { return 65536 } -+ -+//sysnb Gettimeofday(tv *Timeval) (err error) -+//sysnb Time(t *Time_t) (tt Time_t, err error) -+ -+//sys Utime(path string, buf *Utimbuf) (err error) -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Sec = nsec / 1e9 -+ tv.Usec = nsec % 1e9 / 1e3 -+ return -+} -+ -+func (r *PtraceRegs) PC() uint64 { return r.Nip } -+ -+func (r *PtraceRegs) SetPC(pc uint64) { r.Nip = pc } -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint64(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint64(length) -+} -+ -+//sysnb pipe(p *[2]_C_int) (err error) -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe(&pp) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sysnb pipe2(p *[2]_C_int, flags int) (err error) -+ -+func Pipe2(p []int, flags int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, flags) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) -+ -+func Poll(fds []PollFd, timeout int) (n int, err error) { -+ if len(fds) == 0 { -+ return poll(nil, 0, timeout) -+ } -+ return poll(&fds[0], len(fds), timeout) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go -new file mode 100644 -index 0000000..1708a4b ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go -@@ -0,0 +1,328 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build s390x,linux -+ -+package unix -+ -+import ( -+ "unsafe" -+) -+ -+//sys Dup2(oldfd int, newfd int) (err error) -+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -+//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Fstatfs(fd int, buf *Statfs_t) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (euid int) -+//sysnb Getgid() (gid int) -+//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Getuid() (uid int) -+//sysnb InotifyInit() (fd int, err error) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Lstat(path string, stat *Stat_t) (err error) -+//sys Pause() (err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -+//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) -+//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) -+//sys Setfsgid(gid int) (err error) -+//sys Setfsuid(uid int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -+//sys Stat(path string, stat *Stat_t) (err error) -+//sys Statfs(path string, buf *Statfs_t) (err error) -+//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -+//sys Truncate(path string, length int64) (err error) -+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -+//sysnb setgroups(n int, list *_Gid_t) (err error) -+ -+func Getpagesize() int { return 4096 } -+ -+//sysnb Gettimeofday(tv *Timeval) (err error) -+ -+func Time(t *Time_t) (tt Time_t, err error) { -+ var tv Timeval -+ err = Gettimeofday(&tv) -+ if err != nil { -+ return 0, err -+ } -+ if t != nil { -+ *t = Time_t(tv.Sec) -+ } -+ return Time_t(tv.Sec), nil -+} -+ -+//sys Utime(path string, buf *Utimbuf) (err error) -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Sec = nsec / 1e9 -+ tv.Usec = nsec % 1e9 / 1e3 -+ return -+} -+ -+//sysnb pipe2(p *[2]_C_int, flags int) (err error) -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, 0) // pipe2 is the same as pipe when flags are set to 0. -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+func Pipe2(p []int, flags int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, flags) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+func Ioperm(from int, num int, on int) (err error) { -+ return ENOSYS -+} -+ -+func Iopl(level int) (err error) { -+ return ENOSYS -+} -+ -+func (r *PtraceRegs) PC() uint64 { return r.Psw.Addr } -+ -+func (r *PtraceRegs) SetPC(pc uint64) { r.Psw.Addr = pc } -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint64(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint64(length) -+} -+ -+// Linux on s390x uses the old mmap interface, which requires arguments to be passed in a struct. -+// mmap2 also requires arguments to be passed in a struct; it is currently not exposed in . -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ mmap_args := [6]uintptr{addr, length, uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)} -+ r0, _, e1 := Syscall(SYS_MMAP, uintptr(unsafe.Pointer(&mmap_args[0])), 0, 0) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// On s390x Linux, all the socket calls go through an extra indirection. -+// The arguments to the underlying system call (SYS_SOCKETCALL) are the -+// number below and a pointer to an array of uintptr. -+const ( -+ // see linux/net.h -+ netSocket = 1 -+ netBind = 2 -+ netConnect = 3 -+ netListen = 4 -+ netAccept = 5 -+ netGetSockName = 6 -+ netGetPeerName = 7 -+ netSocketPair = 8 -+ netSend = 9 -+ netRecv = 10 -+ netSendTo = 11 -+ netRecvFrom = 12 -+ netShutdown = 13 -+ netSetSockOpt = 14 -+ netGetSockOpt = 15 -+ netSendMsg = 16 -+ netRecvMsg = 17 -+ netAccept4 = 18 -+ netRecvMMsg = 19 -+ netSendMMsg = 20 -+) -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (int, error) { -+ args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} -+ fd, _, err := Syscall(SYS_SOCKETCALL, netAccept, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return 0, err -+ } -+ return int(fd), nil -+} -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (int, error) { -+ args := [4]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags)} -+ fd, _, err := Syscall(SYS_SOCKETCALL, netAccept4, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return 0, err -+ } -+ return int(fd), nil -+} -+ -+func getsockname(s int, rsa *RawSockaddrAny, addrlen *_Socklen) error { -+ args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} -+ _, _, err := RawSyscall(SYS_SOCKETCALL, netGetSockName, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return err -+ } -+ return nil -+} -+ -+func getpeername(s int, rsa *RawSockaddrAny, addrlen *_Socklen) error { -+ args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))} -+ _, _, err := RawSyscall(SYS_SOCKETCALL, netGetPeerName, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return err -+ } -+ return nil -+} -+ -+func socketpair(domain int, typ int, flags int, fd *[2]int32) error { -+ args := [4]uintptr{uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd))} -+ _, _, err := RawSyscall(SYS_SOCKETCALL, netSocketPair, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return err -+ } -+ return nil -+} -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) error { -+ args := [3]uintptr{uintptr(s), uintptr(addr), uintptr(addrlen)} -+ _, _, err := Syscall(SYS_SOCKETCALL, netBind, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return err -+ } -+ return nil -+} -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) error { -+ args := [3]uintptr{uintptr(s), uintptr(addr), uintptr(addrlen)} -+ _, _, err := Syscall(SYS_SOCKETCALL, netConnect, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return err -+ } -+ return nil -+} -+ -+func socket(domain int, typ int, proto int) (int, error) { -+ args := [3]uintptr{uintptr(domain), uintptr(typ), uintptr(proto)} -+ fd, _, err := RawSyscall(SYS_SOCKETCALL, netSocket, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return 0, err -+ } -+ return int(fd), nil -+} -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) error { -+ args := [5]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen))} -+ _, _, err := Syscall(SYS_SOCKETCALL, netGetSockOpt, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return err -+ } -+ return nil -+} -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) error { -+ args := [4]uintptr{uintptr(s), uintptr(level), uintptr(name), uintptr(val)} -+ _, _, err := Syscall(SYS_SOCKETCALL, netSetSockOpt, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return err -+ } -+ return nil -+} -+ -+func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (int, error) { -+ var base uintptr -+ if len(p) > 0 { -+ base = uintptr(unsafe.Pointer(&p[0])) -+ } -+ args := [6]uintptr{uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))} -+ n, _, err := Syscall(SYS_SOCKETCALL, netRecvFrom, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return 0, err -+ } -+ return int(n), nil -+} -+ -+func sendto(s int, p []byte, flags int, to unsafe.Pointer, addrlen _Socklen) error { -+ var base uintptr -+ if len(p) > 0 { -+ base = uintptr(unsafe.Pointer(&p[0])) -+ } -+ args := [6]uintptr{uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(to), uintptr(addrlen)} -+ _, _, err := Syscall(SYS_SOCKETCALL, netSendTo, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return err -+ } -+ return nil -+} -+ -+func recvmsg(s int, msg *Msghdr, flags int) (int, error) { -+ args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)} -+ n, _, err := Syscall(SYS_SOCKETCALL, netRecvMsg, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return 0, err -+ } -+ return int(n), nil -+} -+ -+func sendmsg(s int, msg *Msghdr, flags int) (int, error) { -+ args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)} -+ n, _, err := Syscall(SYS_SOCKETCALL, netSendMsg, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return 0, err -+ } -+ return int(n), nil -+} -+ -+func Listen(s int, n int) error { -+ args := [2]uintptr{uintptr(s), uintptr(n)} -+ _, _, err := Syscall(SYS_SOCKETCALL, netListen, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return err -+ } -+ return nil -+} -+ -+func Shutdown(s, how int) error { -+ args := [2]uintptr{uintptr(s), uintptr(how)} -+ _, _, err := Syscall(SYS_SOCKETCALL, netShutdown, uintptr(unsafe.Pointer(&args)), 0) -+ if err != 0 { -+ return err -+ } -+ return nil -+} -+ -+//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) -+ -+func Poll(fds []PollFd, timeout int) (n int, err error) { -+ if len(fds) == 0 { -+ return poll(nil, 0, timeout) -+ } -+ return poll(&fds[0], len(fds), timeout) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go -new file mode 100644 -index 0000000..20b7454 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go -@@ -0,0 +1,169 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build sparc64,linux -+ -+package unix -+ -+import ( -+ "sync/atomic" -+ "syscall" -+) -+ -+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) -+//sys Dup2(oldfd int, newfd int) (err error) -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Fstatfs(fd int, buf *Statfs_t) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (euid int) -+//sysnb Getgid() (gid int) -+//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Getuid() (uid int) -+//sysnb InotifyInit() (fd int, err error) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Listen(s int, n int) (err error) -+//sys Lstat(path string, stat *Stat_t) (err error) -+//sys Pause() (err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -+//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -+//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) -+//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) -+//sys Setfsgid(gid int) (err error) -+//sys Setfsuid(uid int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sys Shutdown(fd int, how int) (err error) -+//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -+//sys Stat(path string, stat *Stat_t) (err error) -+//sys Statfs(path string, buf *Statfs_t) (err error) -+//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -+//sys Truncate(path string, length int64) (err error) -+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -+//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -+//sysnb setgroups(n int, list *_Gid_t) (err error) -+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -+//sysnb socket(domain int, typ int, proto int) (fd int, err error) -+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) -+ -+func sysconf(name int) (n int64, err syscall.Errno) -+ -+// pageSize caches the value of Getpagesize, since it can't change -+// once the system is booted. -+var pageSize int64 // accessed atomically -+ -+func Getpagesize() int { -+ n := atomic.LoadInt64(&pageSize) -+ if n == 0 { -+ n, _ = sysconf(_SC_PAGESIZE) -+ atomic.StoreInt64(&pageSize, n) -+ } -+ return int(n) -+} -+ -+func Ioperm(from int, num int, on int) (err error) { -+ return ENOSYS -+} -+ -+func Iopl(level int) (err error) { -+ return ENOSYS -+} -+ -+//sysnb Gettimeofday(tv *Timeval) (err error) -+ -+func Time(t *Time_t) (tt Time_t, err error) { -+ var tv Timeval -+ err = Gettimeofday(&tv) -+ if err != nil { -+ return 0, err -+ } -+ if t != nil { -+ *t = Time_t(tv.Sec) -+ } -+ return Time_t(tv.Sec), nil -+} -+ -+//sys Utime(path string, buf *Utimbuf) (err error) -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Sec = nsec / 1e9 -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ return -+} -+ -+func (r *PtraceRegs) PC() uint64 { return r.Tpc } -+ -+func (r *PtraceRegs) SetPC(pc uint64) { r.Tpc = pc } -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint64(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint64(length) -+} -+ -+//sysnb pipe(p *[2]_C_int) (err error) -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe(&pp) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sysnb pipe2(p *[2]_C_int, flags int) (err error) -+ -+func Pipe2(p []int, flags int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, flags) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error) -+ -+func Poll(fds []PollFd, timeout int) (n int, err error) { -+ if len(fds) == 0 { -+ return poll(nil, 0, timeout) -+ } -+ return poll(&fds[0], len(fds), timeout) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd.go b/vendor/golang.org/x/sys/unix/syscall_netbsd.go -new file mode 100644 -index 0000000..01f6a48 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd.go -@@ -0,0 +1,476 @@ -+// Copyright 2009,2010 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// NetBSD system calls. -+// This file is compiled as ordinary Go code, -+// but it is also input to mksyscall, -+// which parses the //sys lines and generates system call stubs. -+// Note that sometimes we use a lowercase //sys name and wrap -+// it in our own nicer implementation, either here or in -+// syscall_bsd.go or syscall_unix.go. -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+type SockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+ raw RawSockaddrDatalink -+} -+ -+func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) -+ -+func sysctlNodes(mib []_C_int) (nodes []Sysctlnode, err error) { -+ var olen uintptr -+ -+ // Get a list of all sysctl nodes below the given MIB by performing -+ // a sysctl for the given MIB with CTL_QUERY appended. -+ mib = append(mib, CTL_QUERY) -+ qnode := Sysctlnode{Flags: SYSCTL_VERS_1} -+ qp := (*byte)(unsafe.Pointer(&qnode)) -+ sz := unsafe.Sizeof(qnode) -+ if err = sysctl(mib, nil, &olen, qp, sz); err != nil { -+ return nil, err -+ } -+ -+ // Now that we know the size, get the actual nodes. -+ nodes = make([]Sysctlnode, olen/sz) -+ np := (*byte)(unsafe.Pointer(&nodes[0])) -+ if err = sysctl(mib, np, &olen, qp, sz); err != nil { -+ return nil, err -+ } -+ -+ return nodes, nil -+} -+ -+func nametomib(name string) (mib []_C_int, err error) { -+ -+ // Split name into components. -+ var parts []string -+ last := 0 -+ for i := 0; i < len(name); i++ { -+ if name[i] == '.' { -+ parts = append(parts, name[last:i]) -+ last = i + 1 -+ } -+ } -+ parts = append(parts, name[last:]) -+ -+ // Discover the nodes and construct the MIB OID. -+ for partno, part := range parts { -+ nodes, err := sysctlNodes(mib) -+ if err != nil { -+ return nil, err -+ } -+ for _, node := range nodes { -+ n := make([]byte, 0) -+ for i := range node.Name { -+ if node.Name[i] != 0 { -+ n = append(n, byte(node.Name[i])) -+ } -+ } -+ if string(n) == part { -+ mib = append(mib, _C_int(node.Num)) -+ break -+ } -+ } -+ if len(mib) != partno+1 { -+ return nil, EINVAL -+ } -+ } -+ -+ return mib, nil -+} -+ -+func direntIno(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) -+} -+ -+func direntReclen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) -+} -+ -+func direntNamlen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) -+} -+ -+//sysnb pipe() (fd1 int, fd2 int, err error) -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ p[0], p[1], err = pipe() -+ return -+} -+ -+//sys getdents(fd int, buf []byte) (n int, err error) -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ return getdents(fd, buf) -+} -+ -+// TODO -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ return -1, ENOSYS -+} -+ -+/* -+ * Exposed directly -+ */ -+//sys Access(path string, mode uint32) (err error) -+//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) -+//sys Chdir(path string) (err error) -+//sys Chflags(path string, flags int) (err error) -+//sys Chmod(path string, mode uint32) (err error) -+//sys Chown(path string, uid int, gid int) (err error) -+//sys Chroot(path string) (err error) -+//sys Close(fd int) (err error) -+//sys Dup(fd int) (nfd int, err error) -+//sys Dup2(from int, to int) (err error) -+//sys Exit(code int) -+//sys Fchdir(fd int) (err error) -+//sys Fchflags(fd int, flags int) (err error) -+//sys Fchmod(fd int, mode uint32) (err error) -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Flock(fd int, how int) (err error) -+//sys Fpathconf(fd int, name int) (val int, err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Fsync(fd int) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (uid int) -+//sysnb Getgid() (gid int) -+//sysnb Getpgid(pid int) (pgid int, err error) -+//sysnb Getpgrp() (pgrp int) -+//sysnb Getpid() (pid int) -+//sysnb Getppid() (ppid int) -+//sys Getpriority(which int, who int) (prio int, err error) -+//sysnb Getrlimit(which int, lim *Rlimit) (err error) -+//sysnb Getrusage(who int, rusage *Rusage) (err error) -+//sysnb Getsid(pid int) (sid int, err error) -+//sysnb Gettimeofday(tv *Timeval) (err error) -+//sysnb Getuid() (uid int) -+//sys Issetugid() (tainted bool) -+//sys Kill(pid int, signum syscall.Signal) (err error) -+//sys Kqueue() (fd int, err error) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Link(path string, link string) (err error) -+//sys Listen(s int, backlog int) (err error) -+//sys Lstat(path string, stat *Stat_t) (err error) -+//sys Mkdir(path string, mode uint32) (err error) -+//sys Mkfifo(path string, mode uint32) (err error) -+//sys Mknod(path string, mode uint32, dev int) (err error) -+//sys Mlock(b []byte) (err error) -+//sys Mlockall(flags int) (err error) -+//sys Mprotect(b []byte, prot int) (err error) -+//sys Munlock(b []byte) (err error) -+//sys Munlockall() (err error) -+//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) -+//sys Open(path string, mode int, perm uint32) (fd int, err error) -+//sys Pathconf(path string, name int) (val int, err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) -+//sys read(fd int, p []byte) (n int, err error) -+//sys Readlink(path string, buf []byte) (n int, err error) -+//sys Rename(from string, to string) (err error) -+//sys Revoke(path string) (err error) -+//sys Rmdir(path string) (err error) -+//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK -+//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) -+//sysnb Setegid(egid int) (err error) -+//sysnb Seteuid(euid int) (err error) -+//sysnb Setgid(gid int) (err error) -+//sysnb Setpgid(pid int, pgid int) (err error) -+//sys Setpriority(which int, who int, prio int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sysnb Setrlimit(which int, lim *Rlimit) (err error) -+//sysnb Setsid() (pid int, err error) -+//sysnb Settimeofday(tp *Timeval) (err error) -+//sysnb Setuid(uid int) (err error) -+//sys Stat(path string, stat *Stat_t) (err error) -+//sys Symlink(path string, link string) (err error) -+//sys Sync() (err error) -+//sys Truncate(path string, length int64) (err error) -+//sys Umask(newmask int) (oldmask int) -+//sys Unlink(path string) (err error) -+//sys Unmount(path string, flags int) (err error) -+//sys write(fd int, p []byte) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) -+//sys munmap(addr uintptr, length uintptr) (err error) -+//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ -+//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE -+ -+/* -+ * Unimplemented -+ */ -+// ____semctl13 -+// __clone -+// __fhopen40 -+// __fhstat40 -+// __fhstatvfs140 -+// __fstat30 -+// __getcwd -+// __getfh30 -+// __getlogin -+// __lstat30 -+// __mount50 -+// __msgctl13 -+// __msync13 -+// __ntp_gettime30 -+// __posix_chown -+// __posix_fadvise50 -+// __posix_fchown -+// __posix_lchown -+// __posix_rename -+// __setlogin -+// __shmctl13 -+// __sigaction_sigtramp -+// __sigaltstack14 -+// __sigpending14 -+// __sigprocmask14 -+// __sigsuspend14 -+// __sigtimedwait -+// __stat30 -+// __syscall -+// __vfork14 -+// _ksem_close -+// _ksem_destroy -+// _ksem_getvalue -+// _ksem_init -+// _ksem_open -+// _ksem_post -+// _ksem_trywait -+// _ksem_unlink -+// _ksem_wait -+// _lwp_continue -+// _lwp_create -+// _lwp_ctl -+// _lwp_detach -+// _lwp_exit -+// _lwp_getname -+// _lwp_getprivate -+// _lwp_kill -+// _lwp_park -+// _lwp_self -+// _lwp_setname -+// _lwp_setprivate -+// _lwp_suspend -+// _lwp_unpark -+// _lwp_unpark_all -+// _lwp_wait -+// _lwp_wakeup -+// _pset_bind -+// _sched_getaffinity -+// _sched_getparam -+// _sched_setaffinity -+// _sched_setparam -+// acct -+// aio_cancel -+// aio_error -+// aio_fsync -+// aio_read -+// aio_return -+// aio_suspend -+// aio_write -+// break -+// clock_getres -+// clock_gettime -+// clock_settime -+// compat_09_ogetdomainname -+// compat_09_osetdomainname -+// compat_09_ouname -+// compat_10_omsgsys -+// compat_10_osemsys -+// compat_10_oshmsys -+// compat_12_fstat12 -+// compat_12_getdirentries -+// compat_12_lstat12 -+// compat_12_msync -+// compat_12_oreboot -+// compat_12_oswapon -+// compat_12_stat12 -+// compat_13_sigaction13 -+// compat_13_sigaltstack13 -+// compat_13_sigpending13 -+// compat_13_sigprocmask13 -+// compat_13_sigreturn13 -+// compat_13_sigsuspend13 -+// compat_14___semctl -+// compat_14_msgctl -+// compat_14_shmctl -+// compat_16___sigaction14 -+// compat_16___sigreturn14 -+// compat_20_fhstatfs -+// compat_20_fstatfs -+// compat_20_getfsstat -+// compat_20_statfs -+// compat_30___fhstat30 -+// compat_30___fstat13 -+// compat_30___lstat13 -+// compat_30___stat13 -+// compat_30_fhopen -+// compat_30_fhstat -+// compat_30_fhstatvfs1 -+// compat_30_getdents -+// compat_30_getfh -+// compat_30_ntp_gettime -+// compat_30_socket -+// compat_40_mount -+// compat_43_fstat43 -+// compat_43_lstat43 -+// compat_43_oaccept -+// compat_43_ocreat -+// compat_43_oftruncate -+// compat_43_ogetdirentries -+// compat_43_ogetdtablesize -+// compat_43_ogethostid -+// compat_43_ogethostname -+// compat_43_ogetkerninfo -+// compat_43_ogetpagesize -+// compat_43_ogetpeername -+// compat_43_ogetrlimit -+// compat_43_ogetsockname -+// compat_43_okillpg -+// compat_43_olseek -+// compat_43_ommap -+// compat_43_oquota -+// compat_43_orecv -+// compat_43_orecvfrom -+// compat_43_orecvmsg -+// compat_43_osend -+// compat_43_osendmsg -+// compat_43_osethostid -+// compat_43_osethostname -+// compat_43_osetrlimit -+// compat_43_osigblock -+// compat_43_osigsetmask -+// compat_43_osigstack -+// compat_43_osigvec -+// compat_43_otruncate -+// compat_43_owait -+// compat_43_stat43 -+// execve -+// extattr_delete_fd -+// extattr_delete_file -+// extattr_delete_link -+// extattr_get_fd -+// extattr_get_file -+// extattr_get_link -+// extattr_list_fd -+// extattr_list_file -+// extattr_list_link -+// extattr_set_fd -+// extattr_set_file -+// extattr_set_link -+// extattrctl -+// fchroot -+// fdatasync -+// fgetxattr -+// fktrace -+// flistxattr -+// fork -+// fremovexattr -+// fsetxattr -+// fstatvfs1 -+// fsync_range -+// getcontext -+// getitimer -+// getvfsstat -+// getxattr -+// ioctl -+// ktrace -+// lchflags -+// lchmod -+// lfs_bmapv -+// lfs_markv -+// lfs_segclean -+// lfs_segwait -+// lgetxattr -+// lio_listio -+// listxattr -+// llistxattr -+// lremovexattr -+// lseek -+// lsetxattr -+// lutimes -+// madvise -+// mincore -+// minherit -+// modctl -+// mq_close -+// mq_getattr -+// mq_notify -+// mq_open -+// mq_receive -+// mq_send -+// mq_setattr -+// mq_timedreceive -+// mq_timedsend -+// mq_unlink -+// mremap -+// msgget -+// msgrcv -+// msgsnd -+// nfssvc -+// ntp_adjtime -+// pmc_control -+// pmc_get_info -+// poll -+// pollts -+// preadv -+// profil -+// pselect -+// pset_assign -+// pset_create -+// pset_destroy -+// ptrace -+// pwritev -+// quotactl -+// rasctl -+// readv -+// reboot -+// removexattr -+// sa_enable -+// sa_preempt -+// sa_register -+// sa_setconcurrency -+// sa_stacks -+// sa_yield -+// sbrk -+// sched_yield -+// semconfig -+// semget -+// semop -+// setcontext -+// setitimer -+// setxattr -+// shmat -+// shmdt -+// shmget -+// sstk -+// statvfs1 -+// swapctl -+// sysarch -+// syscall -+// timer_create -+// timer_delete -+// timer_getoverrun -+// timer_gettime -+// timer_settime -+// undelete -+// utrace -+// uuidgen -+// vadvise -+// vfork -+// writev -diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go -new file mode 100644 -index 0000000..afaca09 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go -@@ -0,0 +1,42 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build 386,netbsd -+ -+package unix -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = int64(nsec / 1e9) -+ ts.Nsec = int32(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ tv.Sec = int64(nsec / 1e9) -+ return -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint32(fd) -+ k.Filter = uint32(mode) -+ k.Flags = uint32(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint32(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go -new file mode 100644 -index 0000000..a6ff04c ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go -@@ -0,0 +1,42 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build amd64,netbsd -+ -+package unix -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = int64(nsec / 1e9) -+ ts.Nsec = int64(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ tv.Sec = int64(nsec / 1e9) -+ return -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint64(fd) -+ k.Filter = uint32(mode) -+ k.Flags = uint32(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go -new file mode 100644 -index 0000000..68a6969 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go -@@ -0,0 +1,42 @@ -+// Copyright 2013 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build arm,netbsd -+ -+package unix -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = int64(nsec / 1e9) -+ ts.Nsec = int32(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ tv.Sec = int64(nsec / 1e9) -+ return -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint32(fd) -+ k.Filter = uint32(mode) -+ k.Flags = uint32(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint32(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_no_getwd.go b/vendor/golang.org/x/sys/unix/syscall_no_getwd.go -new file mode 100644 -index 0000000..530792e ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_no_getwd.go -@@ -0,0 +1,11 @@ -+// Copyright 2013 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build dragonfly freebsd netbsd openbsd -+ -+package unix -+ -+const ImplementsGetwd = false -+ -+func Getwd() (string, error) { return "", ENOTSUP } -diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go -new file mode 100644 -index 0000000..c0d2b6c ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd.go -@@ -0,0 +1,287 @@ -+// Copyright 2009,2010 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// OpenBSD system calls. -+// This file is compiled as ordinary Go code, -+// but it is also input to mksyscall, -+// which parses the //sys lines and generates system call stubs. -+// Note that sometimes we use a lowercase //sys name and wrap -+// it in our own nicer implementation, either here or in -+// syscall_bsd.go or syscall_unix.go. -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+type SockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [24]int8 -+ raw RawSockaddrDatalink -+} -+ -+func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) -+ -+func nametomib(name string) (mib []_C_int, err error) { -+ -+ // Perform lookup via a binary search -+ left := 0 -+ right := len(sysctlMib) - 1 -+ for { -+ idx := left + (right-left)/2 -+ switch { -+ case name == sysctlMib[idx].ctlname: -+ return sysctlMib[idx].ctloid, nil -+ case name > sysctlMib[idx].ctlname: -+ left = idx + 1 -+ default: -+ right = idx - 1 -+ } -+ if left > right { -+ break -+ } -+ } -+ return nil, EINVAL -+} -+ -+func direntIno(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) -+} -+ -+func direntReclen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) -+} -+ -+func direntNamlen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) -+} -+ -+//sysnb pipe(p *[2]_C_int) (err error) -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe(&pp) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sys getdents(fd int, buf []byte) (n int, err error) -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ return getdents(fd, buf) -+} -+ -+// TODO -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ return -1, ENOSYS -+} -+ -+func Getfsstat(buf []Statfs_t, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ var bufsize uintptr -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf)) -+ } -+ r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+/* -+ * Exposed directly -+ */ -+//sys Access(path string, mode uint32) (err error) -+//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) -+//sys Chdir(path string) (err error) -+//sys Chflags(path string, flags int) (err error) -+//sys Chmod(path string, mode uint32) (err error) -+//sys Chown(path string, uid int, gid int) (err error) -+//sys Chroot(path string) (err error) -+//sys Close(fd int) (err error) -+//sys Dup(fd int) (nfd int, err error) -+//sys Dup2(from int, to int) (err error) -+//sys Exit(code int) -+//sys Fchdir(fd int) (err error) -+//sys Fchflags(fd int, flags int) (err error) -+//sys Fchmod(fd int, mode uint32) (err error) -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Flock(fd int, how int) (err error) -+//sys Fpathconf(fd int, name int) (val int, err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Fstatfs(fd int, stat *Statfs_t) (err error) -+//sys Fsync(fd int) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (uid int) -+//sysnb Getgid() (gid int) -+//sysnb Getpgid(pid int) (pgid int, err error) -+//sysnb Getpgrp() (pgrp int) -+//sysnb Getpid() (pid int) -+//sysnb Getppid() (ppid int) -+//sys Getpriority(which int, who int) (prio int, err error) -+//sysnb Getrlimit(which int, lim *Rlimit) (err error) -+//sysnb Getrusage(who int, rusage *Rusage) (err error) -+//sysnb Getsid(pid int) (sid int, err error) -+//sysnb Gettimeofday(tv *Timeval) (err error) -+//sysnb Getuid() (uid int) -+//sys Issetugid() (tainted bool) -+//sys Kill(pid int, signum syscall.Signal) (err error) -+//sys Kqueue() (fd int, err error) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Link(path string, link string) (err error) -+//sys Listen(s int, backlog int) (err error) -+//sys Lstat(path string, stat *Stat_t) (err error) -+//sys Mkdir(path string, mode uint32) (err error) -+//sys Mkfifo(path string, mode uint32) (err error) -+//sys Mknod(path string, mode uint32, dev int) (err error) -+//sys Mlock(b []byte) (err error) -+//sys Mlockall(flags int) (err error) -+//sys Mprotect(b []byte, prot int) (err error) -+//sys Munlock(b []byte) (err error) -+//sys Munlockall() (err error) -+//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) -+//sys Open(path string, mode int, perm uint32) (fd int, err error) -+//sys Pathconf(path string, name int) (val int, err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) -+//sys read(fd int, p []byte) (n int, err error) -+//sys Readlink(path string, buf []byte) (n int, err error) -+//sys Rename(from string, to string) (err error) -+//sys Revoke(path string) (err error) -+//sys Rmdir(path string) (err error) -+//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK -+//sys Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) -+//sysnb Setegid(egid int) (err error) -+//sysnb Seteuid(euid int) (err error) -+//sysnb Setgid(gid int) (err error) -+//sys Setlogin(name string) (err error) -+//sysnb Setpgid(pid int, pgid int) (err error) -+//sys Setpriority(which int, who int, prio int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+//sysnb Setrlimit(which int, lim *Rlimit) (err error) -+//sysnb Setsid() (pid int, err error) -+//sysnb Settimeofday(tp *Timeval) (err error) -+//sysnb Setuid(uid int) (err error) -+//sys Stat(path string, stat *Stat_t) (err error) -+//sys Statfs(path string, stat *Statfs_t) (err error) -+//sys Symlink(path string, link string) (err error) -+//sys Sync() (err error) -+//sys Truncate(path string, length int64) (err error) -+//sys Umask(newmask int) (oldmask int) -+//sys Unlink(path string) (err error) -+//sys Unmount(path string, flags int) (err error) -+//sys write(fd int, p []byte) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) -+//sys munmap(addr uintptr, length uintptr) (err error) -+//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ -+//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE -+ -+/* -+ * Unimplemented -+ */ -+// __getcwd -+// __semctl -+// __syscall -+// __sysctl -+// adjfreq -+// break -+// clock_getres -+// clock_gettime -+// clock_settime -+// closefrom -+// execve -+// faccessat -+// fchmodat -+// fchownat -+// fcntl -+// fhopen -+// fhstat -+// fhstatfs -+// fork -+// fstatat -+// futimens -+// getfh -+// getgid -+// getitimer -+// getlogin -+// getresgid -+// getresuid -+// getrtable -+// getthrid -+// ioctl -+// ktrace -+// lfs_bmapv -+// lfs_markv -+// lfs_segclean -+// lfs_segwait -+// linkat -+// mincore -+// minherit -+// mkdirat -+// mkfifoat -+// mknodat -+// mount -+// mquery -+// msgctl -+// msgget -+// msgrcv -+// msgsnd -+// nfssvc -+// nnpfspioctl -+// openat -+// poll -+// preadv -+// profil -+// pwritev -+// quotactl -+// readlinkat -+// readv -+// reboot -+// renameat -+// rfork -+// sched_yield -+// semget -+// semop -+// setgroups -+// setitimer -+// setrtable -+// setsockopt -+// shmat -+// shmctl -+// shmdt -+// shmget -+// sigaction -+// sigaltstack -+// sigpending -+// sigprocmask -+// sigreturn -+// sigsuspend -+// symlinkat -+// sysarch -+// syscall -+// threxit -+// thrsigdivert -+// thrsleep -+// thrwakeup -+// unlinkat -+// utimensat -+// vfork -+// writev -diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go -new file mode 100644 -index 0000000..a66ddc5 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go -@@ -0,0 +1,42 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build 386,openbsd -+ -+package unix -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = int64(nsec / 1e9) -+ ts.Nsec = int32(nsec % 1e9) -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = int32(nsec % 1e9 / 1e3) -+ tv.Sec = int64(nsec / 1e9) -+ return -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint32(fd) -+ k.Filter = int16(mode) -+ k.Flags = uint16(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint32(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go -new file mode 100644 -index 0000000..0776c1f ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go -@@ -0,0 +1,42 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build amd64,openbsd -+ -+package unix -+ -+func Getpagesize() int { return 4096 } -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = nsec % 1e9 / 1e3 -+ tv.Sec = nsec / 1e9 -+ return -+} -+ -+func SetKevent(k *Kevent_t, fd, mode, flags int) { -+ k.Ident = uint64(fd) -+ k.Filter = int16(mode) -+ k.Flags = uint16(flags) -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint32(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go -new file mode 100644 -index 0000000..3cb1d0b ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_solaris.go -@@ -0,0 +1,713 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// Solaris system calls. -+// This file is compiled as ordinary Go code, -+// but it is also input to mksyscall, -+// which parses the //sys lines and generates system call stubs. -+// Note that sometimes we use a lowercase //sys name and wrap -+// it in our own nicer implementation, either here or in -+// syscall_solaris.go or syscall_unix.go. -+ -+package unix -+ -+import ( -+ "sync/atomic" -+ "syscall" -+ "unsafe" -+) -+ -+// Implemented in runtime/syscall_solaris.go. -+type syscallFunc uintptr -+ -+func rawSysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) -+func sysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) -+ -+type SockaddrDatalink struct { -+ Family uint16 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [244]int8 -+ raw RawSockaddrDatalink -+} -+ -+func clen(n []byte) int { -+ for i := 0; i < len(n); i++ { -+ if n[i] == 0 { -+ return i -+ } -+ } -+ return len(n) -+} -+ -+func direntIno(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) -+} -+ -+func direntReclen(buf []byte) (uint64, bool) { -+ return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) -+} -+ -+func direntNamlen(buf []byte) (uint64, bool) { -+ reclen, ok := direntReclen(buf) -+ if !ok { -+ return 0, false -+ } -+ return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true -+} -+ -+//sysnb pipe(p *[2]_C_int) (n int, err error) -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ n, err := pipe(&pp) -+ if n != 0 { -+ return err -+ } -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return nil -+} -+ -+func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ if sa.Port < 0 || sa.Port > 0xFFFF { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Family = AF_INET -+ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) -+ p[0] = byte(sa.Port >> 8) -+ p[1] = byte(sa.Port) -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.raw.Addr[i] = sa.Addr[i] -+ } -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil -+} -+ -+func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ if sa.Port < 0 || sa.Port > 0xFFFF { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Family = AF_INET6 -+ p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port)) -+ p[0] = byte(sa.Port >> 8) -+ p[1] = byte(sa.Port) -+ sa.raw.Scope_id = sa.ZoneId -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.raw.Addr[i] = sa.Addr[i] -+ } -+ return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil -+} -+ -+func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) { -+ name := sa.Name -+ n := len(name) -+ if n >= len(sa.raw.Path) { -+ return nil, 0, EINVAL -+ } -+ sa.raw.Family = AF_UNIX -+ for i := 0; i < n; i++ { -+ sa.raw.Path[i] = int8(name[i]) -+ } -+ // length is family (uint16), name, NUL. -+ sl := _Socklen(2) -+ if n > 0 { -+ sl += _Socklen(n) + 1 -+ } -+ if sa.raw.Path[0] == '@' { -+ sa.raw.Path[0] = 0 -+ // Don't count trailing NUL for abstract address. -+ sl-- -+ } -+ -+ return unsafe.Pointer(&sa.raw), sl, nil -+} -+ -+//sys getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = libsocket.getsockname -+ -+func Getsockname(fd int) (sa Sockaddr, err error) { -+ var rsa RawSockaddrAny -+ var len _Socklen = SizeofSockaddrAny -+ if err = getsockname(fd, &rsa, &len); err != nil { -+ return -+ } -+ return anyToSockaddr(&rsa) -+} -+ -+const ImplementsGetwd = true -+ -+//sys Getcwd(buf []byte) (n int, err error) -+ -+func Getwd() (wd string, err error) { -+ var buf [PathMax]byte -+ // Getcwd will return an error if it failed for any reason. -+ _, err = Getcwd(buf[0:]) -+ if err != nil { -+ return "", err -+ } -+ n := clen(buf[:]) -+ if n < 1 { -+ return "", EINVAL -+ } -+ return string(buf[:n]), nil -+} -+ -+/* -+ * Wrapped -+ */ -+ -+//sysnb getgroups(ngid int, gid *_Gid_t) (n int, err error) -+//sysnb setgroups(ngid int, gid *_Gid_t) (err error) -+ -+func Getgroups() (gids []int, err error) { -+ n, err := getgroups(0, nil) -+ // Check for error and sanity check group count. Newer versions of -+ // Solaris allow up to 1024 (NGROUPS_MAX). -+ if n < 0 || n > 1024 { -+ if err != nil { -+ return nil, err -+ } -+ return nil, EINVAL -+ } else if n == 0 { -+ return nil, nil -+ } -+ -+ a := make([]_Gid_t, n) -+ n, err = getgroups(n, &a[0]) -+ if n == -1 { -+ return nil, err -+ } -+ gids = make([]int, n) -+ for i, v := range a[0:n] { -+ gids[i] = int(v) -+ } -+ return -+} -+ -+func Setgroups(gids []int) (err error) { -+ if len(gids) == 0 { -+ return setgroups(0, nil) -+ } -+ -+ a := make([]_Gid_t, len(gids)) -+ for i, v := range gids { -+ a[i] = _Gid_t(v) -+ } -+ return setgroups(len(a), &a[0]) -+} -+ -+func ReadDirent(fd int, buf []byte) (n int, err error) { -+ // Final argument is (basep *uintptr) and the syscall doesn't take nil. -+ // TODO(rsc): Can we use a single global basep for all calls? -+ return Getdents(fd, buf, new(uintptr)) -+} -+ -+// Wait status is 7 bits at bottom, either 0 (exited), -+// 0x7F (stopped), or a signal number that caused an exit. -+// The 0x80 bit is whether there was a core dump. -+// An extra number (exit code, signal causing a stop) -+// is in the high bits. -+ -+type WaitStatus uint32 -+ -+const ( -+ mask = 0x7F -+ core = 0x80 -+ shift = 8 -+ -+ exited = 0 -+ stopped = 0x7F -+) -+ -+func (w WaitStatus) Exited() bool { return w&mask == exited } -+ -+func (w WaitStatus) ExitStatus() int { -+ if w&mask != exited { -+ return -1 -+ } -+ return int(w >> shift) -+} -+ -+func (w WaitStatus) Signaled() bool { return w&mask != stopped && w&mask != 0 } -+ -+func (w WaitStatus) Signal() syscall.Signal { -+ sig := syscall.Signal(w & mask) -+ if sig == stopped || sig == 0 { -+ return -1 -+ } -+ return sig -+} -+ -+func (w WaitStatus) CoreDump() bool { return w.Signaled() && w&core != 0 } -+ -+func (w WaitStatus) Stopped() bool { return w&mask == stopped && syscall.Signal(w>>shift) != SIGSTOP } -+ -+func (w WaitStatus) Continued() bool { return w&mask == stopped && syscall.Signal(w>>shift) == SIGSTOP } -+ -+func (w WaitStatus) StopSignal() syscall.Signal { -+ if !w.Stopped() { -+ return -1 -+ } -+ return syscall.Signal(w>>shift) & 0xFF -+} -+ -+func (w WaitStatus) TrapCause() int { return -1 } -+ -+//sys wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error) -+ -+func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (int, error) { -+ var status _C_int -+ rpid, err := wait4(int32(pid), &status, options, rusage) -+ wpid := int(rpid) -+ if wpid == -1 { -+ return wpid, err -+ } -+ if wstatus != nil { -+ *wstatus = WaitStatus(status) -+ } -+ return wpid, nil -+} -+ -+//sys gethostname(buf []byte) (n int, err error) -+ -+func Gethostname() (name string, err error) { -+ var buf [MaxHostNameLen]byte -+ n, err := gethostname(buf[:]) -+ if n != 0 { -+ return "", err -+ } -+ n = clen(buf[:]) -+ if n < 1 { -+ return "", EFAULT -+ } -+ return string(buf[:n]), nil -+} -+ -+//sys utimes(path string, times *[2]Timeval) (err error) -+ -+func Utimes(path string, tv []Timeval) (err error) { -+ if tv == nil { -+ return utimes(path, nil) -+ } -+ if len(tv) != 2 { -+ return EINVAL -+ } -+ return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -+} -+ -+//sys utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) -+ -+func UtimesNano(path string, ts []Timespec) error { -+ if ts == nil { -+ return utimensat(AT_FDCWD, path, nil, 0) -+ } -+ if len(ts) != 2 { -+ return EINVAL -+ } -+ return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) -+} -+ -+func UtimesNanoAt(dirfd int, path string, ts []Timespec, flags int) error { -+ if ts == nil { -+ return utimensat(dirfd, path, nil, flags) -+ } -+ if len(ts) != 2 { -+ return EINVAL -+ } -+ return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), flags) -+} -+ -+//sys fcntl(fd int, cmd int, arg int) (val int, err error) -+ -+// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. -+func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(unsafe.Pointer(lk)), 0, 0, 0) -+ if e1 != 0 { -+ return e1 -+ } -+ return nil -+} -+ -+//sys futimesat(fildes int, path *byte, times *[2]Timeval) (err error) -+ -+func Futimesat(dirfd int, path string, tv []Timeval) error { -+ pathp, err := BytePtrFromString(path) -+ if err != nil { -+ return err -+ } -+ if tv == nil { -+ return futimesat(dirfd, pathp, nil) -+ } -+ if len(tv) != 2 { -+ return EINVAL -+ } -+ return futimesat(dirfd, pathp, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -+} -+ -+// Solaris doesn't have an futimes function because it allows NULL to be -+// specified as the path for futimesat. However, Go doesn't like -+// NULL-style string interfaces, so this simple wrapper is provided. -+func Futimes(fd int, tv []Timeval) error { -+ if tv == nil { -+ return futimesat(fd, nil, nil) -+ } -+ if len(tv) != 2 { -+ return EINVAL -+ } -+ return futimesat(fd, nil, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) -+} -+ -+func anyToSockaddr(rsa *RawSockaddrAny) (Sockaddr, error) { -+ switch rsa.Addr.Family { -+ case AF_UNIX: -+ pp := (*RawSockaddrUnix)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrUnix) -+ // Assume path ends at NUL. -+ // This is not technically the Solaris semantics for -+ // abstract Unix domain sockets -- they are supposed -+ // to be uninterpreted fixed-size binary blobs -- but -+ // everyone uses this convention. -+ n := 0 -+ for n < len(pp.Path) && pp.Path[n] != 0 { -+ n++ -+ } -+ bytes := (*[10000]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] -+ sa.Name = string(bytes) -+ return sa, nil -+ -+ case AF_INET: -+ pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrInet4) -+ p := (*[2]byte)(unsafe.Pointer(&pp.Port)) -+ sa.Port = int(p[0])<<8 + int(p[1]) -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.Addr[i] = pp.Addr[i] -+ } -+ return sa, nil -+ -+ case AF_INET6: -+ pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa)) -+ sa := new(SockaddrInet6) -+ p := (*[2]byte)(unsafe.Pointer(&pp.Port)) -+ sa.Port = int(p[0])<<8 + int(p[1]) -+ sa.ZoneId = pp.Scope_id -+ for i := 0; i < len(sa.Addr); i++ { -+ sa.Addr[i] = pp.Addr[i] -+ } -+ return sa, nil -+ } -+ return nil, EAFNOSUPPORT -+} -+ -+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) = libsocket.accept -+ -+func Accept(fd int) (nfd int, sa Sockaddr, err error) { -+ var rsa RawSockaddrAny -+ var len _Socklen = SizeofSockaddrAny -+ nfd, err = accept(fd, &rsa, &len) -+ if nfd == -1 { -+ return -+ } -+ sa, err = anyToSockaddr(&rsa) -+ if err != nil { -+ Close(nfd) -+ nfd = 0 -+ } -+ return -+} -+ -+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.recvmsg -+ -+func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) { -+ var msg Msghdr -+ var rsa RawSockaddrAny -+ msg.Name = (*byte)(unsafe.Pointer(&rsa)) -+ msg.Namelen = uint32(SizeofSockaddrAny) -+ var iov Iovec -+ if len(p) > 0 { -+ iov.Base = (*int8)(unsafe.Pointer(&p[0])) -+ iov.SetLen(len(p)) -+ } -+ var dummy int8 -+ if len(oob) > 0 { -+ // receive at least one normal byte -+ if len(p) == 0 { -+ iov.Base = &dummy -+ iov.SetLen(1) -+ } -+ msg.Accrights = (*int8)(unsafe.Pointer(&oob[0])) -+ } -+ msg.Iov = &iov -+ msg.Iovlen = 1 -+ if n, err = recvmsg(fd, &msg, flags); n == -1 { -+ return -+ } -+ oobn = int(msg.Accrightslen) -+ // source address is only specified if the socket is unconnected -+ if rsa.Addr.Family != AF_UNSPEC { -+ from, err = anyToSockaddr(&rsa) -+ } -+ return -+} -+ -+func Sendmsg(fd int, p, oob []byte, to Sockaddr, flags int) (err error) { -+ _, err = SendmsgN(fd, p, oob, to, flags) -+ return -+} -+ -+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = libsocket.sendmsg -+ -+func SendmsgN(fd int, p, oob []byte, to Sockaddr, flags int) (n int, err error) { -+ var ptr unsafe.Pointer -+ var salen _Socklen -+ if to != nil { -+ ptr, salen, err = to.sockaddr() -+ if err != nil { -+ return 0, err -+ } -+ } -+ var msg Msghdr -+ msg.Name = (*byte)(unsafe.Pointer(ptr)) -+ msg.Namelen = uint32(salen) -+ var iov Iovec -+ if len(p) > 0 { -+ iov.Base = (*int8)(unsafe.Pointer(&p[0])) -+ iov.SetLen(len(p)) -+ } -+ var dummy int8 -+ if len(oob) > 0 { -+ // send at least one normal byte -+ if len(p) == 0 { -+ iov.Base = &dummy -+ iov.SetLen(1) -+ } -+ msg.Accrights = (*int8)(unsafe.Pointer(&oob[0])) -+ } -+ msg.Iov = &iov -+ msg.Iovlen = 1 -+ if n, err = sendmsg(fd, &msg, flags); err != nil { -+ return 0, err -+ } -+ if len(oob) > 0 && len(p) == 0 { -+ n = 0 -+ } -+ return n, nil -+} -+ -+//sys acct(path *byte) (err error) -+ -+func Acct(path string) (err error) { -+ if len(path) == 0 { -+ // Assume caller wants to disable accounting. -+ return acct(nil) -+ } -+ -+ pathp, err := BytePtrFromString(path) -+ if err != nil { -+ return err -+ } -+ return acct(pathp) -+} -+ -+/* -+ * Expose the ioctl function -+ */ -+ -+//sys ioctl(fd int, req int, arg uintptr) (err error) -+ -+func IoctlSetInt(fd int, req int, value int) (err error) { -+ return ioctl(fd, req, uintptr(value)) -+} -+ -+func IoctlSetWinsize(fd int, req int, value *Winsize) (err error) { -+ return ioctl(fd, req, uintptr(unsafe.Pointer(value))) -+} -+ -+func IoctlSetTermios(fd int, req int, value *Termios) (err error) { -+ return ioctl(fd, req, uintptr(unsafe.Pointer(value))) -+} -+ -+func IoctlSetTermio(fd int, req int, value *Termio) (err error) { -+ return ioctl(fd, req, uintptr(unsafe.Pointer(value))) -+} -+ -+func IoctlGetInt(fd int, req int) (int, error) { -+ var value int -+ err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) -+ return value, err -+} -+ -+func IoctlGetWinsize(fd int, req int) (*Winsize, error) { -+ var value Winsize -+ err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) -+ return &value, err -+} -+ -+func IoctlGetTermios(fd int, req int) (*Termios, error) { -+ var value Termios -+ err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) -+ return &value, err -+} -+ -+func IoctlGetTermio(fd int, req int) (*Termio, error) { -+ var value Termio -+ err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) -+ return &value, err -+} -+ -+/* -+ * Exposed directly -+ */ -+//sys Access(path string, mode uint32) (err error) -+//sys Adjtime(delta *Timeval, olddelta *Timeval) (err error) -+//sys Chdir(path string) (err error) -+//sys Chmod(path string, mode uint32) (err error) -+//sys Chown(path string, uid int, gid int) (err error) -+//sys Chroot(path string) (err error) -+//sys Close(fd int) (err error) -+//sys Creat(path string, mode uint32) (fd int, err error) -+//sys Dup(fd int) (nfd int, err error) -+//sys Dup2(oldfd int, newfd int) (err error) -+//sys Exit(code int) -+//sys Fchdir(fd int) (err error) -+//sys Fchmod(fd int, mode uint32) (err error) -+//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) -+//sys Fdatasync(fd int) (err error) -+//sys Fpathconf(fd int, name int) (val int, err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) -+//sysnb Getgid() (gid int) -+//sysnb Getpid() (pid int) -+//sysnb Getpgid(pid int) (pgid int, err error) -+//sysnb Getpgrp() (pgid int, err error) -+//sys Geteuid() (euid int) -+//sys Getegid() (egid int) -+//sys Getppid() (ppid int) -+//sys Getpriority(which int, who int) (n int, err error) -+//sysnb Getrlimit(which int, lim *Rlimit) (err error) -+//sysnb Getrusage(who int, rusage *Rusage) (err error) -+//sysnb Gettimeofday(tv *Timeval) (err error) -+//sysnb Getuid() (uid int) -+//sys Kill(pid int, signum syscall.Signal) (err error) -+//sys Lchown(path string, uid int, gid int) (err error) -+//sys Link(path string, link string) (err error) -+//sys Listen(s int, backlog int) (err error) = libsocket.listen -+//sys Lstat(path string, stat *Stat_t) (err error) -+//sys Madvise(b []byte, advice int) (err error) -+//sys Mkdir(path string, mode uint32) (err error) -+//sys Mkdirat(dirfd int, path string, mode uint32) (err error) -+//sys Mkfifo(path string, mode uint32) (err error) -+//sys Mkfifoat(dirfd int, path string, mode uint32) (err error) -+//sys Mknod(path string, mode uint32, dev int) (err error) -+//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) -+//sys Mlock(b []byte) (err error) -+//sys Mlockall(flags int) (err error) -+//sys Mprotect(b []byte, prot int) (err error) -+//sys Munlock(b []byte) (err error) -+//sys Munlockall() (err error) -+//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) -+//sys Open(path string, mode int, perm uint32) (fd int, err error) -+//sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) -+//sys Pathconf(path string, name int) (val int, err error) -+//sys Pause() (err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) -+//sys read(fd int, p []byte) (n int, err error) -+//sys Readlink(path string, buf []byte) (n int, err error) -+//sys Rename(from string, to string) (err error) -+//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) -+//sys Rmdir(path string) (err error) -+//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = lseek -+//sysnb Setegid(egid int) (err error) -+//sysnb Seteuid(euid int) (err error) -+//sysnb Setgid(gid int) (err error) -+//sys Sethostname(p []byte) (err error) -+//sysnb Setpgid(pid int, pgid int) (err error) -+//sys Setpriority(which int, who int, prio int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sysnb Setrlimit(which int, lim *Rlimit) (err error) -+//sysnb Setsid() (pid int, err error) -+//sysnb Setuid(uid int) (err error) -+//sys Shutdown(s int, how int) (err error) = libsocket.shutdown -+//sys Stat(path string, stat *Stat_t) (err error) -+//sys Symlink(path string, link string) (err error) -+//sys Sync() (err error) -+//sysnb Times(tms *Tms) (ticks uintptr, err error) -+//sys Truncate(path string, length int64) (err error) -+//sys Fsync(fd int) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sys Umask(mask int) (oldmask int) -+//sysnb Uname(buf *Utsname) (err error) -+//sys Unmount(target string, flags int) (err error) = libc.umount -+//sys Unlink(path string) (err error) -+//sys Unlinkat(dirfd int, path string, flags int) (err error) -+//sys Ustat(dev int, ubuf *Ustat_t) (err error) -+//sys Utime(path string, buf *Utimbuf) (err error) -+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.bind -+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.connect -+//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) -+//sys munmap(addr uintptr, length uintptr) (err error) -+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.sendto -+//sys socket(domain int, typ int, proto int) (fd int, err error) = libsocket.socket -+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) = libsocket.socketpair -+//sys write(fd int, p []byte) (n int, err error) -+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) = libsocket.getsockopt -+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) = libsocket.getpeername -+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) = libsocket.setsockopt -+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) = libsocket.recvfrom -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procread)), 3, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf), 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwrite)), 3, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf), 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+var mapper = &mmapper{ -+ active: make(map[*byte][]byte), -+ mmap: mmap, -+ munmap: munmap, -+} -+ -+func Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { -+ return mapper.Mmap(fd, offset, length, prot, flags) -+} -+ -+func Munmap(b []byte) (err error) { -+ return mapper.Munmap(b) -+} -+ -+//sys sysconf(name int) (n int64, err error) -+ -+// pageSize caches the value of Getpagesize, since it can't change -+// once the system is booted. -+var pageSize int64 // accessed atomically -+ -+func Getpagesize() int { -+ n := atomic.LoadInt64(&pageSize) -+ if n == 0 { -+ n, _ = sysconf(_SC_PAGESIZE) -+ atomic.StoreInt64(&pageSize, n) -+ } -+ return int(n) -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go -new file mode 100644 -index 0000000..5aff62c ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go -@@ -0,0 +1,35 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build amd64,solaris -+ -+package unix -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Usec = nsec % 1e9 / 1e3 -+ tv.Sec = int64(nsec / 1e9) -+ return -+} -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint32(length) -+} -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ // TODO(aram): implement this, see issue 5847. -+ panic("unimplemented") -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_unix.go b/vendor/golang.org/x/sys/unix/syscall_unix.go -new file mode 100644 -index 0000000..8a5237d ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_unix.go -@@ -0,0 +1,292 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin dragonfly freebsd linux netbsd openbsd solaris -+ -+package unix -+ -+import ( -+ "runtime" -+ "sync" -+ "syscall" -+ "unsafe" -+) -+ -+var ( -+ Stdin = 0 -+ Stdout = 1 -+ Stderr = 2 -+) -+ -+const ( -+ darwin64Bit = runtime.GOOS == "darwin" && sizeofPtr == 8 -+ dragonfly64Bit = runtime.GOOS == "dragonfly" && sizeofPtr == 8 -+ netbsd32Bit = runtime.GOOS == "netbsd" && sizeofPtr == 4 -+) -+ -+// Do the interface allocations only once for common -+// Errno values. -+var ( -+ errEAGAIN error = syscall.EAGAIN -+ errEINVAL error = syscall.EINVAL -+ errENOENT error = syscall.ENOENT -+) -+ -+// errnoErr returns common boxed Errno values, to prevent -+// allocations at runtime. -+func errnoErr(e syscall.Errno) error { -+ switch e { -+ case 0: -+ return nil -+ case EAGAIN: -+ return errEAGAIN -+ case EINVAL: -+ return errEINVAL -+ case ENOENT: -+ return errENOENT -+ } -+ return e -+} -+ -+// Mmap manager, for use by operating system-specific implementations. -+ -+type mmapper struct { -+ sync.Mutex -+ active map[*byte][]byte // active mappings; key is last byte in mapping -+ mmap func(addr, length uintptr, prot, flags, fd int, offset int64) (uintptr, error) -+ munmap func(addr uintptr, length uintptr) error -+} -+ -+func (m *mmapper) Mmap(fd int, offset int64, length int, prot int, flags int) (data []byte, err error) { -+ if length <= 0 { -+ return nil, EINVAL -+ } -+ -+ // Map the requested memory. -+ addr, errno := m.mmap(0, uintptr(length), prot, flags, fd, offset) -+ if errno != nil { -+ return nil, errno -+ } -+ -+ // Slice memory layout -+ var sl = struct { -+ addr uintptr -+ len int -+ cap int -+ }{addr, length, length} -+ -+ // Use unsafe to turn sl into a []byte. -+ b := *(*[]byte)(unsafe.Pointer(&sl)) -+ -+ // Register mapping in m and return it. -+ p := &b[cap(b)-1] -+ m.Lock() -+ defer m.Unlock() -+ m.active[p] = b -+ return b, nil -+} -+ -+func (m *mmapper) Munmap(data []byte) (err error) { -+ if len(data) == 0 || len(data) != cap(data) { -+ return EINVAL -+ } -+ -+ // Find the base of the mapping. -+ p := &data[cap(data)-1] -+ m.Lock() -+ defer m.Unlock() -+ b := m.active[p] -+ if b == nil || &b[0] != &data[0] { -+ return EINVAL -+ } -+ -+ // Unmap the memory and update m. -+ if errno := m.munmap(uintptr(unsafe.Pointer(&b[0])), uintptr(len(b))); errno != nil { -+ return errno -+ } -+ delete(m.active, p) -+ return nil -+} -+ -+func Read(fd int, p []byte) (n int, err error) { -+ n, err = read(fd, p) -+ if raceenabled { -+ if n > 0 { -+ raceWriteRange(unsafe.Pointer(&p[0]), n) -+ } -+ if err == nil { -+ raceAcquire(unsafe.Pointer(&ioSync)) -+ } -+ } -+ return -+} -+ -+func Write(fd int, p []byte) (n int, err error) { -+ if raceenabled { -+ raceReleaseMerge(unsafe.Pointer(&ioSync)) -+ } -+ n, err = write(fd, p) -+ if raceenabled && n > 0 { -+ raceReadRange(unsafe.Pointer(&p[0]), n) -+ } -+ return -+} -+ -+// For testing: clients can set this flag to force -+// creation of IPv6 sockets to return EAFNOSUPPORT. -+var SocketDisableIPv6 bool -+ -+type Sockaddr interface { -+ sockaddr() (ptr unsafe.Pointer, len _Socklen, err error) // lowercase; only we can define Sockaddrs -+} -+ -+type SockaddrInet4 struct { -+ Port int -+ Addr [4]byte -+ raw RawSockaddrInet4 -+} -+ -+type SockaddrInet6 struct { -+ Port int -+ ZoneId uint32 -+ Addr [16]byte -+ raw RawSockaddrInet6 -+} -+ -+type SockaddrUnix struct { -+ Name string -+ raw RawSockaddrUnix -+} -+ -+func Bind(fd int, sa Sockaddr) (err error) { -+ ptr, n, err := sa.sockaddr() -+ if err != nil { -+ return err -+ } -+ return bind(fd, ptr, n) -+} -+ -+func Connect(fd int, sa Sockaddr) (err error) { -+ ptr, n, err := sa.sockaddr() -+ if err != nil { -+ return err -+ } -+ return connect(fd, ptr, n) -+} -+ -+func Getpeername(fd int) (sa Sockaddr, err error) { -+ var rsa RawSockaddrAny -+ var len _Socklen = SizeofSockaddrAny -+ if err = getpeername(fd, &rsa, &len); err != nil { -+ return -+ } -+ return anyToSockaddr(&rsa) -+} -+ -+func GetsockoptInt(fd, level, opt int) (value int, err error) { -+ var n int32 -+ vallen := _Socklen(4) -+ err = getsockopt(fd, level, opt, unsafe.Pointer(&n), &vallen) -+ return int(n), err -+} -+ -+func Recvfrom(fd int, p []byte, flags int) (n int, from Sockaddr, err error) { -+ var rsa RawSockaddrAny -+ var len _Socklen = SizeofSockaddrAny -+ if n, err = recvfrom(fd, p, flags, &rsa, &len); err != nil { -+ return -+ } -+ if rsa.Addr.Family != AF_UNSPEC { -+ from, err = anyToSockaddr(&rsa) -+ } -+ return -+} -+ -+func Sendto(fd int, p []byte, flags int, to Sockaddr) (err error) { -+ ptr, n, err := to.sockaddr() -+ if err != nil { -+ return err -+ } -+ return sendto(fd, p, flags, ptr, n) -+} -+ -+func SetsockoptByte(fd, level, opt int, value byte) (err error) { -+ return setsockopt(fd, level, opt, unsafe.Pointer(&value), 1) -+} -+ -+func SetsockoptInt(fd, level, opt int, value int) (err error) { -+ var n = int32(value) -+ return setsockopt(fd, level, opt, unsafe.Pointer(&n), 4) -+} -+ -+func SetsockoptInet4Addr(fd, level, opt int, value [4]byte) (err error) { -+ return setsockopt(fd, level, opt, unsafe.Pointer(&value[0]), 4) -+} -+ -+func SetsockoptIPMreq(fd, level, opt int, mreq *IPMreq) (err error) { -+ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPMreq) -+} -+ -+func SetsockoptIPv6Mreq(fd, level, opt int, mreq *IPv6Mreq) (err error) { -+ return setsockopt(fd, level, opt, unsafe.Pointer(mreq), SizeofIPv6Mreq) -+} -+ -+func SetsockoptICMPv6Filter(fd, level, opt int, filter *ICMPv6Filter) error { -+ return setsockopt(fd, level, opt, unsafe.Pointer(filter), SizeofICMPv6Filter) -+} -+ -+func SetsockoptLinger(fd, level, opt int, l *Linger) (err error) { -+ return setsockopt(fd, level, opt, unsafe.Pointer(l), SizeofLinger) -+} -+ -+func SetsockoptString(fd, level, opt int, s string) (err error) { -+ return setsockopt(fd, level, opt, unsafe.Pointer(&[]byte(s)[0]), uintptr(len(s))) -+} -+ -+func SetsockoptTimeval(fd, level, opt int, tv *Timeval) (err error) { -+ return setsockopt(fd, level, opt, unsafe.Pointer(tv), unsafe.Sizeof(*tv)) -+} -+ -+func Socket(domain, typ, proto int) (fd int, err error) { -+ if domain == AF_INET6 && SocketDisableIPv6 { -+ return -1, EAFNOSUPPORT -+ } -+ fd, err = socket(domain, typ, proto) -+ return -+} -+ -+func Socketpair(domain, typ, proto int) (fd [2]int, err error) { -+ var fdx [2]int32 -+ err = socketpair(domain, typ, proto, &fdx) -+ if err == nil { -+ fd[0] = int(fdx[0]) -+ fd[1] = int(fdx[1]) -+ } -+ return -+} -+ -+func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ if raceenabled { -+ raceReleaseMerge(unsafe.Pointer(&ioSync)) -+ } -+ return sendfile(outfd, infd, offset, count) -+} -+ -+var ioSync int64 -+ -+func CloseOnExec(fd int) { fcntl(fd, F_SETFD, FD_CLOEXEC) } -+ -+func SetNonblock(fd int, nonblocking bool) (err error) { -+ flag, err := fcntl(fd, F_GETFL, 0) -+ if err != nil { -+ return err -+ } -+ if nonblocking { -+ flag |= O_NONBLOCK -+ } else { -+ flag &= ^O_NONBLOCK -+ } -+ _, err = fcntl(fd, F_SETFL, flag) -+ return err -+} -diff --git a/vendor/golang.org/x/sys/unix/syscall_unix_gc.go b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go -new file mode 100644 -index 0000000..4cb8e8e ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go -@@ -0,0 +1,15 @@ -+// Copyright 2016 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build darwin dragonfly freebsd linux netbsd openbsd solaris -+// +build !gccgo -+ -+package unix -+ -+import "syscall" -+ -+func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) -+func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) -+func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) -+func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) -diff --git a/vendor/golang.org/x/sys/unix/types_darwin.go b/vendor/golang.org/x/sys/unix/types_darwin.go -new file mode 100644 -index 0000000..1153261 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/types_darwin.go -@@ -0,0 +1,250 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build ignore -+ -+/* -+Input to cgo -godefs. See also mkerrors.sh and mkall.sh -+*/ -+ -+// +godefs map struct_in_addr [4]byte /* in_addr */ -+// +godefs map struct_in6_addr [16]byte /* in6_addr */ -+ -+package unix -+ -+/* -+#define __DARWIN_UNIX03 0 -+#define KERNEL -+#define _DARWIN_USE_64_BIT_INODE -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+enum { -+ sizeofPtr = sizeof(void*), -+}; -+ -+union sockaddr_all { -+ struct sockaddr s1; // this one gets used for fields -+ struct sockaddr_in s2; // these pad it out -+ struct sockaddr_in6 s3; -+ struct sockaddr_un s4; -+ struct sockaddr_dl s5; -+}; -+ -+struct sockaddr_any { -+ struct sockaddr addr; -+ char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; -+}; -+ -+*/ -+import "C" -+ -+// Machine characteristics; for internal use. -+ -+const ( -+ sizeofPtr = C.sizeofPtr -+ sizeofShort = C.sizeof_short -+ sizeofInt = C.sizeof_int -+ sizeofLong = C.sizeof_long -+ sizeofLongLong = C.sizeof_longlong -+) -+ -+// Basic types -+ -+type ( -+ _C_short C.short -+ _C_int C.int -+ _C_long C.long -+ _C_long_long C.longlong -+) -+ -+// Time -+ -+type Timespec C.struct_timespec -+ -+type Timeval C.struct_timeval -+ -+type Timeval32 C.struct_timeval32 -+ -+// Processes -+ -+type Rusage C.struct_rusage -+ -+type Rlimit C.struct_rlimit -+ -+type _Gid_t C.gid_t -+ -+// Files -+ -+type Stat_t C.struct_stat64 -+ -+type Statfs_t C.struct_statfs64 -+ -+type Flock_t C.struct_flock -+ -+type Fstore_t C.struct_fstore -+ -+type Radvisory_t C.struct_radvisory -+ -+type Fbootstraptransfer_t C.struct_fbootstraptransfer -+ -+type Log2phys_t C.struct_log2phys -+ -+type Fsid C.struct_fsid -+ -+type Dirent C.struct_dirent -+ -+// Sockets -+ -+type RawSockaddrInet4 C.struct_sockaddr_in -+ -+type RawSockaddrInet6 C.struct_sockaddr_in6 -+ -+type RawSockaddrUnix C.struct_sockaddr_un -+ -+type RawSockaddrDatalink C.struct_sockaddr_dl -+ -+type RawSockaddr C.struct_sockaddr -+ -+type RawSockaddrAny C.struct_sockaddr_any -+ -+type _Socklen C.socklen_t -+ -+type Linger C.struct_linger -+ -+type Iovec C.struct_iovec -+ -+type IPMreq C.struct_ip_mreq -+ -+type IPv6Mreq C.struct_ipv6_mreq -+ -+type Msghdr C.struct_msghdr -+ -+type Cmsghdr C.struct_cmsghdr -+ -+type Inet4Pktinfo C.struct_in_pktinfo -+ -+type Inet6Pktinfo C.struct_in6_pktinfo -+ -+type IPv6MTUInfo C.struct_ip6_mtuinfo -+ -+type ICMPv6Filter C.struct_icmp6_filter -+ -+const ( -+ SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in -+ SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 -+ SizeofSockaddrAny = C.sizeof_struct_sockaddr_any -+ SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un -+ SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl -+ SizeofLinger = C.sizeof_struct_linger -+ SizeofIPMreq = C.sizeof_struct_ip_mreq -+ SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq -+ SizeofMsghdr = C.sizeof_struct_msghdr -+ SizeofCmsghdr = C.sizeof_struct_cmsghdr -+ SizeofInet4Pktinfo = C.sizeof_struct_in_pktinfo -+ SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo -+ SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo -+ SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter -+) -+ -+// Ptrace requests -+ -+const ( -+ PTRACE_TRACEME = C.PT_TRACE_ME -+ PTRACE_CONT = C.PT_CONTINUE -+ PTRACE_KILL = C.PT_KILL -+) -+ -+// Events (kqueue, kevent) -+ -+type Kevent_t C.struct_kevent -+ -+// Select -+ -+type FdSet C.fd_set -+ -+// Routing and interface messages -+ -+const ( -+ SizeofIfMsghdr = C.sizeof_struct_if_msghdr -+ SizeofIfData = C.sizeof_struct_if_data -+ SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr -+ SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr -+ SizeofIfmaMsghdr2 = C.sizeof_struct_ifma_msghdr2 -+ SizeofRtMsghdr = C.sizeof_struct_rt_msghdr -+ SizeofRtMetrics = C.sizeof_struct_rt_metrics -+) -+ -+type IfMsghdr C.struct_if_msghdr -+ -+type IfData C.struct_if_data -+ -+type IfaMsghdr C.struct_ifa_msghdr -+ -+type IfmaMsghdr C.struct_ifma_msghdr -+ -+type IfmaMsghdr2 C.struct_ifma_msghdr2 -+ -+type RtMsghdr C.struct_rt_msghdr -+ -+type RtMetrics C.struct_rt_metrics -+ -+// Berkeley packet filter -+ -+const ( -+ SizeofBpfVersion = C.sizeof_struct_bpf_version -+ SizeofBpfStat = C.sizeof_struct_bpf_stat -+ SizeofBpfProgram = C.sizeof_struct_bpf_program -+ SizeofBpfInsn = C.sizeof_struct_bpf_insn -+ SizeofBpfHdr = C.sizeof_struct_bpf_hdr -+) -+ -+type BpfVersion C.struct_bpf_version -+ -+type BpfStat C.struct_bpf_stat -+ -+type BpfProgram C.struct_bpf_program -+ -+type BpfInsn C.struct_bpf_insn -+ -+type BpfHdr C.struct_bpf_hdr -+ -+// Terminal handling -+ -+type Termios C.struct_termios -+ -+// fchmodat-like syscalls. -+ -+const ( -+ AT_FDCWD = C.AT_FDCWD -+ AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW -+) -diff --git a/vendor/golang.org/x/sys/unix/types_dragonfly.go b/vendor/golang.org/x/sys/unix/types_dragonfly.go -new file mode 100644 -index 0000000..f3c971d ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/types_dragonfly.go -@@ -0,0 +1,242 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build ignore -+ -+/* -+Input to cgo -godefs. See also mkerrors.sh and mkall.sh -+*/ -+ -+// +godefs map struct_in_addr [4]byte /* in_addr */ -+// +godefs map struct_in6_addr [16]byte /* in6_addr */ -+ -+package unix -+ -+/* -+#define KERNEL -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+enum { -+ sizeofPtr = sizeof(void*), -+}; -+ -+union sockaddr_all { -+ struct sockaddr s1; // this one gets used for fields -+ struct sockaddr_in s2; // these pad it out -+ struct sockaddr_in6 s3; -+ struct sockaddr_un s4; -+ struct sockaddr_dl s5; -+}; -+ -+struct sockaddr_any { -+ struct sockaddr addr; -+ char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; -+}; -+ -+*/ -+import "C" -+ -+// Machine characteristics; for internal use. -+ -+const ( -+ sizeofPtr = C.sizeofPtr -+ sizeofShort = C.sizeof_short -+ sizeofInt = C.sizeof_int -+ sizeofLong = C.sizeof_long -+ sizeofLongLong = C.sizeof_longlong -+) -+ -+// Basic types -+ -+type ( -+ _C_short C.short -+ _C_int C.int -+ _C_long C.long -+ _C_long_long C.longlong -+) -+ -+// Time -+ -+type Timespec C.struct_timespec -+ -+type Timeval C.struct_timeval -+ -+// Processes -+ -+type Rusage C.struct_rusage -+ -+type Rlimit C.struct_rlimit -+ -+type _Gid_t C.gid_t -+ -+// Files -+ -+const ( // Directory mode bits -+ S_IFMT = C.S_IFMT -+ S_IFIFO = C.S_IFIFO -+ S_IFCHR = C.S_IFCHR -+ S_IFDIR = C.S_IFDIR -+ S_IFBLK = C.S_IFBLK -+ S_IFREG = C.S_IFREG -+ S_IFLNK = C.S_IFLNK -+ S_IFSOCK = C.S_IFSOCK -+ S_ISUID = C.S_ISUID -+ S_ISGID = C.S_ISGID -+ S_ISVTX = C.S_ISVTX -+ S_IRUSR = C.S_IRUSR -+ S_IWUSR = C.S_IWUSR -+ S_IXUSR = C.S_IXUSR -+) -+ -+type Stat_t C.struct_stat -+ -+type Statfs_t C.struct_statfs -+ -+type Flock_t C.struct_flock -+ -+type Dirent C.struct_dirent -+ -+type Fsid C.struct_fsid -+ -+// Sockets -+ -+type RawSockaddrInet4 C.struct_sockaddr_in -+ -+type RawSockaddrInet6 C.struct_sockaddr_in6 -+ -+type RawSockaddrUnix C.struct_sockaddr_un -+ -+type RawSockaddrDatalink C.struct_sockaddr_dl -+ -+type RawSockaddr C.struct_sockaddr -+ -+type RawSockaddrAny C.struct_sockaddr_any -+ -+type _Socklen C.socklen_t -+ -+type Linger C.struct_linger -+ -+type Iovec C.struct_iovec -+ -+type IPMreq C.struct_ip_mreq -+ -+type IPv6Mreq C.struct_ipv6_mreq -+ -+type Msghdr C.struct_msghdr -+ -+type Cmsghdr C.struct_cmsghdr -+ -+type Inet6Pktinfo C.struct_in6_pktinfo -+ -+type IPv6MTUInfo C.struct_ip6_mtuinfo -+ -+type ICMPv6Filter C.struct_icmp6_filter -+ -+const ( -+ SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in -+ SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 -+ SizeofSockaddrAny = C.sizeof_struct_sockaddr_any -+ SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un -+ SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl -+ SizeofLinger = C.sizeof_struct_linger -+ SizeofIPMreq = C.sizeof_struct_ip_mreq -+ SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq -+ SizeofMsghdr = C.sizeof_struct_msghdr -+ SizeofCmsghdr = C.sizeof_struct_cmsghdr -+ SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo -+ SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo -+ SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter -+) -+ -+// Ptrace requests -+ -+const ( -+ PTRACE_TRACEME = C.PT_TRACE_ME -+ PTRACE_CONT = C.PT_CONTINUE -+ PTRACE_KILL = C.PT_KILL -+) -+ -+// Events (kqueue, kevent) -+ -+type Kevent_t C.struct_kevent -+ -+// Select -+ -+type FdSet C.fd_set -+ -+// Routing and interface messages -+ -+const ( -+ SizeofIfMsghdr = C.sizeof_struct_if_msghdr -+ SizeofIfData = C.sizeof_struct_if_data -+ SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr -+ SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr -+ SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr -+ SizeofRtMsghdr = C.sizeof_struct_rt_msghdr -+ SizeofRtMetrics = C.sizeof_struct_rt_metrics -+) -+ -+type IfMsghdr C.struct_if_msghdr -+ -+type IfData C.struct_if_data -+ -+type IfaMsghdr C.struct_ifa_msghdr -+ -+type IfmaMsghdr C.struct_ifma_msghdr -+ -+type IfAnnounceMsghdr C.struct_if_announcemsghdr -+ -+type RtMsghdr C.struct_rt_msghdr -+ -+type RtMetrics C.struct_rt_metrics -+ -+// Berkeley packet filter -+ -+const ( -+ SizeofBpfVersion = C.sizeof_struct_bpf_version -+ SizeofBpfStat = C.sizeof_struct_bpf_stat -+ SizeofBpfProgram = C.sizeof_struct_bpf_program -+ SizeofBpfInsn = C.sizeof_struct_bpf_insn -+ SizeofBpfHdr = C.sizeof_struct_bpf_hdr -+) -+ -+type BpfVersion C.struct_bpf_version -+ -+type BpfStat C.struct_bpf_stat -+ -+type BpfProgram C.struct_bpf_program -+ -+type BpfInsn C.struct_bpf_insn -+ -+type BpfHdr C.struct_bpf_hdr -+ -+// Terminal handling -+ -+type Termios C.struct_termios -diff --git a/vendor/golang.org/x/sys/unix/types_freebsd.go b/vendor/golang.org/x/sys/unix/types_freebsd.go -new file mode 100644 -index 0000000..ae24557 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/types_freebsd.go -@@ -0,0 +1,353 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build ignore -+ -+/* -+Input to cgo -godefs. See also mkerrors.sh and mkall.sh -+*/ -+ -+// +godefs map struct_in_addr [4]byte /* in_addr */ -+// +godefs map struct_in6_addr [16]byte /* in6_addr */ -+ -+package unix -+ -+/* -+#define KERNEL -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+enum { -+ sizeofPtr = sizeof(void*), -+}; -+ -+union sockaddr_all { -+ struct sockaddr s1; // this one gets used for fields -+ struct sockaddr_in s2; // these pad it out -+ struct sockaddr_in6 s3; -+ struct sockaddr_un s4; -+ struct sockaddr_dl s5; -+}; -+ -+struct sockaddr_any { -+ struct sockaddr addr; -+ char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; -+}; -+ -+// This structure is a duplicate of stat on FreeBSD 8-STABLE. -+// See /usr/include/sys/stat.h. -+struct stat8 { -+#undef st_atimespec st_atim -+#undef st_mtimespec st_mtim -+#undef st_ctimespec st_ctim -+#undef st_birthtimespec st_birthtim -+ __dev_t st_dev; -+ ino_t st_ino; -+ mode_t st_mode; -+ nlink_t st_nlink; -+ uid_t st_uid; -+ gid_t st_gid; -+ __dev_t st_rdev; -+#if __BSD_VISIBLE -+ struct timespec st_atimespec; -+ struct timespec st_mtimespec; -+ struct timespec st_ctimespec; -+#else -+ time_t st_atime; -+ long __st_atimensec; -+ time_t st_mtime; -+ long __st_mtimensec; -+ time_t st_ctime; -+ long __st_ctimensec; -+#endif -+ off_t st_size; -+ blkcnt_t st_blocks; -+ blksize_t st_blksize; -+ fflags_t st_flags; -+ __uint32_t st_gen; -+ __int32_t st_lspare; -+#if __BSD_VISIBLE -+ struct timespec st_birthtimespec; -+ unsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec)); -+ unsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec)); -+#else -+ time_t st_birthtime; -+ long st_birthtimensec; -+ unsigned int :(8 / 2) * (16 - (int)sizeof(struct __timespec)); -+ unsigned int :(8 / 2) * (16 - (int)sizeof(struct __timespec)); -+#endif -+}; -+ -+// This structure is a duplicate of if_data on FreeBSD 8-STABLE. -+// See /usr/include/net/if.h. -+struct if_data8 { -+ u_char ifi_type; -+ u_char ifi_physical; -+ u_char ifi_addrlen; -+ u_char ifi_hdrlen; -+ u_char ifi_link_state; -+ u_char ifi_spare_char1; -+ u_char ifi_spare_char2; -+ u_char ifi_datalen; -+ u_long ifi_mtu; -+ u_long ifi_metric; -+ u_long ifi_baudrate; -+ u_long ifi_ipackets; -+ u_long ifi_ierrors; -+ u_long ifi_opackets; -+ u_long ifi_oerrors; -+ u_long ifi_collisions; -+ u_long ifi_ibytes; -+ u_long ifi_obytes; -+ u_long ifi_imcasts; -+ u_long ifi_omcasts; -+ u_long ifi_iqdrops; -+ u_long ifi_noproto; -+ u_long ifi_hwassist; -+ time_t ifi_epoch; -+ struct timeval ifi_lastchange; -+}; -+ -+// This structure is a duplicate of if_msghdr on FreeBSD 8-STABLE. -+// See /usr/include/net/if.h. -+struct if_msghdr8 { -+ u_short ifm_msglen; -+ u_char ifm_version; -+ u_char ifm_type; -+ int ifm_addrs; -+ int ifm_flags; -+ u_short ifm_index; -+ struct if_data8 ifm_data; -+}; -+*/ -+import "C" -+ -+// Machine characteristics; for internal use. -+ -+const ( -+ sizeofPtr = C.sizeofPtr -+ sizeofShort = C.sizeof_short -+ sizeofInt = C.sizeof_int -+ sizeofLong = C.sizeof_long -+ sizeofLongLong = C.sizeof_longlong -+) -+ -+// Basic types -+ -+type ( -+ _C_short C.short -+ _C_int C.int -+ _C_long C.long -+ _C_long_long C.longlong -+) -+ -+// Time -+ -+type Timespec C.struct_timespec -+ -+type Timeval C.struct_timeval -+ -+// Processes -+ -+type Rusage C.struct_rusage -+ -+type Rlimit C.struct_rlimit -+ -+type _Gid_t C.gid_t -+ -+// Files -+ -+const ( // Directory mode bits -+ S_IFMT = C.S_IFMT -+ S_IFIFO = C.S_IFIFO -+ S_IFCHR = C.S_IFCHR -+ S_IFDIR = C.S_IFDIR -+ S_IFBLK = C.S_IFBLK -+ S_IFREG = C.S_IFREG -+ S_IFLNK = C.S_IFLNK -+ S_IFSOCK = C.S_IFSOCK -+ S_ISUID = C.S_ISUID -+ S_ISGID = C.S_ISGID -+ S_ISVTX = C.S_ISVTX -+ S_IRUSR = C.S_IRUSR -+ S_IWUSR = C.S_IWUSR -+ S_IXUSR = C.S_IXUSR -+) -+ -+type Stat_t C.struct_stat8 -+ -+type Statfs_t C.struct_statfs -+ -+type Flock_t C.struct_flock -+ -+type Dirent C.struct_dirent -+ -+type Fsid C.struct_fsid -+ -+// Advice to Fadvise -+ -+const ( -+ FADV_NORMAL = C.POSIX_FADV_NORMAL -+ FADV_RANDOM = C.POSIX_FADV_RANDOM -+ FADV_SEQUENTIAL = C.POSIX_FADV_SEQUENTIAL -+ FADV_WILLNEED = C.POSIX_FADV_WILLNEED -+ FADV_DONTNEED = C.POSIX_FADV_DONTNEED -+ FADV_NOREUSE = C.POSIX_FADV_NOREUSE -+) -+ -+// Sockets -+ -+type RawSockaddrInet4 C.struct_sockaddr_in -+ -+type RawSockaddrInet6 C.struct_sockaddr_in6 -+ -+type RawSockaddrUnix C.struct_sockaddr_un -+ -+type RawSockaddrDatalink C.struct_sockaddr_dl -+ -+type RawSockaddr C.struct_sockaddr -+ -+type RawSockaddrAny C.struct_sockaddr_any -+ -+type _Socklen C.socklen_t -+ -+type Linger C.struct_linger -+ -+type Iovec C.struct_iovec -+ -+type IPMreq C.struct_ip_mreq -+ -+type IPMreqn C.struct_ip_mreqn -+ -+type IPv6Mreq C.struct_ipv6_mreq -+ -+type Msghdr C.struct_msghdr -+ -+type Cmsghdr C.struct_cmsghdr -+ -+type Inet6Pktinfo C.struct_in6_pktinfo -+ -+type IPv6MTUInfo C.struct_ip6_mtuinfo -+ -+type ICMPv6Filter C.struct_icmp6_filter -+ -+const ( -+ SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in -+ SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 -+ SizeofSockaddrAny = C.sizeof_struct_sockaddr_any -+ SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un -+ SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl -+ SizeofLinger = C.sizeof_struct_linger -+ SizeofIPMreq = C.sizeof_struct_ip_mreq -+ SizeofIPMreqn = C.sizeof_struct_ip_mreqn -+ SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq -+ SizeofMsghdr = C.sizeof_struct_msghdr -+ SizeofCmsghdr = C.sizeof_struct_cmsghdr -+ SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo -+ SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo -+ SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter -+) -+ -+// Ptrace requests -+ -+const ( -+ PTRACE_TRACEME = C.PT_TRACE_ME -+ PTRACE_CONT = C.PT_CONTINUE -+ PTRACE_KILL = C.PT_KILL -+) -+ -+// Events (kqueue, kevent) -+ -+type Kevent_t C.struct_kevent -+ -+// Select -+ -+type FdSet C.fd_set -+ -+// Routing and interface messages -+ -+const ( -+ sizeofIfMsghdr = C.sizeof_struct_if_msghdr -+ SizeofIfMsghdr = C.sizeof_struct_if_msghdr8 -+ sizeofIfData = C.sizeof_struct_if_data -+ SizeofIfData = C.sizeof_struct_if_data8 -+ SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr -+ SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr -+ SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr -+ SizeofRtMsghdr = C.sizeof_struct_rt_msghdr -+ SizeofRtMetrics = C.sizeof_struct_rt_metrics -+) -+ -+type ifMsghdr C.struct_if_msghdr -+ -+type IfMsghdr C.struct_if_msghdr8 -+ -+type ifData C.struct_if_data -+ -+type IfData C.struct_if_data8 -+ -+type IfaMsghdr C.struct_ifa_msghdr -+ -+type IfmaMsghdr C.struct_ifma_msghdr -+ -+type IfAnnounceMsghdr C.struct_if_announcemsghdr -+ -+type RtMsghdr C.struct_rt_msghdr -+ -+type RtMetrics C.struct_rt_metrics -+ -+// Berkeley packet filter -+ -+const ( -+ SizeofBpfVersion = C.sizeof_struct_bpf_version -+ SizeofBpfStat = C.sizeof_struct_bpf_stat -+ SizeofBpfZbuf = C.sizeof_struct_bpf_zbuf -+ SizeofBpfProgram = C.sizeof_struct_bpf_program -+ SizeofBpfInsn = C.sizeof_struct_bpf_insn -+ SizeofBpfHdr = C.sizeof_struct_bpf_hdr -+ SizeofBpfZbufHeader = C.sizeof_struct_bpf_zbuf_header -+) -+ -+type BpfVersion C.struct_bpf_version -+ -+type BpfStat C.struct_bpf_stat -+ -+type BpfZbuf C.struct_bpf_zbuf -+ -+type BpfProgram C.struct_bpf_program -+ -+type BpfInsn C.struct_bpf_insn -+ -+type BpfHdr C.struct_bpf_hdr -+ -+type BpfZbufHeader C.struct_bpf_zbuf_header -+ -+// Terminal handling -+ -+type Termios C.struct_termios -diff --git a/vendor/golang.org/x/sys/unix/types_linux.go b/vendor/golang.org/x/sys/unix/types_linux.go -new file mode 100644 -index 0000000..ae79779 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/types_linux.go -@@ -0,0 +1,469 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build ignore -+ -+/* -+Input to cgo -godefs. See also mkerrors.sh and mkall.sh -+*/ -+ -+// +godefs map struct_in_addr [4]byte /* in_addr */ -+// +godefs map struct_in6_addr [16]byte /* in6_addr */ -+ -+package unix -+ -+/* -+#define _LARGEFILE_SOURCE -+#define _LARGEFILE64_SOURCE -+#define _FILE_OFFSET_BITS 64 -+#define _GNU_SOURCE -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#ifdef TCSETS2 -+// On systems that have "struct termios2" use this as type Termios. -+typedef struct termios2 termios_t; -+#else -+typedef struct termios termios_t; -+#endif -+ -+enum { -+ sizeofPtr = sizeof(void*), -+}; -+ -+union sockaddr_all { -+ struct sockaddr s1; // this one gets used for fields -+ struct sockaddr_in s2; // these pad it out -+ struct sockaddr_in6 s3; -+ struct sockaddr_un s4; -+ struct sockaddr_ll s5; -+ struct sockaddr_nl s6; -+}; -+ -+struct sockaddr_any { -+ struct sockaddr addr; -+ char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; -+}; -+ -+// copied from /usr/include/linux/un.h -+struct my_sockaddr_un { -+ sa_family_t sun_family; -+#if defined(__ARM_EABI__) || defined(__powerpc64__) -+ // on ARM char is by default unsigned -+ signed char sun_path[108]; -+#else -+ char sun_path[108]; -+#endif -+}; -+ -+#ifdef __ARM_EABI__ -+typedef struct user_regs PtraceRegs; -+#elif defined(__aarch64__) -+typedef struct user_pt_regs PtraceRegs; -+#elif defined(__powerpc64__) -+typedef struct pt_regs PtraceRegs; -+#elif defined(__mips__) -+typedef struct user PtraceRegs; -+#elif defined(__s390x__) -+typedef struct _user_regs_struct PtraceRegs; -+#elif defined(__sparc__) -+#include -+typedef struct pt_regs PtraceRegs; -+#else -+typedef struct user_regs_struct PtraceRegs; -+#endif -+ -+#if defined(__s390x__) -+typedef struct _user_psw_struct ptracePsw; -+typedef struct _user_fpregs_struct ptraceFpregs; -+typedef struct _user_per_struct ptracePer; -+#else -+typedef struct {} ptracePsw; -+typedef struct {} ptraceFpregs; -+typedef struct {} ptracePer; -+#endif -+ -+// The real epoll_event is a union, and godefs doesn't handle it well. -+struct my_epoll_event { -+ uint32_t events; -+#if defined(__ARM_EABI__) || defined(__aarch64__) || (defined(__mips__) && _MIPS_SIM == _ABIO32) -+ // padding is not specified in linux/eventpoll.h but added to conform to the -+ // alignment requirements of EABI -+ int32_t padFd; -+#elif defined(__powerpc64__) || defined(__s390x__) || defined(__sparc__) -+ int32_t _padFd; -+#endif -+ int32_t fd; -+ int32_t pad; -+}; -+ -+*/ -+import "C" -+ -+// Machine characteristics; for internal use. -+ -+const ( -+ sizeofPtr = C.sizeofPtr -+ sizeofShort = C.sizeof_short -+ sizeofInt = C.sizeof_int -+ sizeofLong = C.sizeof_long -+ sizeofLongLong = C.sizeof_longlong -+ PathMax = C.PATH_MAX -+) -+ -+// Basic types -+ -+type ( -+ _C_short C.short -+ _C_int C.int -+ _C_long C.long -+ _C_long_long C.longlong -+) -+ -+// Time -+ -+type Timespec C.struct_timespec -+ -+type Timeval C.struct_timeval -+ -+type Timex C.struct_timex -+ -+type Time_t C.time_t -+ -+type Tms C.struct_tms -+ -+type Utimbuf C.struct_utimbuf -+ -+// Processes -+ -+type Rusage C.struct_rusage -+ -+type Rlimit C.struct_rlimit -+ -+type _Gid_t C.gid_t -+ -+// Files -+ -+type Stat_t C.struct_stat -+ -+type Statfs_t C.struct_statfs -+ -+type Dirent C.struct_dirent -+ -+type Fsid C.fsid_t -+ -+type Flock_t C.struct_flock -+ -+// Advice to Fadvise -+ -+const ( -+ FADV_NORMAL = C.POSIX_FADV_NORMAL -+ FADV_RANDOM = C.POSIX_FADV_RANDOM -+ FADV_SEQUENTIAL = C.POSIX_FADV_SEQUENTIAL -+ FADV_WILLNEED = C.POSIX_FADV_WILLNEED -+ FADV_DONTNEED = C.POSIX_FADV_DONTNEED -+ FADV_NOREUSE = C.POSIX_FADV_NOREUSE -+) -+ -+// Sockets -+ -+type RawSockaddrInet4 C.struct_sockaddr_in -+ -+type RawSockaddrInet6 C.struct_sockaddr_in6 -+ -+type RawSockaddrUnix C.struct_my_sockaddr_un -+ -+type RawSockaddrLinklayer C.struct_sockaddr_ll -+ -+type RawSockaddrNetlink C.struct_sockaddr_nl -+ -+type RawSockaddrHCI C.struct_sockaddr_hci -+ -+type RawSockaddrCAN C.struct_sockaddr_can -+ -+type RawSockaddrALG C.struct_sockaddr_alg -+ -+type RawSockaddrVM C.struct_sockaddr_vm -+ -+type RawSockaddr C.struct_sockaddr -+ -+type RawSockaddrAny C.struct_sockaddr_any -+ -+type _Socklen C.socklen_t -+ -+type Linger C.struct_linger -+ -+type Iovec C.struct_iovec -+ -+type IPMreq C.struct_ip_mreq -+ -+type IPMreqn C.struct_ip_mreqn -+ -+type IPv6Mreq C.struct_ipv6_mreq -+ -+type Msghdr C.struct_msghdr -+ -+type Cmsghdr C.struct_cmsghdr -+ -+type Inet4Pktinfo C.struct_in_pktinfo -+ -+type Inet6Pktinfo C.struct_in6_pktinfo -+ -+type IPv6MTUInfo C.struct_ip6_mtuinfo -+ -+type ICMPv6Filter C.struct_icmp6_filter -+ -+type Ucred C.struct_ucred -+ -+type TCPInfo C.struct_tcp_info -+ -+const ( -+ SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in -+ SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 -+ SizeofSockaddrAny = C.sizeof_struct_sockaddr_any -+ SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un -+ SizeofSockaddrLinklayer = C.sizeof_struct_sockaddr_ll -+ SizeofSockaddrNetlink = C.sizeof_struct_sockaddr_nl -+ SizeofSockaddrHCI = C.sizeof_struct_sockaddr_hci -+ SizeofSockaddrCAN = C.sizeof_struct_sockaddr_can -+ SizeofSockaddrALG = C.sizeof_struct_sockaddr_alg -+ SizeofSockaddrVM = C.sizeof_struct_sockaddr_vm -+ SizeofLinger = C.sizeof_struct_linger -+ SizeofIPMreq = C.sizeof_struct_ip_mreq -+ SizeofIPMreqn = C.sizeof_struct_ip_mreqn -+ SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq -+ SizeofMsghdr = C.sizeof_struct_msghdr -+ SizeofCmsghdr = C.sizeof_struct_cmsghdr -+ SizeofInet4Pktinfo = C.sizeof_struct_in_pktinfo -+ SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo -+ SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo -+ SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter -+ SizeofUcred = C.sizeof_struct_ucred -+ SizeofTCPInfo = C.sizeof_struct_tcp_info -+) -+ -+// Netlink routing and interface messages -+ -+const ( -+ IFA_UNSPEC = C.IFA_UNSPEC -+ IFA_ADDRESS = C.IFA_ADDRESS -+ IFA_LOCAL = C.IFA_LOCAL -+ IFA_LABEL = C.IFA_LABEL -+ IFA_BROADCAST = C.IFA_BROADCAST -+ IFA_ANYCAST = C.IFA_ANYCAST -+ IFA_CACHEINFO = C.IFA_CACHEINFO -+ IFA_MULTICAST = C.IFA_MULTICAST -+ IFLA_UNSPEC = C.IFLA_UNSPEC -+ IFLA_ADDRESS = C.IFLA_ADDRESS -+ IFLA_BROADCAST = C.IFLA_BROADCAST -+ IFLA_IFNAME = C.IFLA_IFNAME -+ IFLA_MTU = C.IFLA_MTU -+ IFLA_LINK = C.IFLA_LINK -+ IFLA_QDISC = C.IFLA_QDISC -+ IFLA_STATS = C.IFLA_STATS -+ IFLA_COST = C.IFLA_COST -+ IFLA_PRIORITY = C.IFLA_PRIORITY -+ IFLA_MASTER = C.IFLA_MASTER -+ IFLA_WIRELESS = C.IFLA_WIRELESS -+ IFLA_PROTINFO = C.IFLA_PROTINFO -+ IFLA_TXQLEN = C.IFLA_TXQLEN -+ IFLA_MAP = C.IFLA_MAP -+ IFLA_WEIGHT = C.IFLA_WEIGHT -+ IFLA_OPERSTATE = C.IFLA_OPERSTATE -+ IFLA_LINKMODE = C.IFLA_LINKMODE -+ IFLA_LINKINFO = C.IFLA_LINKINFO -+ IFLA_NET_NS_PID = C.IFLA_NET_NS_PID -+ IFLA_IFALIAS = C.IFLA_IFALIAS -+ IFLA_MAX = C.IFLA_MAX -+ RT_SCOPE_UNIVERSE = C.RT_SCOPE_UNIVERSE -+ RT_SCOPE_SITE = C.RT_SCOPE_SITE -+ RT_SCOPE_LINK = C.RT_SCOPE_LINK -+ RT_SCOPE_HOST = C.RT_SCOPE_HOST -+ RT_SCOPE_NOWHERE = C.RT_SCOPE_NOWHERE -+ RT_TABLE_UNSPEC = C.RT_TABLE_UNSPEC -+ RT_TABLE_COMPAT = C.RT_TABLE_COMPAT -+ RT_TABLE_DEFAULT = C.RT_TABLE_DEFAULT -+ RT_TABLE_MAIN = C.RT_TABLE_MAIN -+ RT_TABLE_LOCAL = C.RT_TABLE_LOCAL -+ RT_TABLE_MAX = C.RT_TABLE_MAX -+ RTA_UNSPEC = C.RTA_UNSPEC -+ RTA_DST = C.RTA_DST -+ RTA_SRC = C.RTA_SRC -+ RTA_IIF = C.RTA_IIF -+ RTA_OIF = C.RTA_OIF -+ RTA_GATEWAY = C.RTA_GATEWAY -+ RTA_PRIORITY = C.RTA_PRIORITY -+ RTA_PREFSRC = C.RTA_PREFSRC -+ RTA_METRICS = C.RTA_METRICS -+ RTA_MULTIPATH = C.RTA_MULTIPATH -+ RTA_FLOW = C.RTA_FLOW -+ RTA_CACHEINFO = C.RTA_CACHEINFO -+ RTA_TABLE = C.RTA_TABLE -+ RTN_UNSPEC = C.RTN_UNSPEC -+ RTN_UNICAST = C.RTN_UNICAST -+ RTN_LOCAL = C.RTN_LOCAL -+ RTN_BROADCAST = C.RTN_BROADCAST -+ RTN_ANYCAST = C.RTN_ANYCAST -+ RTN_MULTICAST = C.RTN_MULTICAST -+ RTN_BLACKHOLE = C.RTN_BLACKHOLE -+ RTN_UNREACHABLE = C.RTN_UNREACHABLE -+ RTN_PROHIBIT = C.RTN_PROHIBIT -+ RTN_THROW = C.RTN_THROW -+ RTN_NAT = C.RTN_NAT -+ RTN_XRESOLVE = C.RTN_XRESOLVE -+ RTNLGRP_NONE = C.RTNLGRP_NONE -+ RTNLGRP_LINK = C.RTNLGRP_LINK -+ RTNLGRP_NOTIFY = C.RTNLGRP_NOTIFY -+ RTNLGRP_NEIGH = C.RTNLGRP_NEIGH -+ RTNLGRP_TC = C.RTNLGRP_TC -+ RTNLGRP_IPV4_IFADDR = C.RTNLGRP_IPV4_IFADDR -+ RTNLGRP_IPV4_MROUTE = C.RTNLGRP_IPV4_MROUTE -+ RTNLGRP_IPV4_ROUTE = C.RTNLGRP_IPV4_ROUTE -+ RTNLGRP_IPV4_RULE = C.RTNLGRP_IPV4_RULE -+ RTNLGRP_IPV6_IFADDR = C.RTNLGRP_IPV6_IFADDR -+ RTNLGRP_IPV6_MROUTE = C.RTNLGRP_IPV6_MROUTE -+ RTNLGRP_IPV6_ROUTE = C.RTNLGRP_IPV6_ROUTE -+ RTNLGRP_IPV6_IFINFO = C.RTNLGRP_IPV6_IFINFO -+ RTNLGRP_IPV6_PREFIX = C.RTNLGRP_IPV6_PREFIX -+ RTNLGRP_IPV6_RULE = C.RTNLGRP_IPV6_RULE -+ RTNLGRP_ND_USEROPT = C.RTNLGRP_ND_USEROPT -+ SizeofNlMsghdr = C.sizeof_struct_nlmsghdr -+ SizeofNlMsgerr = C.sizeof_struct_nlmsgerr -+ SizeofRtGenmsg = C.sizeof_struct_rtgenmsg -+ SizeofNlAttr = C.sizeof_struct_nlattr -+ SizeofRtAttr = C.sizeof_struct_rtattr -+ SizeofIfInfomsg = C.sizeof_struct_ifinfomsg -+ SizeofIfAddrmsg = C.sizeof_struct_ifaddrmsg -+ SizeofRtMsg = C.sizeof_struct_rtmsg -+ SizeofRtNexthop = C.sizeof_struct_rtnexthop -+) -+ -+type NlMsghdr C.struct_nlmsghdr -+ -+type NlMsgerr C.struct_nlmsgerr -+ -+type RtGenmsg C.struct_rtgenmsg -+ -+type NlAttr C.struct_nlattr -+ -+type RtAttr C.struct_rtattr -+ -+type IfInfomsg C.struct_ifinfomsg -+ -+type IfAddrmsg C.struct_ifaddrmsg -+ -+type RtMsg C.struct_rtmsg -+ -+type RtNexthop C.struct_rtnexthop -+ -+// Linux socket filter -+ -+const ( -+ SizeofSockFilter = C.sizeof_struct_sock_filter -+ SizeofSockFprog = C.sizeof_struct_sock_fprog -+) -+ -+type SockFilter C.struct_sock_filter -+ -+type SockFprog C.struct_sock_fprog -+ -+// Inotify -+ -+type InotifyEvent C.struct_inotify_event -+ -+const SizeofInotifyEvent = C.sizeof_struct_inotify_event -+ -+// Ptrace -+ -+// Register structures -+type PtraceRegs C.PtraceRegs -+ -+// Structures contained in PtraceRegs on s390x (exported by mkpost.go) -+type ptracePsw C.ptracePsw -+ -+type ptraceFpregs C.ptraceFpregs -+ -+type ptracePer C.ptracePer -+ -+// Misc -+ -+type FdSet C.fd_set -+ -+type Sysinfo_t C.struct_sysinfo -+ -+type Utsname C.struct_utsname -+ -+type Ustat_t C.struct_ustat -+ -+type EpollEvent C.struct_my_epoll_event -+ -+const ( -+ AT_FDCWD = C.AT_FDCWD -+ AT_REMOVEDIR = C.AT_REMOVEDIR -+ AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW -+ AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW -+) -+ -+type PollFd C.struct_pollfd -+ -+const ( -+ POLLIN = C.POLLIN -+ POLLPRI = C.POLLPRI -+ POLLOUT = C.POLLOUT -+ POLLRDHUP = C.POLLRDHUP -+ POLLERR = C.POLLERR -+ POLLHUP = C.POLLHUP -+ POLLNVAL = C.POLLNVAL -+) -+ -+type Sigset_t C.sigset_t -+ -+// sysconf information -+ -+const _SC_PAGESIZE = C._SC_PAGESIZE -+ -+// Terminal handling -+ -+type Termios C.termios_t -diff --git a/vendor/golang.org/x/sys/unix/types_netbsd.go b/vendor/golang.org/x/sys/unix/types_netbsd.go -new file mode 100644 -index 0000000..d15f93d ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/types_netbsd.go -@@ -0,0 +1,232 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build ignore -+ -+/* -+Input to cgo -godefs. See also mkerrors.sh and mkall.sh -+*/ -+ -+// +godefs map struct_in_addr [4]byte /* in_addr */ -+// +godefs map struct_in6_addr [16]byte /* in6_addr */ -+ -+package unix -+ -+/* -+#define KERNEL -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+enum { -+ sizeofPtr = sizeof(void*), -+}; -+ -+union sockaddr_all { -+ struct sockaddr s1; // this one gets used for fields -+ struct sockaddr_in s2; // these pad it out -+ struct sockaddr_in6 s3; -+ struct sockaddr_un s4; -+ struct sockaddr_dl s5; -+}; -+ -+struct sockaddr_any { -+ struct sockaddr addr; -+ char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; -+}; -+ -+*/ -+import "C" -+ -+// Machine characteristics; for internal use. -+ -+const ( -+ sizeofPtr = C.sizeofPtr -+ sizeofShort = C.sizeof_short -+ sizeofInt = C.sizeof_int -+ sizeofLong = C.sizeof_long -+ sizeofLongLong = C.sizeof_longlong -+) -+ -+// Basic types -+ -+type ( -+ _C_short C.short -+ _C_int C.int -+ _C_long C.long -+ _C_long_long C.longlong -+) -+ -+// Time -+ -+type Timespec C.struct_timespec -+ -+type Timeval C.struct_timeval -+ -+// Processes -+ -+type Rusage C.struct_rusage -+ -+type Rlimit C.struct_rlimit -+ -+type _Gid_t C.gid_t -+ -+// Files -+ -+type Stat_t C.struct_stat -+ -+type Statfs_t C.struct_statfs -+ -+type Flock_t C.struct_flock -+ -+type Dirent C.struct_dirent -+ -+type Fsid C.fsid_t -+ -+// Sockets -+ -+type RawSockaddrInet4 C.struct_sockaddr_in -+ -+type RawSockaddrInet6 C.struct_sockaddr_in6 -+ -+type RawSockaddrUnix C.struct_sockaddr_un -+ -+type RawSockaddrDatalink C.struct_sockaddr_dl -+ -+type RawSockaddr C.struct_sockaddr -+ -+type RawSockaddrAny C.struct_sockaddr_any -+ -+type _Socklen C.socklen_t -+ -+type Linger C.struct_linger -+ -+type Iovec C.struct_iovec -+ -+type IPMreq C.struct_ip_mreq -+ -+type IPv6Mreq C.struct_ipv6_mreq -+ -+type Msghdr C.struct_msghdr -+ -+type Cmsghdr C.struct_cmsghdr -+ -+type Inet6Pktinfo C.struct_in6_pktinfo -+ -+type IPv6MTUInfo C.struct_ip6_mtuinfo -+ -+type ICMPv6Filter C.struct_icmp6_filter -+ -+const ( -+ SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in -+ SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 -+ SizeofSockaddrAny = C.sizeof_struct_sockaddr_any -+ SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un -+ SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl -+ SizeofLinger = C.sizeof_struct_linger -+ SizeofIPMreq = C.sizeof_struct_ip_mreq -+ SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq -+ SizeofMsghdr = C.sizeof_struct_msghdr -+ SizeofCmsghdr = C.sizeof_struct_cmsghdr -+ SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo -+ SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo -+ SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter -+) -+ -+// Ptrace requests -+ -+const ( -+ PTRACE_TRACEME = C.PT_TRACE_ME -+ PTRACE_CONT = C.PT_CONTINUE -+ PTRACE_KILL = C.PT_KILL -+) -+ -+// Events (kqueue, kevent) -+ -+type Kevent_t C.struct_kevent -+ -+// Select -+ -+type FdSet C.fd_set -+ -+// Routing and interface messages -+ -+const ( -+ SizeofIfMsghdr = C.sizeof_struct_if_msghdr -+ SizeofIfData = C.sizeof_struct_if_data -+ SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr -+ SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr -+ SizeofRtMsghdr = C.sizeof_struct_rt_msghdr -+ SizeofRtMetrics = C.sizeof_struct_rt_metrics -+) -+ -+type IfMsghdr C.struct_if_msghdr -+ -+type IfData C.struct_if_data -+ -+type IfaMsghdr C.struct_ifa_msghdr -+ -+type IfAnnounceMsghdr C.struct_if_announcemsghdr -+ -+type RtMsghdr C.struct_rt_msghdr -+ -+type RtMetrics C.struct_rt_metrics -+ -+type Mclpool C.struct_mclpool -+ -+// Berkeley packet filter -+ -+const ( -+ SizeofBpfVersion = C.sizeof_struct_bpf_version -+ SizeofBpfStat = C.sizeof_struct_bpf_stat -+ SizeofBpfProgram = C.sizeof_struct_bpf_program -+ SizeofBpfInsn = C.sizeof_struct_bpf_insn -+ SizeofBpfHdr = C.sizeof_struct_bpf_hdr -+) -+ -+type BpfVersion C.struct_bpf_version -+ -+type BpfStat C.struct_bpf_stat -+ -+type BpfProgram C.struct_bpf_program -+ -+type BpfInsn C.struct_bpf_insn -+ -+type BpfHdr C.struct_bpf_hdr -+ -+type BpfTimeval C.struct_bpf_timeval -+ -+// Terminal handling -+ -+type Termios C.struct_termios -+ -+// Sysctl -+ -+type Sysctlnode C.struct_sysctlnode -diff --git a/vendor/golang.org/x/sys/unix/types_openbsd.go b/vendor/golang.org/x/sys/unix/types_openbsd.go -new file mode 100644 -index 0000000..b66fe25 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/types_openbsd.go -@@ -0,0 +1,244 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build ignore -+ -+/* -+Input to cgo -godefs. See also mkerrors.sh and mkall.sh -+*/ -+ -+// +godefs map struct_in_addr [4]byte /* in_addr */ -+// +godefs map struct_in6_addr [16]byte /* in6_addr */ -+ -+package unix -+ -+/* -+#define KERNEL -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+enum { -+ sizeofPtr = sizeof(void*), -+}; -+ -+union sockaddr_all { -+ struct sockaddr s1; // this one gets used for fields -+ struct sockaddr_in s2; // these pad it out -+ struct sockaddr_in6 s3; -+ struct sockaddr_un s4; -+ struct sockaddr_dl s5; -+}; -+ -+struct sockaddr_any { -+ struct sockaddr addr; -+ char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; -+}; -+ -+*/ -+import "C" -+ -+// Machine characteristics; for internal use. -+ -+const ( -+ sizeofPtr = C.sizeofPtr -+ sizeofShort = C.sizeof_short -+ sizeofInt = C.sizeof_int -+ sizeofLong = C.sizeof_long -+ sizeofLongLong = C.sizeof_longlong -+) -+ -+// Basic types -+ -+type ( -+ _C_short C.short -+ _C_int C.int -+ _C_long C.long -+ _C_long_long C.longlong -+) -+ -+// Time -+ -+type Timespec C.struct_timespec -+ -+type Timeval C.struct_timeval -+ -+// Processes -+ -+type Rusage C.struct_rusage -+ -+type Rlimit C.struct_rlimit -+ -+type _Gid_t C.gid_t -+ -+// Files -+ -+const ( // Directory mode bits -+ S_IFMT = C.S_IFMT -+ S_IFIFO = C.S_IFIFO -+ S_IFCHR = C.S_IFCHR -+ S_IFDIR = C.S_IFDIR -+ S_IFBLK = C.S_IFBLK -+ S_IFREG = C.S_IFREG -+ S_IFLNK = C.S_IFLNK -+ S_IFSOCK = C.S_IFSOCK -+ S_ISUID = C.S_ISUID -+ S_ISGID = C.S_ISGID -+ S_ISVTX = C.S_ISVTX -+ S_IRUSR = C.S_IRUSR -+ S_IWUSR = C.S_IWUSR -+ S_IXUSR = C.S_IXUSR -+) -+ -+type Stat_t C.struct_stat -+ -+type Statfs_t C.struct_statfs -+ -+type Flock_t C.struct_flock -+ -+type Dirent C.struct_dirent -+ -+type Fsid C.fsid_t -+ -+// Sockets -+ -+type RawSockaddrInet4 C.struct_sockaddr_in -+ -+type RawSockaddrInet6 C.struct_sockaddr_in6 -+ -+type RawSockaddrUnix C.struct_sockaddr_un -+ -+type RawSockaddrDatalink C.struct_sockaddr_dl -+ -+type RawSockaddr C.struct_sockaddr -+ -+type RawSockaddrAny C.struct_sockaddr_any -+ -+type _Socklen C.socklen_t -+ -+type Linger C.struct_linger -+ -+type Iovec C.struct_iovec -+ -+type IPMreq C.struct_ip_mreq -+ -+type IPv6Mreq C.struct_ipv6_mreq -+ -+type Msghdr C.struct_msghdr -+ -+type Cmsghdr C.struct_cmsghdr -+ -+type Inet6Pktinfo C.struct_in6_pktinfo -+ -+type IPv6MTUInfo C.struct_ip6_mtuinfo -+ -+type ICMPv6Filter C.struct_icmp6_filter -+ -+const ( -+ SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in -+ SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 -+ SizeofSockaddrAny = C.sizeof_struct_sockaddr_any -+ SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un -+ SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl -+ SizeofLinger = C.sizeof_struct_linger -+ SizeofIPMreq = C.sizeof_struct_ip_mreq -+ SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq -+ SizeofMsghdr = C.sizeof_struct_msghdr -+ SizeofCmsghdr = C.sizeof_struct_cmsghdr -+ SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo -+ SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo -+ SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter -+) -+ -+// Ptrace requests -+ -+const ( -+ PTRACE_TRACEME = C.PT_TRACE_ME -+ PTRACE_CONT = C.PT_CONTINUE -+ PTRACE_KILL = C.PT_KILL -+) -+ -+// Events (kqueue, kevent) -+ -+type Kevent_t C.struct_kevent -+ -+// Select -+ -+type FdSet C.fd_set -+ -+// Routing and interface messages -+ -+const ( -+ SizeofIfMsghdr = C.sizeof_struct_if_msghdr -+ SizeofIfData = C.sizeof_struct_if_data -+ SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr -+ SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr -+ SizeofRtMsghdr = C.sizeof_struct_rt_msghdr -+ SizeofRtMetrics = C.sizeof_struct_rt_metrics -+) -+ -+type IfMsghdr C.struct_if_msghdr -+ -+type IfData C.struct_if_data -+ -+type IfaMsghdr C.struct_ifa_msghdr -+ -+type IfAnnounceMsghdr C.struct_if_announcemsghdr -+ -+type RtMsghdr C.struct_rt_msghdr -+ -+type RtMetrics C.struct_rt_metrics -+ -+type Mclpool C.struct_mclpool -+ -+// Berkeley packet filter -+ -+const ( -+ SizeofBpfVersion = C.sizeof_struct_bpf_version -+ SizeofBpfStat = C.sizeof_struct_bpf_stat -+ SizeofBpfProgram = C.sizeof_struct_bpf_program -+ SizeofBpfInsn = C.sizeof_struct_bpf_insn -+ SizeofBpfHdr = C.sizeof_struct_bpf_hdr -+) -+ -+type BpfVersion C.struct_bpf_version -+ -+type BpfStat C.struct_bpf_stat -+ -+type BpfProgram C.struct_bpf_program -+ -+type BpfInsn C.struct_bpf_insn -+ -+type BpfHdr C.struct_bpf_hdr -+ -+type BpfTimeval C.struct_bpf_timeval -+ -+// Terminal handling -+ -+type Termios C.struct_termios -diff --git a/vendor/golang.org/x/sys/unix/types_solaris.go b/vendor/golang.org/x/sys/unix/types_solaris.go -new file mode 100644 -index 0000000..c5d5c8f ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/types_solaris.go -@@ -0,0 +1,262 @@ -+// Copyright 2009 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build ignore -+ -+/* -+Input to cgo -godefs. See also mkerrors.sh and mkall.sh -+*/ -+ -+// +godefs map struct_in_addr [4]byte /* in_addr */ -+// +godefs map struct_in6_addr [16]byte /* in6_addr */ -+ -+package unix -+ -+/* -+#define KERNEL -+// These defines ensure that builds done on newer versions of Solaris are -+// backwards-compatible with older versions of Solaris and -+// OpenSolaris-based derivatives. -+#define __USE_SUNOS_SOCKETS__ // msghdr -+#define __USE_LEGACY_PROTOTYPES__ // iovec -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+enum { -+ sizeofPtr = sizeof(void*), -+}; -+ -+union sockaddr_all { -+ struct sockaddr s1; // this one gets used for fields -+ struct sockaddr_in s2; // these pad it out -+ struct sockaddr_in6 s3; -+ struct sockaddr_un s4; -+ struct sockaddr_dl s5; -+}; -+ -+struct sockaddr_any { -+ struct sockaddr addr; -+ char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)]; -+}; -+ -+*/ -+import "C" -+ -+// Machine characteristics; for internal use. -+ -+const ( -+ sizeofPtr = C.sizeofPtr -+ sizeofShort = C.sizeof_short -+ sizeofInt = C.sizeof_int -+ sizeofLong = C.sizeof_long -+ sizeofLongLong = C.sizeof_longlong -+ PathMax = C.PATH_MAX -+ MaxHostNameLen = C.MAXHOSTNAMELEN -+) -+ -+// Basic types -+ -+type ( -+ _C_short C.short -+ _C_int C.int -+ _C_long C.long -+ _C_long_long C.longlong -+) -+ -+// Time -+ -+type Timespec C.struct_timespec -+ -+type Timeval C.struct_timeval -+ -+type Timeval32 C.struct_timeval32 -+ -+type Tms C.struct_tms -+ -+type Utimbuf C.struct_utimbuf -+ -+// Processes -+ -+type Rusage C.struct_rusage -+ -+type Rlimit C.struct_rlimit -+ -+type _Gid_t C.gid_t -+ -+// Files -+ -+const ( // Directory mode bits -+ S_IFMT = C.S_IFMT -+ S_IFIFO = C.S_IFIFO -+ S_IFCHR = C.S_IFCHR -+ S_IFDIR = C.S_IFDIR -+ S_IFBLK = C.S_IFBLK -+ S_IFREG = C.S_IFREG -+ S_IFLNK = C.S_IFLNK -+ S_IFSOCK = C.S_IFSOCK -+ S_ISUID = C.S_ISUID -+ S_ISGID = C.S_ISGID -+ S_ISVTX = C.S_ISVTX -+ S_IRUSR = C.S_IRUSR -+ S_IWUSR = C.S_IWUSR -+ S_IXUSR = C.S_IXUSR -+) -+ -+type Stat_t C.struct_stat -+ -+type Flock_t C.struct_flock -+ -+type Dirent C.struct_dirent -+ -+// Sockets -+ -+type RawSockaddrInet4 C.struct_sockaddr_in -+ -+type RawSockaddrInet6 C.struct_sockaddr_in6 -+ -+type RawSockaddrUnix C.struct_sockaddr_un -+ -+type RawSockaddrDatalink C.struct_sockaddr_dl -+ -+type RawSockaddr C.struct_sockaddr -+ -+type RawSockaddrAny C.struct_sockaddr_any -+ -+type _Socklen C.socklen_t -+ -+type Linger C.struct_linger -+ -+type Iovec C.struct_iovec -+ -+type IPMreq C.struct_ip_mreq -+ -+type IPv6Mreq C.struct_ipv6_mreq -+ -+type Msghdr C.struct_msghdr -+ -+type Cmsghdr C.struct_cmsghdr -+ -+type Inet6Pktinfo C.struct_in6_pktinfo -+ -+type IPv6MTUInfo C.struct_ip6_mtuinfo -+ -+type ICMPv6Filter C.struct_icmp6_filter -+ -+const ( -+ SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in -+ SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6 -+ SizeofSockaddrAny = C.sizeof_struct_sockaddr_any -+ SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un -+ SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl -+ SizeofLinger = C.sizeof_struct_linger -+ SizeofIPMreq = C.sizeof_struct_ip_mreq -+ SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq -+ SizeofMsghdr = C.sizeof_struct_msghdr -+ SizeofCmsghdr = C.sizeof_struct_cmsghdr -+ SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo -+ SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo -+ SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter -+) -+ -+// Select -+ -+type FdSet C.fd_set -+ -+// Misc -+ -+type Utsname C.struct_utsname -+ -+type Ustat_t C.struct_ustat -+ -+const ( -+ AT_FDCWD = C.AT_FDCWD -+ AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW -+ AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW -+ AT_REMOVEDIR = C.AT_REMOVEDIR -+ AT_EACCESS = C.AT_EACCESS -+) -+ -+// Routing and interface messages -+ -+const ( -+ SizeofIfMsghdr = C.sizeof_struct_if_msghdr -+ SizeofIfData = C.sizeof_struct_if_data -+ SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr -+ SizeofRtMsghdr = C.sizeof_struct_rt_msghdr -+ SizeofRtMetrics = C.sizeof_struct_rt_metrics -+) -+ -+type IfMsghdr C.struct_if_msghdr -+ -+type IfData C.struct_if_data -+ -+type IfaMsghdr C.struct_ifa_msghdr -+ -+type RtMsghdr C.struct_rt_msghdr -+ -+type RtMetrics C.struct_rt_metrics -+ -+// Berkeley packet filter -+ -+const ( -+ SizeofBpfVersion = C.sizeof_struct_bpf_version -+ SizeofBpfStat = C.sizeof_struct_bpf_stat -+ SizeofBpfProgram = C.sizeof_struct_bpf_program -+ SizeofBpfInsn = C.sizeof_struct_bpf_insn -+ SizeofBpfHdr = C.sizeof_struct_bpf_hdr -+) -+ -+type BpfVersion C.struct_bpf_version -+ -+type BpfStat C.struct_bpf_stat -+ -+type BpfProgram C.struct_bpf_program -+ -+type BpfInsn C.struct_bpf_insn -+ -+type BpfTimeval C.struct_bpf_timeval -+ -+type BpfHdr C.struct_bpf_hdr -+ -+// sysconf information -+ -+const _SC_PAGESIZE = C._SC_PAGESIZE -+ -+// Terminal handling -+ -+type Termios C.struct_termios -+ -+type Termio C.struct_termio -+ -+type Winsize C.struct_winsize -diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go -new file mode 100644 -index 0000000..8e63888 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_386.go -@@ -0,0 +1,1576 @@ -+// mkerrors.sh -m32 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build 386,darwin -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m32 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1c -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x25 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x1e -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1c -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x28 -+ AF_NATM = 0x1f -+ AF_NDRV = 0x1b -+ AF_NETBIOS = 0x21 -+ AF_NS = 0x6 -+ AF_OSI = 0x7 -+ AF_PPP = 0x22 -+ AF_PUP = 0x4 -+ AF_RESERVED_36 = 0x24 -+ AF_ROUTE = 0x11 -+ AF_SIP = 0x18 -+ AF_SNA = 0xb -+ AF_SYSTEM = 0x20 -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_UTUN = 0x26 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B9600 = 0x2580 -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc00c4279 -+ BIOCGETIF = 0x4020426b -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRSIG = 0x40044272 -+ BIOCGRTIMEOUT = 0x4008426e -+ BIOCGSEESENT = 0x40044276 -+ BIOCGSTATS = 0x4008426f -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDLT = 0x80044278 -+ BIOCSETF = 0x80084267 -+ BIOCSETFNR = 0x8008427e -+ BIOCSETIF = 0x8020426c -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRSIG = 0x80044273 -+ BIOCSRTIMEOUT = 0x8008426d -+ BIOCSSEESENT = 0x80044277 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x80000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0xc -+ CTL_NET = 0x4 -+ DLT_A429 = 0xb8 -+ DLT_A653_ICM = 0xb9 -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_AOS = 0xde -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_AX25_KISS = 0xca -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_BLUETOOTH_HCI_H4 = 0xbb -+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 -+ DLT_CAN20B = 0xbe -+ DLT_CAN_SOCKETCAN = 0xe3 -+ DLT_CHAOS = 0x5 -+ DLT_CHDLC = 0x68 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_C_HDLC_WITH_DIR = 0xcd -+ DLT_DBUS = 0xe7 -+ DLT_DECT = 0xdd -+ DLT_DOCSIS = 0x8f -+ DLT_DVB_CI = 0xeb -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF = 0xc5 -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FC_2 = 0xe0 -+ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 -+ DLT_FDDI = 0xa -+ DLT_FLEXRAY = 0xd2 -+ DLT_FRELAY = 0x6b -+ DLT_FRELAY_WITH_DIR = 0xce -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_GSMTAP_ABIS = 0xda -+ DLT_GSMTAP_UM = 0xd9 -+ DLT_HHDLC = 0x79 -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IEEE802_15_4 = 0xc3 -+ DLT_IEEE802_15_4_LINUX = 0xbf -+ DLT_IEEE802_15_4_NOFCS = 0xe6 -+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 -+ DLT_IEEE802_16_MAC_CPS = 0xbc -+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 -+ DLT_IPFILTER = 0x74 -+ DLT_IPMB = 0xc7 -+ DLT_IPMB_LINUX = 0xd1 -+ DLT_IPNET = 0xe2 -+ DLT_IPOIB = 0xf2 -+ DLT_IPV4 = 0xe4 -+ DLT_IPV6 = 0xe5 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_ATM_CEMIC = 0xee -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FIBRECHANNEL = 0xea -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_ISM = 0xc2 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_JUNIPER_SRX_E2E = 0xe9 -+ DLT_JUNIPER_ST = 0xc8 -+ DLT_JUNIPER_VP = 0xb7 -+ DLT_JUNIPER_VS = 0xe8 -+ DLT_LAPB_WITH_DIR = 0xcf -+ DLT_LAPD = 0xcb -+ DLT_LIN = 0xd4 -+ DLT_LINUX_EVDEV = 0xd8 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_PPP_WITHDIRECTION = 0xa6 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MATCHING_MAX = 0xf5 -+ DLT_MATCHING_MIN = 0x68 -+ DLT_MFR = 0xb6 -+ DLT_MOST = 0xd3 -+ DLT_MPEG_2_TS = 0xf3 -+ DLT_MPLS = 0xdb -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_MUX27010 = 0xec -+ DLT_NETANALYZER = 0xf0 -+ DLT_NETANALYZER_TRANSPARENT = 0xf1 -+ DLT_NFC_LLCP = 0xf5 -+ DLT_NFLOG = 0xef -+ DLT_NG40 = 0xf4 -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPI = 0xc0 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0x10 -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PPP_WITH_DIR = 0xcc -+ DLT_PPP_WITH_DIRECTION = 0xa6 -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAIF1 = 0xc6 -+ DLT_RAW = 0xc -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SITA = 0xc4 -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xf -+ DLT_STANAG_5066_D_PDU = 0xed -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ DLT_USB = 0xba -+ DLT_USB_LINUX = 0xbd -+ DLT_USB_LINUX_MMAPPED = 0xdc -+ DLT_USER0 = 0x93 -+ DLT_USER1 = 0x94 -+ DLT_USER10 = 0x9d -+ DLT_USER11 = 0x9e -+ DLT_USER12 = 0x9f -+ DLT_USER13 = 0xa0 -+ DLT_USER14 = 0xa1 -+ DLT_USER15 = 0xa2 -+ DLT_USER2 = 0x95 -+ DLT_USER3 = 0x96 -+ DLT_USER4 = 0x97 -+ DLT_USER5 = 0x98 -+ DLT_USER6 = 0x99 -+ DLT_USER7 = 0x9a -+ DLT_USER8 = 0x9b -+ DLT_USER9 = 0x9c -+ DLT_WIHART = 0xdf -+ DLT_X2E_SERIAL = 0xd5 -+ DLT_X2E_XORAYA = 0xd6 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EVFILT_AIO = -0x3 -+ EVFILT_FS = -0x9 -+ EVFILT_MACHPORT = -0x8 -+ EVFILT_PROC = -0x5 -+ EVFILT_READ = -0x1 -+ EVFILT_SIGNAL = -0x6 -+ EVFILT_SYSCOUNT = 0xe -+ EVFILT_THREADMARKER = 0xe -+ EVFILT_TIMER = -0x7 -+ EVFILT_USER = -0xa -+ EVFILT_VM = -0xc -+ EVFILT_VNODE = -0x4 -+ EVFILT_WRITE = -0x2 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_DISPATCH = 0x80 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG0 = 0x1000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_OOBAND = 0x2000 -+ EV_POLL = 0x1000 -+ EV_RECEIPT = 0x40 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x800000 -+ F_ADDFILESIGS = 0x3d -+ F_ADDSIGS = 0x3b -+ F_ALLOCATEALL = 0x4 -+ F_ALLOCATECONTIG = 0x2 -+ F_CHKCLEAN = 0x29 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x43 -+ F_FINDSIGS = 0x4e -+ F_FLUSH_DATA = 0x28 -+ F_FREEZE_FS = 0x35 -+ F_FULLFSYNC = 0x33 -+ F_GETCODEDIR = 0x48 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0x7 -+ F_GETLKPID = 0x42 -+ F_GETNOSIGPIPE = 0x4a -+ F_GETOWN = 0x5 -+ F_GETPATH = 0x32 -+ F_GETPATH_MTMINFO = 0x47 -+ F_GETPROTECTIONCLASS = 0x3f -+ F_GETPROTECTIONLEVEL = 0x4d -+ F_GLOBAL_NOCACHE = 0x37 -+ F_LOG2PHYS = 0x31 -+ F_LOG2PHYS_EXT = 0x41 -+ F_NOCACHE = 0x30 -+ F_NODIRECT = 0x3e -+ F_OK = 0x0 -+ F_PATHPKG_CHECK = 0x34 -+ F_PEOFPOSMODE = 0x3 -+ F_PREALLOCATE = 0x2a -+ F_RDADVISE = 0x2c -+ F_RDAHEAD = 0x2d -+ F_RDLCK = 0x1 -+ F_SETBACKINGSTORE = 0x46 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x8 -+ F_SETLKW = 0x9 -+ F_SETLKWTIMEOUT = 0xa -+ F_SETNOSIGPIPE = 0x49 -+ F_SETOWN = 0x6 -+ F_SETPROTECTIONCLASS = 0x40 -+ F_SETSIZE = 0x2b -+ F_SINGLE_WRITER = 0x4c -+ F_THAW_FS = 0x36 -+ F_TRANSCODEKEY = 0x4b -+ F_UNLCK = 0x2 -+ F_VOLPOSMODE = 0x4 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFF_ALLMULTI = 0x200 -+ IFF_ALTPHYS = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_AAL5 = 0x31 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ATM = 0x25 -+ IFT_BRIDGE = 0xd1 -+ IFT_CARP = 0xf8 -+ IFT_CELLULAR = 0xff -+ IFT_CEPT = 0x13 -+ IFT_DS3 = 0x1e -+ IFT_ENC = 0xf4 -+ IFT_EON = 0x19 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0x38 -+ IFT_FDDI = 0xf -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_GIF = 0x37 -+ IFT_HDH1822 = 0x3 -+ IFT_HIPPI = 0x2f -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE8023ADLAG = 0x88 -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88026 = 0xa -+ IFT_L2VLAN = 0x87 -+ IFT_LAPB = 0x10 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_NSIP = 0x1b -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PDP = 0xff -+ IFT_PFLOG = 0xf5 -+ IFT_PFSYNC = 0xf6 -+ IFT_PKTAP = 0xfe -+ IFT_PPP = 0x17 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PTPSERIAL = 0x16 -+ IFT_RS232 = 0x21 -+ IFT_SDLC = 0x11 -+ IFT_SIP = 0x1f -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_STARLAN = 0xb -+ IFT_STF = 0x39 -+ IFT_T1 = 0x12 -+ IFT_ULTRA = 0x1d -+ IFT_V35 = 0x2d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LINKLOCALNETNUM = 0xa9fe0000 -+ IN_LOOPBACKNET = 0x7f -+ IPPROTO_3PC = 0x22 -+ IPPROTO_ADFS = 0x44 -+ IPPROTO_AH = 0x33 -+ IPPROTO_AHIP = 0x3d -+ IPPROTO_APES = 0x63 -+ IPPROTO_ARGUS = 0xd -+ IPPROTO_AX25 = 0x5d -+ IPPROTO_BHA = 0x31 -+ IPPROTO_BLT = 0x1e -+ IPPROTO_BRSATMON = 0x4c -+ IPPROTO_CFTP = 0x3e -+ IPPROTO_CHAOS = 0x10 -+ IPPROTO_CMTP = 0x26 -+ IPPROTO_CPHB = 0x49 -+ IPPROTO_CPNX = 0x48 -+ IPPROTO_DDP = 0x25 -+ IPPROTO_DGP = 0x56 -+ IPPROTO_DIVERT = 0xfe -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_EMCON = 0xe -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GMTP = 0x64 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HELLO = 0x3f -+ IPPROTO_HMP = 0x14 -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IDPR = 0x23 -+ IPPROTO_IDRP = 0x2d -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IGP = 0x55 -+ IPPROTO_IGRP = 0x58 -+ IPPROTO_IL = 0x28 -+ IPPROTO_INLSP = 0x34 -+ IPPROTO_INP = 0x20 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPCV = 0x47 -+ IPPROTO_IPEIP = 0x5e -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPPC = 0x43 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IRTP = 0x1c -+ IPPROTO_KRYPTOLAN = 0x41 -+ IPPROTO_LARP = 0x5b -+ IPPROTO_LEAF1 = 0x19 -+ IPPROTO_LEAF2 = 0x1a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MEAS = 0x13 -+ IPPROTO_MHRP = 0x30 -+ IPPROTO_MICP = 0x5f -+ IPPROTO_MTP = 0x5c -+ IPPROTO_MUX = 0x12 -+ IPPROTO_ND = 0x4d -+ IPPROTO_NHRP = 0x36 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_NSP = 0x1f -+ IPPROTO_NVPII = 0xb -+ IPPROTO_OSPFIGP = 0x59 -+ IPPROTO_PGM = 0x71 -+ IPPROTO_PIGP = 0x9 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PRM = 0x15 -+ IPPROTO_PUP = 0xc -+ IPPROTO_PVP = 0x4b -+ IPPROTO_RAW = 0xff -+ IPPROTO_RCCMON = 0xa -+ IPPROTO_RDP = 0x1b -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_RVD = 0x42 -+ IPPROTO_SATEXPAK = 0x40 -+ IPPROTO_SATMON = 0x45 -+ IPPROTO_SCCSP = 0x60 -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_SDRP = 0x2a -+ IPPROTO_SEP = 0x21 -+ IPPROTO_SRPC = 0x5a -+ IPPROTO_ST = 0x7 -+ IPPROTO_SVMTP = 0x52 -+ IPPROTO_SWIPE = 0x35 -+ IPPROTO_TCF = 0x57 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_TPXX = 0x27 -+ IPPROTO_TRUNK1 = 0x17 -+ IPPROTO_TRUNK2 = 0x18 -+ IPPROTO_TTP = 0x54 -+ IPPROTO_UDP = 0x11 -+ IPPROTO_VINES = 0x53 -+ IPPROTO_VISA = 0x46 -+ IPPROTO_VMTP = 0x51 -+ IPPROTO_WBEXPAK = 0x4f -+ IPPROTO_WBMON = 0x4e -+ IPPROTO_WSN = 0x4a -+ IPPROTO_XNET = 0xf -+ IPPROTO_XTP = 0x24 -+ IPV6_2292DSTOPTS = 0x17 -+ IPV6_2292HOPLIMIT = 0x14 -+ IPV6_2292HOPOPTS = 0x16 -+ IPV6_2292NEXTHOP = 0x15 -+ IPV6_2292PKTINFO = 0x13 -+ IPV6_2292PKTOPTIONS = 0x19 -+ IPV6_2292RTHDR = 0x18 -+ IPV6_BINDV6ONLY = 0x1b -+ IPV6_BOUND_IF = 0x7d -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x3c -+ IPV6_FW_ADD = 0x1e -+ IPV6_FW_DEL = 0x1f -+ IPV6_FW_FLUSH = 0x20 -+ IPV6_FW_GET = 0x22 -+ IPV6_FW_ZERO = 0x21 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXOPTHDR = 0x800 -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MAX_GROUP_SRC_FILTER = 0x200 -+ IPV6_MAX_MEMBERSHIPS = 0xfff -+ IPV6_MAX_SOCK_SRC_FILTER = 0x80 -+ IPV6_MIN_MEMBERSHIPS = 0x1f -+ IPV6_MMTU = 0x500 -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_RECVTCLASS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x24 -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_ADD_SOURCE_MEMBERSHIP = 0x46 -+ IP_BLOCK_SOURCE = 0x48 -+ IP_BOUND_IF = 0x19 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_DROP_SOURCE_MEMBERSHIP = 0x47 -+ IP_DUMMYNET_CONFIGURE = 0x3c -+ IP_DUMMYNET_DEL = 0x3d -+ IP_DUMMYNET_FLUSH = 0x3e -+ IP_DUMMYNET_GET = 0x40 -+ IP_FAITH = 0x16 -+ IP_FW_ADD = 0x28 -+ IP_FW_DEL = 0x29 -+ IP_FW_FLUSH = 0x2a -+ IP_FW_GET = 0x2c -+ IP_FW_RESETLOG = 0x2d -+ IP_FW_ZERO = 0x2b -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x15 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_GROUP_SRC_FILTER = 0x200 -+ IP_MAX_MEMBERSHIPS = 0xfff -+ IP_MAX_SOCK_MUTE_FILTER = 0x80 -+ IP_MAX_SOCK_SRC_FILTER = 0x80 -+ IP_MF = 0x2000 -+ IP_MIN_MEMBERSHIPS = 0x1f -+ IP_MSFILTER = 0x4a -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_IFINDEX = 0x42 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_MULTICAST_VIF = 0xe -+ IP_NAT__XXX = 0x37 -+ IP_OFFMASK = 0x1fff -+ IP_OLD_FW_ADD = 0x32 -+ IP_OLD_FW_DEL = 0x33 -+ IP_OLD_FW_FLUSH = 0x34 -+ IP_OLD_FW_GET = 0x36 -+ IP_OLD_FW_RESETLOG = 0x38 -+ IP_OLD_FW_ZERO = 0x35 -+ IP_OPTIONS = 0x1 -+ IP_PKTINFO = 0x1a -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVPKTINFO = 0x1a -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTTL = 0x18 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_RSVP_OFF = 0x10 -+ IP_RSVP_ON = 0xf -+ IP_RSVP_VIF_OFF = 0x12 -+ IP_RSVP_VIF_ON = 0x11 -+ IP_STRIPHDR = 0x17 -+ IP_TOS = 0x3 -+ IP_TRAFFIC_MGT_BACKGROUND = 0x41 -+ IP_TTL = 0x4 -+ IP_UNBLOCK_SOURCE = 0x49 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_CAN_REUSE = 0x9 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x5 -+ MADV_FREE_REUSABLE = 0x7 -+ MADV_FREE_REUSE = 0x8 -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_WILLNEED = 0x3 -+ MADV_ZERO_WIRED_PAGES = 0x6 -+ MAP_ANON = 0x1000 -+ MAP_COPY = 0x2 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_JIT = 0x800 -+ MAP_NOCACHE = 0x400 -+ MAP_NOEXTEND = 0x100 -+ MAP_NORESERVE = 0x40 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_RESERVED0080 = 0x80 -+ MAP_SHARED = 0x1 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOF = 0x100 -+ MSG_EOR = 0x8 -+ MSG_FLUSH = 0x400 -+ MSG_HAVEMORE = 0x2000 -+ MSG_HOLD = 0x800 -+ MSG_NEEDSA = 0x10000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_RCVMORE = 0x4000 -+ MSG_SEND = 0x1000 -+ MSG_TRUNC = 0x10 -+ MSG_WAITALL = 0x40 -+ MSG_WAITSTREAM = 0x200 -+ MS_ASYNC = 0x1 -+ MS_DEACTIVATE = 0x8 -+ MS_INVALIDATE = 0x2 -+ MS_KILLPAGES = 0x4 -+ MS_SYNC = 0x10 -+ NAME_MAX = 0xff -+ NET_RT_DUMP = 0x1 -+ NET_RT_DUMP2 = 0x7 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x3 -+ NET_RT_IFLIST2 = 0x6 -+ NET_RT_MAXID = 0xa -+ NET_RT_STAT = 0x4 -+ NET_RT_TRASH = 0x5 -+ NOFLSH = 0x80000000 -+ NOTE_ABSOLUTE = 0x8 -+ NOTE_ATTRIB = 0x8 -+ NOTE_BACKGROUND = 0x40 -+ NOTE_CHILD = 0x4 -+ NOTE_CRITICAL = 0x20 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXITSTATUS = 0x4000000 -+ NOTE_EXIT_CSERROR = 0x40000 -+ NOTE_EXIT_DECRYPTFAIL = 0x10000 -+ NOTE_EXIT_DETAIL = 0x2000000 -+ NOTE_EXIT_DETAIL_MASK = 0x70000 -+ NOTE_EXIT_MEMORY = 0x20000 -+ NOTE_EXIT_REPARENTED = 0x80000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FFAND = 0x40000000 -+ NOTE_FFCOPY = 0xc0000000 -+ NOTE_FFCTRLMASK = 0xc0000000 -+ NOTE_FFLAGSMASK = 0xffffff -+ NOTE_FFNOP = 0x0 -+ NOTE_FFOR = 0x80000000 -+ NOTE_FORK = 0x40000000 -+ NOTE_LEEWAY = 0x10 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_NONE = 0x80 -+ NOTE_NSECONDS = 0x4 -+ NOTE_PCTRLMASK = -0x100000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_REAP = 0x10000000 -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_SECONDS = 0x1 -+ NOTE_SIGNAL = 0x8000000 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_TRIGGER = 0x1000000 -+ NOTE_USECONDS = 0x2 -+ NOTE_VM_ERROR = 0x10000000 -+ NOTE_VM_PRESSURE = 0x80000000 -+ NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 -+ NOTE_VM_PRESSURE_TERMINATE = 0x40000000 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ OFDEL = 0x20000 -+ OFILL = 0x80 -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_ALERT = 0x20000000 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x1000000 -+ O_CREAT = 0x200 -+ O_DIRECTORY = 0x100000 -+ O_DP_GETRAWENCRYPTED = 0x1 -+ O_DSYNC = 0x400000 -+ O_EVTONLY = 0x8000 -+ O_EXCL = 0x800 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x20000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_POPUP = 0x80000000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_SHLOCK = 0x10 -+ O_SYMLINK = 0x200000 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PT_ATTACH = 0xa -+ PT_ATTACHEXC = 0xe -+ PT_CONTINUE = 0x7 -+ PT_DENY_ATTACH = 0x1f -+ PT_DETACH = 0xb -+ PT_FIRSTMACH = 0x20 -+ PT_FORCEQUOTA = 0x1e -+ PT_KILL = 0x8 -+ PT_READ_D = 0x2 -+ PT_READ_I = 0x1 -+ PT_READ_U = 0x3 -+ PT_SIGEXC = 0xc -+ PT_STEP = 0x9 -+ PT_THUPDATE = 0xd -+ PT_TRACE_ME = 0x0 -+ PT_WRITE_D = 0x5 -+ PT_WRITE_I = 0x4 -+ PT_WRITE_U = 0x6 -+ RLIMIT_AS = 0x5 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_CPU_USAGE_MONITOR = 0x2 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x8 -+ RTAX_NETMASK = 0x2 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_BROADCAST = 0x400000 -+ RTF_CLONING = 0x100 -+ RTF_CONDEMNED = 0x2000000 -+ RTF_DELCLONE = 0x80 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_IFREF = 0x4000000 -+ RTF_IFSCOPE = 0x1000000 -+ RTF_LLINFO = 0x400 -+ RTF_LOCAL = 0x200000 -+ RTF_MODIFIED = 0x20 -+ RTF_MULTICAST = 0x800000 -+ RTF_NOIFREF = 0x2000 -+ RTF_PINNED = 0x100000 -+ RTF_PRCLONING = 0x10000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_PROTO3 = 0x40000 -+ RTF_PROXY = 0x8000000 -+ RTF_REJECT = 0x8 -+ RTF_ROUTER = 0x10000000 -+ RTF_STATIC = 0x800 -+ RTF_UP = 0x1 -+ RTF_WASCLONED = 0x20000 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_DELMADDR = 0x10 -+ RTM_GET = 0x4 -+ RTM_GET2 = 0x14 -+ RTM_IFINFO = 0xe -+ RTM_IFINFO2 = 0x12 -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_NEWMADDR = 0xf -+ RTM_NEWMADDR2 = 0x13 -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_VERSION = 0x5 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ SCM_CREDS = 0x3 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x2 -+ SCM_TIMESTAMP_MONOTONIC = 0x4 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80206931 -+ SIOCAIFADDR = 0x8040691a -+ SIOCARPIPLL = 0xc0206928 -+ SIOCATMARK = 0x40047307 -+ SIOCAUTOADDR = 0xc0206926 -+ SIOCAUTONETMASK = 0x80206927 -+ SIOCDELMULTI = 0x80206932 -+ SIOCDIFADDR = 0x80206919 -+ SIOCDIFPHYADDR = 0x80206941 -+ SIOCGDRVSPEC = 0xc01c697b -+ SIOCGETVLAN = 0xc020697f -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0206921 -+ SIOCGIFALTMTU = 0xc0206948 -+ SIOCGIFASYNCMAP = 0xc020697c -+ SIOCGIFBOND = 0xc0206947 -+ SIOCGIFBRDADDR = 0xc0206923 -+ SIOCGIFCAP = 0xc020695b -+ SIOCGIFCONF = 0xc0086924 -+ SIOCGIFDEVMTU = 0xc0206944 -+ SIOCGIFDSTADDR = 0xc0206922 -+ SIOCGIFFLAGS = 0xc0206911 -+ SIOCGIFGENERIC = 0xc020693a -+ SIOCGIFKPI = 0xc0206987 -+ SIOCGIFMAC = 0xc0206982 -+ SIOCGIFMEDIA = 0xc0286938 -+ SIOCGIFMETRIC = 0xc0206917 -+ SIOCGIFMTU = 0xc0206933 -+ SIOCGIFNETMASK = 0xc0206925 -+ SIOCGIFPDSTADDR = 0xc0206940 -+ SIOCGIFPHYS = 0xc0206935 -+ SIOCGIFPSRCADDR = 0xc020693f -+ SIOCGIFSTATUS = 0xc331693d -+ SIOCGIFVLAN = 0xc020697f -+ SIOCGIFWAKEFLAGS = 0xc0206988 -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCIFCREATE = 0xc0206978 -+ SIOCIFCREATE2 = 0xc020697a -+ SIOCIFDESTROY = 0x80206979 -+ SIOCIFGCLONERS = 0xc00c6981 -+ SIOCRSLVMULTI = 0xc008693b -+ SIOCSDRVSPEC = 0x801c697b -+ SIOCSETVLAN = 0x8020697e -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8020690c -+ SIOCSIFALTMTU = 0x80206945 -+ SIOCSIFASYNCMAP = 0x8020697d -+ SIOCSIFBOND = 0x80206946 -+ SIOCSIFBRDADDR = 0x80206913 -+ SIOCSIFCAP = 0x8020695a -+ SIOCSIFDSTADDR = 0x8020690e -+ SIOCSIFFLAGS = 0x80206910 -+ SIOCSIFGENERIC = 0x80206939 -+ SIOCSIFKPI = 0x80206986 -+ SIOCSIFLLADDR = 0x8020693c -+ SIOCSIFMAC = 0x80206983 -+ SIOCSIFMEDIA = 0xc0206937 -+ SIOCSIFMETRIC = 0x80206918 -+ SIOCSIFMTU = 0x80206934 -+ SIOCSIFNETMASK = 0x80206916 -+ SIOCSIFPHYADDR = 0x8040693e -+ SIOCSIFPHYS = 0x80206936 -+ SIOCSIFVLAN = 0x8020697e -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SOCK_DGRAM = 0x2 -+ SOCK_MAXADDRLEN = 0xff -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_DONTTRUNC = 0x2000 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LABEL = 0x1010 -+ SO_LINGER = 0x80 -+ SO_LINGER_SEC = 0x1080 -+ SO_NKE = 0x1021 -+ SO_NOADDRERR = 0x1023 -+ SO_NOSIGPIPE = 0x1022 -+ SO_NOTIFYCONFLICT = 0x1026 -+ SO_NP_EXTENSIONS = 0x1083 -+ SO_NREAD = 0x1020 -+ SO_NUMRCVPKT = 0x1112 -+ SO_NWRITE = 0x1024 -+ SO_OOBINLINE = 0x100 -+ SO_PEERLABEL = 0x1011 -+ SO_RANDOMPORT = 0x1082 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_REUSESHAREUID = 0x1025 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_TIMESTAMP = 0x400 -+ SO_TIMESTAMP_MONOTONIC = 0x800 -+ SO_TYPE = 0x1008 -+ SO_UPCALLCLOSEWAIT = 0x1027 -+ SO_USELOOPBACK = 0x40 -+ SO_WANTMORE = 0x4000 -+ SO_WANTOOBFLAG = 0x8000 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IFWHT = 0xe000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISTXT = 0x200 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_CONNECTIONTIMEOUT = 0x20 -+ TCP_ENABLE_ECN = 0x104 -+ TCP_KEEPALIVE = 0x10 -+ TCP_KEEPCNT = 0x102 -+ TCP_KEEPINTVL = 0x101 -+ TCP_MAXHLEN = 0x3c -+ TCP_MAXOLEN = 0x28 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_SACK = 0x4 -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MINMSS = 0xd8 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_NOOPT = 0x8 -+ TCP_NOPUSH = 0x4 -+ TCP_NOTSENT_LOWAT = 0x201 -+ TCP_RXT_CONNDROPTIME = 0x80 -+ TCP_RXT_FINDROP = 0x100 -+ TCP_SENDMOREACKS = 0x103 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDCDTIMESTAMP = 0x40087458 -+ TIOCDRAIN = 0x2000745e -+ TIOCDSIMICROCODE = 0x20007455 -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLUSH = 0x80047410 -+ TIOCGDRAINWAIT = 0x40047456 -+ TIOCGETA = 0x402c7413 -+ TIOCGETD = 0x4004741a -+ TIOCGPGRP = 0x40047477 -+ TIOCGWINSZ = 0x40087468 -+ TIOCIXOFF = 0x20007480 -+ TIOCIXON = 0x20007481 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGDTRWAIT = 0x4004745a -+ TIOCMGET = 0x4004746a -+ TIOCMODG = 0x40047403 -+ TIOCMODS = 0x80047404 -+ TIOCMSDTRWAIT = 0x8004745b -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCPTYGNAME = 0x40807453 -+ TIOCPTYGRANT = 0x20007454 -+ TIOCPTYUNLK = 0x20007452 -+ TIOCREMOTE = 0x80047469 -+ TIOCSBRK = 0x2000747b -+ TIOCSCONS = 0x20007463 -+ TIOCSCTTY = 0x20007461 -+ TIOCSDRAINWAIT = 0x80047457 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x802c7414 -+ TIOCSETAF = 0x802c7416 -+ TIOCSETAW = 0x802c7415 -+ TIOCSETD = 0x8004741b -+ TIOCSIG = 0x2000745f -+ TIOCSPGRP = 0x80047476 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x20007465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCTIMESTAMP = 0x40087459 -+ TIOCUCNTL = 0x80047466 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VT0 = 0x0 -+ VT1 = 0x10000 -+ VTDLY = 0x10000 -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WCONTINUED = 0x10 -+ WCOREFLAG = 0x80 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOWAIT = 0x20 -+ WORDSIZE = 0x20 -+ WSTOPPED = 0x8 -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADARCH = syscall.Errno(0x56) -+ EBADEXEC = syscall.Errno(0x55) -+ EBADF = syscall.Errno(0x9) -+ EBADMACHO = syscall.Errno(0x58) -+ EBADMSG = syscall.Errno(0x5e) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x59) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDEVERR = syscall.Errno(0x53) -+ EDOM = syscall.Errno(0x21) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x5a) -+ EILSEQ = syscall.Errno(0x5c) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x6a) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5f) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x5d) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODATA = syscall.Errno(0x60) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x61) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x5b) -+ ENOPOLICY = syscall.Errno(0x67) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x62) -+ ENOSTR = syscall.Errno(0x63) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTRECOVERABLE = syscall.Errno(0x68) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x2d) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x66) -+ EOVERFLOW = syscall.Errno(0x54) -+ EOWNERDEAD = syscall.Errno(0x69) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x64) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ EPWROFF = syscall.Errno(0x52) -+ EQFULL = syscall.Errno(0x6a) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHLIBVERS = syscall.Errno(0x57) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIME = syscall.Errno(0x65) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "resource busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "operation timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "device power is off", -+ 83: "device error", -+ 84: "value too large to be stored in data type", -+ 85: "bad executable (or shared library)", -+ 86: "bad CPU type in executable", -+ 87: "shared library version mismatch", -+ 88: "malformed Mach-o file", -+ 89: "operation canceled", -+ 90: "identifier removed", -+ 91: "no message of desired type", -+ 92: "illegal byte sequence", -+ 93: "attribute not found", -+ 94: "bad message", -+ 95: "EMULTIHOP (Reserved)", -+ 96: "no message available on STREAM", -+ 97: "ENOLINK (Reserved)", -+ 98: "no STREAM resources", -+ 99: "not a STREAM", -+ 100: "protocol error", -+ 101: "STREAM ioctl timeout", -+ 102: "operation not supported on socket", -+ 103: "policy not found", -+ 104: "state not recoverable", -+ 105: "previous owner died", -+ 106: "interface output queue is full", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "suspended (signal)", -+ 18: "suspended", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go -new file mode 100644 -index 0000000..9594f93 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go -@@ -0,0 +1,1576 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build amd64,darwin -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1c -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x25 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x1e -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1c -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x28 -+ AF_NATM = 0x1f -+ AF_NDRV = 0x1b -+ AF_NETBIOS = 0x21 -+ AF_NS = 0x6 -+ AF_OSI = 0x7 -+ AF_PPP = 0x22 -+ AF_PUP = 0x4 -+ AF_RESERVED_36 = 0x24 -+ AF_ROUTE = 0x11 -+ AF_SIP = 0x18 -+ AF_SNA = 0xb -+ AF_SYSTEM = 0x20 -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_UTUN = 0x26 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B9600 = 0x2580 -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc00c4279 -+ BIOCGETIF = 0x4020426b -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRSIG = 0x40044272 -+ BIOCGRTIMEOUT = 0x4010426e -+ BIOCGSEESENT = 0x40044276 -+ BIOCGSTATS = 0x4008426f -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDLT = 0x80044278 -+ BIOCSETF = 0x80104267 -+ BIOCSETFNR = 0x8010427e -+ BIOCSETIF = 0x8020426c -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRSIG = 0x80044273 -+ BIOCSRTIMEOUT = 0x8010426d -+ BIOCSSEESENT = 0x80044277 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x80000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0xc -+ CTL_NET = 0x4 -+ DLT_A429 = 0xb8 -+ DLT_A653_ICM = 0xb9 -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_AOS = 0xde -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_AX25_KISS = 0xca -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_BLUETOOTH_HCI_H4 = 0xbb -+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 -+ DLT_CAN20B = 0xbe -+ DLT_CAN_SOCKETCAN = 0xe3 -+ DLT_CHAOS = 0x5 -+ DLT_CHDLC = 0x68 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_C_HDLC_WITH_DIR = 0xcd -+ DLT_DBUS = 0xe7 -+ DLT_DECT = 0xdd -+ DLT_DOCSIS = 0x8f -+ DLT_DVB_CI = 0xeb -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF = 0xc5 -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FC_2 = 0xe0 -+ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 -+ DLT_FDDI = 0xa -+ DLT_FLEXRAY = 0xd2 -+ DLT_FRELAY = 0x6b -+ DLT_FRELAY_WITH_DIR = 0xce -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_GSMTAP_ABIS = 0xda -+ DLT_GSMTAP_UM = 0xd9 -+ DLT_HHDLC = 0x79 -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IEEE802_15_4 = 0xc3 -+ DLT_IEEE802_15_4_LINUX = 0xbf -+ DLT_IEEE802_15_4_NOFCS = 0xe6 -+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 -+ DLT_IEEE802_16_MAC_CPS = 0xbc -+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 -+ DLT_IPFILTER = 0x74 -+ DLT_IPMB = 0xc7 -+ DLT_IPMB_LINUX = 0xd1 -+ DLT_IPNET = 0xe2 -+ DLT_IPOIB = 0xf2 -+ DLT_IPV4 = 0xe4 -+ DLT_IPV6 = 0xe5 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_ATM_CEMIC = 0xee -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FIBRECHANNEL = 0xea -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_ISM = 0xc2 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_JUNIPER_SRX_E2E = 0xe9 -+ DLT_JUNIPER_ST = 0xc8 -+ DLT_JUNIPER_VP = 0xb7 -+ DLT_JUNIPER_VS = 0xe8 -+ DLT_LAPB_WITH_DIR = 0xcf -+ DLT_LAPD = 0xcb -+ DLT_LIN = 0xd4 -+ DLT_LINUX_EVDEV = 0xd8 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_PPP_WITHDIRECTION = 0xa6 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MATCHING_MAX = 0xf5 -+ DLT_MATCHING_MIN = 0x68 -+ DLT_MFR = 0xb6 -+ DLT_MOST = 0xd3 -+ DLT_MPEG_2_TS = 0xf3 -+ DLT_MPLS = 0xdb -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_MUX27010 = 0xec -+ DLT_NETANALYZER = 0xf0 -+ DLT_NETANALYZER_TRANSPARENT = 0xf1 -+ DLT_NFC_LLCP = 0xf5 -+ DLT_NFLOG = 0xef -+ DLT_NG40 = 0xf4 -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPI = 0xc0 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0x10 -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PPP_WITH_DIR = 0xcc -+ DLT_PPP_WITH_DIRECTION = 0xa6 -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAIF1 = 0xc6 -+ DLT_RAW = 0xc -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SITA = 0xc4 -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xf -+ DLT_STANAG_5066_D_PDU = 0xed -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ DLT_USB = 0xba -+ DLT_USB_LINUX = 0xbd -+ DLT_USB_LINUX_MMAPPED = 0xdc -+ DLT_USER0 = 0x93 -+ DLT_USER1 = 0x94 -+ DLT_USER10 = 0x9d -+ DLT_USER11 = 0x9e -+ DLT_USER12 = 0x9f -+ DLT_USER13 = 0xa0 -+ DLT_USER14 = 0xa1 -+ DLT_USER15 = 0xa2 -+ DLT_USER2 = 0x95 -+ DLT_USER3 = 0x96 -+ DLT_USER4 = 0x97 -+ DLT_USER5 = 0x98 -+ DLT_USER6 = 0x99 -+ DLT_USER7 = 0x9a -+ DLT_USER8 = 0x9b -+ DLT_USER9 = 0x9c -+ DLT_WIHART = 0xdf -+ DLT_X2E_SERIAL = 0xd5 -+ DLT_X2E_XORAYA = 0xd6 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EVFILT_AIO = -0x3 -+ EVFILT_FS = -0x9 -+ EVFILT_MACHPORT = -0x8 -+ EVFILT_PROC = -0x5 -+ EVFILT_READ = -0x1 -+ EVFILT_SIGNAL = -0x6 -+ EVFILT_SYSCOUNT = 0xe -+ EVFILT_THREADMARKER = 0xe -+ EVFILT_TIMER = -0x7 -+ EVFILT_USER = -0xa -+ EVFILT_VM = -0xc -+ EVFILT_VNODE = -0x4 -+ EVFILT_WRITE = -0x2 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_DISPATCH = 0x80 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG0 = 0x1000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_OOBAND = 0x2000 -+ EV_POLL = 0x1000 -+ EV_RECEIPT = 0x40 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x800000 -+ F_ADDFILESIGS = 0x3d -+ F_ADDSIGS = 0x3b -+ F_ALLOCATEALL = 0x4 -+ F_ALLOCATECONTIG = 0x2 -+ F_CHKCLEAN = 0x29 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x43 -+ F_FINDSIGS = 0x4e -+ F_FLUSH_DATA = 0x28 -+ F_FREEZE_FS = 0x35 -+ F_FULLFSYNC = 0x33 -+ F_GETCODEDIR = 0x48 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0x7 -+ F_GETLKPID = 0x42 -+ F_GETNOSIGPIPE = 0x4a -+ F_GETOWN = 0x5 -+ F_GETPATH = 0x32 -+ F_GETPATH_MTMINFO = 0x47 -+ F_GETPROTECTIONCLASS = 0x3f -+ F_GETPROTECTIONLEVEL = 0x4d -+ F_GLOBAL_NOCACHE = 0x37 -+ F_LOG2PHYS = 0x31 -+ F_LOG2PHYS_EXT = 0x41 -+ F_NOCACHE = 0x30 -+ F_NODIRECT = 0x3e -+ F_OK = 0x0 -+ F_PATHPKG_CHECK = 0x34 -+ F_PEOFPOSMODE = 0x3 -+ F_PREALLOCATE = 0x2a -+ F_RDADVISE = 0x2c -+ F_RDAHEAD = 0x2d -+ F_RDLCK = 0x1 -+ F_SETBACKINGSTORE = 0x46 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x8 -+ F_SETLKW = 0x9 -+ F_SETLKWTIMEOUT = 0xa -+ F_SETNOSIGPIPE = 0x49 -+ F_SETOWN = 0x6 -+ F_SETPROTECTIONCLASS = 0x40 -+ F_SETSIZE = 0x2b -+ F_SINGLE_WRITER = 0x4c -+ F_THAW_FS = 0x36 -+ F_TRANSCODEKEY = 0x4b -+ F_UNLCK = 0x2 -+ F_VOLPOSMODE = 0x4 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFF_ALLMULTI = 0x200 -+ IFF_ALTPHYS = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_AAL5 = 0x31 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ATM = 0x25 -+ IFT_BRIDGE = 0xd1 -+ IFT_CARP = 0xf8 -+ IFT_CELLULAR = 0xff -+ IFT_CEPT = 0x13 -+ IFT_DS3 = 0x1e -+ IFT_ENC = 0xf4 -+ IFT_EON = 0x19 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0x38 -+ IFT_FDDI = 0xf -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_GIF = 0x37 -+ IFT_HDH1822 = 0x3 -+ IFT_HIPPI = 0x2f -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE8023ADLAG = 0x88 -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88026 = 0xa -+ IFT_L2VLAN = 0x87 -+ IFT_LAPB = 0x10 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_NSIP = 0x1b -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PDP = 0xff -+ IFT_PFLOG = 0xf5 -+ IFT_PFSYNC = 0xf6 -+ IFT_PKTAP = 0xfe -+ IFT_PPP = 0x17 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PTPSERIAL = 0x16 -+ IFT_RS232 = 0x21 -+ IFT_SDLC = 0x11 -+ IFT_SIP = 0x1f -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_STARLAN = 0xb -+ IFT_STF = 0x39 -+ IFT_T1 = 0x12 -+ IFT_ULTRA = 0x1d -+ IFT_V35 = 0x2d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LINKLOCALNETNUM = 0xa9fe0000 -+ IN_LOOPBACKNET = 0x7f -+ IPPROTO_3PC = 0x22 -+ IPPROTO_ADFS = 0x44 -+ IPPROTO_AH = 0x33 -+ IPPROTO_AHIP = 0x3d -+ IPPROTO_APES = 0x63 -+ IPPROTO_ARGUS = 0xd -+ IPPROTO_AX25 = 0x5d -+ IPPROTO_BHA = 0x31 -+ IPPROTO_BLT = 0x1e -+ IPPROTO_BRSATMON = 0x4c -+ IPPROTO_CFTP = 0x3e -+ IPPROTO_CHAOS = 0x10 -+ IPPROTO_CMTP = 0x26 -+ IPPROTO_CPHB = 0x49 -+ IPPROTO_CPNX = 0x48 -+ IPPROTO_DDP = 0x25 -+ IPPROTO_DGP = 0x56 -+ IPPROTO_DIVERT = 0xfe -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_EMCON = 0xe -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GMTP = 0x64 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HELLO = 0x3f -+ IPPROTO_HMP = 0x14 -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IDPR = 0x23 -+ IPPROTO_IDRP = 0x2d -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IGP = 0x55 -+ IPPROTO_IGRP = 0x58 -+ IPPROTO_IL = 0x28 -+ IPPROTO_INLSP = 0x34 -+ IPPROTO_INP = 0x20 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPCV = 0x47 -+ IPPROTO_IPEIP = 0x5e -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPPC = 0x43 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IRTP = 0x1c -+ IPPROTO_KRYPTOLAN = 0x41 -+ IPPROTO_LARP = 0x5b -+ IPPROTO_LEAF1 = 0x19 -+ IPPROTO_LEAF2 = 0x1a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MEAS = 0x13 -+ IPPROTO_MHRP = 0x30 -+ IPPROTO_MICP = 0x5f -+ IPPROTO_MTP = 0x5c -+ IPPROTO_MUX = 0x12 -+ IPPROTO_ND = 0x4d -+ IPPROTO_NHRP = 0x36 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_NSP = 0x1f -+ IPPROTO_NVPII = 0xb -+ IPPROTO_OSPFIGP = 0x59 -+ IPPROTO_PGM = 0x71 -+ IPPROTO_PIGP = 0x9 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PRM = 0x15 -+ IPPROTO_PUP = 0xc -+ IPPROTO_PVP = 0x4b -+ IPPROTO_RAW = 0xff -+ IPPROTO_RCCMON = 0xa -+ IPPROTO_RDP = 0x1b -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_RVD = 0x42 -+ IPPROTO_SATEXPAK = 0x40 -+ IPPROTO_SATMON = 0x45 -+ IPPROTO_SCCSP = 0x60 -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_SDRP = 0x2a -+ IPPROTO_SEP = 0x21 -+ IPPROTO_SRPC = 0x5a -+ IPPROTO_ST = 0x7 -+ IPPROTO_SVMTP = 0x52 -+ IPPROTO_SWIPE = 0x35 -+ IPPROTO_TCF = 0x57 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_TPXX = 0x27 -+ IPPROTO_TRUNK1 = 0x17 -+ IPPROTO_TRUNK2 = 0x18 -+ IPPROTO_TTP = 0x54 -+ IPPROTO_UDP = 0x11 -+ IPPROTO_VINES = 0x53 -+ IPPROTO_VISA = 0x46 -+ IPPROTO_VMTP = 0x51 -+ IPPROTO_WBEXPAK = 0x4f -+ IPPROTO_WBMON = 0x4e -+ IPPROTO_WSN = 0x4a -+ IPPROTO_XNET = 0xf -+ IPPROTO_XTP = 0x24 -+ IPV6_2292DSTOPTS = 0x17 -+ IPV6_2292HOPLIMIT = 0x14 -+ IPV6_2292HOPOPTS = 0x16 -+ IPV6_2292NEXTHOP = 0x15 -+ IPV6_2292PKTINFO = 0x13 -+ IPV6_2292PKTOPTIONS = 0x19 -+ IPV6_2292RTHDR = 0x18 -+ IPV6_BINDV6ONLY = 0x1b -+ IPV6_BOUND_IF = 0x7d -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x3c -+ IPV6_FW_ADD = 0x1e -+ IPV6_FW_DEL = 0x1f -+ IPV6_FW_FLUSH = 0x20 -+ IPV6_FW_GET = 0x22 -+ IPV6_FW_ZERO = 0x21 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXOPTHDR = 0x800 -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MAX_GROUP_SRC_FILTER = 0x200 -+ IPV6_MAX_MEMBERSHIPS = 0xfff -+ IPV6_MAX_SOCK_SRC_FILTER = 0x80 -+ IPV6_MIN_MEMBERSHIPS = 0x1f -+ IPV6_MMTU = 0x500 -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_RECVTCLASS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x24 -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_ADD_SOURCE_MEMBERSHIP = 0x46 -+ IP_BLOCK_SOURCE = 0x48 -+ IP_BOUND_IF = 0x19 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_DROP_SOURCE_MEMBERSHIP = 0x47 -+ IP_DUMMYNET_CONFIGURE = 0x3c -+ IP_DUMMYNET_DEL = 0x3d -+ IP_DUMMYNET_FLUSH = 0x3e -+ IP_DUMMYNET_GET = 0x40 -+ IP_FAITH = 0x16 -+ IP_FW_ADD = 0x28 -+ IP_FW_DEL = 0x29 -+ IP_FW_FLUSH = 0x2a -+ IP_FW_GET = 0x2c -+ IP_FW_RESETLOG = 0x2d -+ IP_FW_ZERO = 0x2b -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x15 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_GROUP_SRC_FILTER = 0x200 -+ IP_MAX_MEMBERSHIPS = 0xfff -+ IP_MAX_SOCK_MUTE_FILTER = 0x80 -+ IP_MAX_SOCK_SRC_FILTER = 0x80 -+ IP_MF = 0x2000 -+ IP_MIN_MEMBERSHIPS = 0x1f -+ IP_MSFILTER = 0x4a -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_IFINDEX = 0x42 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_MULTICAST_VIF = 0xe -+ IP_NAT__XXX = 0x37 -+ IP_OFFMASK = 0x1fff -+ IP_OLD_FW_ADD = 0x32 -+ IP_OLD_FW_DEL = 0x33 -+ IP_OLD_FW_FLUSH = 0x34 -+ IP_OLD_FW_GET = 0x36 -+ IP_OLD_FW_RESETLOG = 0x38 -+ IP_OLD_FW_ZERO = 0x35 -+ IP_OPTIONS = 0x1 -+ IP_PKTINFO = 0x1a -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVPKTINFO = 0x1a -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTTL = 0x18 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_RSVP_OFF = 0x10 -+ IP_RSVP_ON = 0xf -+ IP_RSVP_VIF_OFF = 0x12 -+ IP_RSVP_VIF_ON = 0x11 -+ IP_STRIPHDR = 0x17 -+ IP_TOS = 0x3 -+ IP_TRAFFIC_MGT_BACKGROUND = 0x41 -+ IP_TTL = 0x4 -+ IP_UNBLOCK_SOURCE = 0x49 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_CAN_REUSE = 0x9 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x5 -+ MADV_FREE_REUSABLE = 0x7 -+ MADV_FREE_REUSE = 0x8 -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_WILLNEED = 0x3 -+ MADV_ZERO_WIRED_PAGES = 0x6 -+ MAP_ANON = 0x1000 -+ MAP_COPY = 0x2 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_JIT = 0x800 -+ MAP_NOCACHE = 0x400 -+ MAP_NOEXTEND = 0x100 -+ MAP_NORESERVE = 0x40 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_RESERVED0080 = 0x80 -+ MAP_SHARED = 0x1 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOF = 0x100 -+ MSG_EOR = 0x8 -+ MSG_FLUSH = 0x400 -+ MSG_HAVEMORE = 0x2000 -+ MSG_HOLD = 0x800 -+ MSG_NEEDSA = 0x10000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_RCVMORE = 0x4000 -+ MSG_SEND = 0x1000 -+ MSG_TRUNC = 0x10 -+ MSG_WAITALL = 0x40 -+ MSG_WAITSTREAM = 0x200 -+ MS_ASYNC = 0x1 -+ MS_DEACTIVATE = 0x8 -+ MS_INVALIDATE = 0x2 -+ MS_KILLPAGES = 0x4 -+ MS_SYNC = 0x10 -+ NAME_MAX = 0xff -+ NET_RT_DUMP = 0x1 -+ NET_RT_DUMP2 = 0x7 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x3 -+ NET_RT_IFLIST2 = 0x6 -+ NET_RT_MAXID = 0xa -+ NET_RT_STAT = 0x4 -+ NET_RT_TRASH = 0x5 -+ NOFLSH = 0x80000000 -+ NOTE_ABSOLUTE = 0x8 -+ NOTE_ATTRIB = 0x8 -+ NOTE_BACKGROUND = 0x40 -+ NOTE_CHILD = 0x4 -+ NOTE_CRITICAL = 0x20 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXITSTATUS = 0x4000000 -+ NOTE_EXIT_CSERROR = 0x40000 -+ NOTE_EXIT_DECRYPTFAIL = 0x10000 -+ NOTE_EXIT_DETAIL = 0x2000000 -+ NOTE_EXIT_DETAIL_MASK = 0x70000 -+ NOTE_EXIT_MEMORY = 0x20000 -+ NOTE_EXIT_REPARENTED = 0x80000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FFAND = 0x40000000 -+ NOTE_FFCOPY = 0xc0000000 -+ NOTE_FFCTRLMASK = 0xc0000000 -+ NOTE_FFLAGSMASK = 0xffffff -+ NOTE_FFNOP = 0x0 -+ NOTE_FFOR = 0x80000000 -+ NOTE_FORK = 0x40000000 -+ NOTE_LEEWAY = 0x10 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_NONE = 0x80 -+ NOTE_NSECONDS = 0x4 -+ NOTE_PCTRLMASK = -0x100000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_REAP = 0x10000000 -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_SECONDS = 0x1 -+ NOTE_SIGNAL = 0x8000000 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_TRIGGER = 0x1000000 -+ NOTE_USECONDS = 0x2 -+ NOTE_VM_ERROR = 0x10000000 -+ NOTE_VM_PRESSURE = 0x80000000 -+ NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 -+ NOTE_VM_PRESSURE_TERMINATE = 0x40000000 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ OFDEL = 0x20000 -+ OFILL = 0x80 -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_ALERT = 0x20000000 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x1000000 -+ O_CREAT = 0x200 -+ O_DIRECTORY = 0x100000 -+ O_DP_GETRAWENCRYPTED = 0x1 -+ O_DSYNC = 0x400000 -+ O_EVTONLY = 0x8000 -+ O_EXCL = 0x800 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x20000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_POPUP = 0x80000000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_SHLOCK = 0x10 -+ O_SYMLINK = 0x200000 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PT_ATTACH = 0xa -+ PT_ATTACHEXC = 0xe -+ PT_CONTINUE = 0x7 -+ PT_DENY_ATTACH = 0x1f -+ PT_DETACH = 0xb -+ PT_FIRSTMACH = 0x20 -+ PT_FORCEQUOTA = 0x1e -+ PT_KILL = 0x8 -+ PT_READ_D = 0x2 -+ PT_READ_I = 0x1 -+ PT_READ_U = 0x3 -+ PT_SIGEXC = 0xc -+ PT_STEP = 0x9 -+ PT_THUPDATE = 0xd -+ PT_TRACE_ME = 0x0 -+ PT_WRITE_D = 0x5 -+ PT_WRITE_I = 0x4 -+ PT_WRITE_U = 0x6 -+ RLIMIT_AS = 0x5 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_CPU_USAGE_MONITOR = 0x2 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x8 -+ RTAX_NETMASK = 0x2 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_BROADCAST = 0x400000 -+ RTF_CLONING = 0x100 -+ RTF_CONDEMNED = 0x2000000 -+ RTF_DELCLONE = 0x80 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_IFREF = 0x4000000 -+ RTF_IFSCOPE = 0x1000000 -+ RTF_LLINFO = 0x400 -+ RTF_LOCAL = 0x200000 -+ RTF_MODIFIED = 0x20 -+ RTF_MULTICAST = 0x800000 -+ RTF_NOIFREF = 0x2000 -+ RTF_PINNED = 0x100000 -+ RTF_PRCLONING = 0x10000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_PROTO3 = 0x40000 -+ RTF_PROXY = 0x8000000 -+ RTF_REJECT = 0x8 -+ RTF_ROUTER = 0x10000000 -+ RTF_STATIC = 0x800 -+ RTF_UP = 0x1 -+ RTF_WASCLONED = 0x20000 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_DELMADDR = 0x10 -+ RTM_GET = 0x4 -+ RTM_GET2 = 0x14 -+ RTM_IFINFO = 0xe -+ RTM_IFINFO2 = 0x12 -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_NEWMADDR = 0xf -+ RTM_NEWMADDR2 = 0x13 -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_VERSION = 0x5 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ SCM_CREDS = 0x3 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x2 -+ SCM_TIMESTAMP_MONOTONIC = 0x4 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80206931 -+ SIOCAIFADDR = 0x8040691a -+ SIOCARPIPLL = 0xc0206928 -+ SIOCATMARK = 0x40047307 -+ SIOCAUTOADDR = 0xc0206926 -+ SIOCAUTONETMASK = 0x80206927 -+ SIOCDELMULTI = 0x80206932 -+ SIOCDIFADDR = 0x80206919 -+ SIOCDIFPHYADDR = 0x80206941 -+ SIOCGDRVSPEC = 0xc028697b -+ SIOCGETVLAN = 0xc020697f -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0206921 -+ SIOCGIFALTMTU = 0xc0206948 -+ SIOCGIFASYNCMAP = 0xc020697c -+ SIOCGIFBOND = 0xc0206947 -+ SIOCGIFBRDADDR = 0xc0206923 -+ SIOCGIFCAP = 0xc020695b -+ SIOCGIFCONF = 0xc00c6924 -+ SIOCGIFDEVMTU = 0xc0206944 -+ SIOCGIFDSTADDR = 0xc0206922 -+ SIOCGIFFLAGS = 0xc0206911 -+ SIOCGIFGENERIC = 0xc020693a -+ SIOCGIFKPI = 0xc0206987 -+ SIOCGIFMAC = 0xc0206982 -+ SIOCGIFMEDIA = 0xc02c6938 -+ SIOCGIFMETRIC = 0xc0206917 -+ SIOCGIFMTU = 0xc0206933 -+ SIOCGIFNETMASK = 0xc0206925 -+ SIOCGIFPDSTADDR = 0xc0206940 -+ SIOCGIFPHYS = 0xc0206935 -+ SIOCGIFPSRCADDR = 0xc020693f -+ SIOCGIFSTATUS = 0xc331693d -+ SIOCGIFVLAN = 0xc020697f -+ SIOCGIFWAKEFLAGS = 0xc0206988 -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCIFCREATE = 0xc0206978 -+ SIOCIFCREATE2 = 0xc020697a -+ SIOCIFDESTROY = 0x80206979 -+ SIOCIFGCLONERS = 0xc0106981 -+ SIOCRSLVMULTI = 0xc010693b -+ SIOCSDRVSPEC = 0x8028697b -+ SIOCSETVLAN = 0x8020697e -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8020690c -+ SIOCSIFALTMTU = 0x80206945 -+ SIOCSIFASYNCMAP = 0x8020697d -+ SIOCSIFBOND = 0x80206946 -+ SIOCSIFBRDADDR = 0x80206913 -+ SIOCSIFCAP = 0x8020695a -+ SIOCSIFDSTADDR = 0x8020690e -+ SIOCSIFFLAGS = 0x80206910 -+ SIOCSIFGENERIC = 0x80206939 -+ SIOCSIFKPI = 0x80206986 -+ SIOCSIFLLADDR = 0x8020693c -+ SIOCSIFMAC = 0x80206983 -+ SIOCSIFMEDIA = 0xc0206937 -+ SIOCSIFMETRIC = 0x80206918 -+ SIOCSIFMTU = 0x80206934 -+ SIOCSIFNETMASK = 0x80206916 -+ SIOCSIFPHYADDR = 0x8040693e -+ SIOCSIFPHYS = 0x80206936 -+ SIOCSIFVLAN = 0x8020697e -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SOCK_DGRAM = 0x2 -+ SOCK_MAXADDRLEN = 0xff -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_DONTTRUNC = 0x2000 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LABEL = 0x1010 -+ SO_LINGER = 0x80 -+ SO_LINGER_SEC = 0x1080 -+ SO_NKE = 0x1021 -+ SO_NOADDRERR = 0x1023 -+ SO_NOSIGPIPE = 0x1022 -+ SO_NOTIFYCONFLICT = 0x1026 -+ SO_NP_EXTENSIONS = 0x1083 -+ SO_NREAD = 0x1020 -+ SO_NUMRCVPKT = 0x1112 -+ SO_NWRITE = 0x1024 -+ SO_OOBINLINE = 0x100 -+ SO_PEERLABEL = 0x1011 -+ SO_RANDOMPORT = 0x1082 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_REUSESHAREUID = 0x1025 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_TIMESTAMP = 0x400 -+ SO_TIMESTAMP_MONOTONIC = 0x800 -+ SO_TYPE = 0x1008 -+ SO_UPCALLCLOSEWAIT = 0x1027 -+ SO_USELOOPBACK = 0x40 -+ SO_WANTMORE = 0x4000 -+ SO_WANTOOBFLAG = 0x8000 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IFWHT = 0xe000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISTXT = 0x200 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_CONNECTIONTIMEOUT = 0x20 -+ TCP_ENABLE_ECN = 0x104 -+ TCP_KEEPALIVE = 0x10 -+ TCP_KEEPCNT = 0x102 -+ TCP_KEEPINTVL = 0x101 -+ TCP_MAXHLEN = 0x3c -+ TCP_MAXOLEN = 0x28 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_SACK = 0x4 -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MINMSS = 0xd8 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_NOOPT = 0x8 -+ TCP_NOPUSH = 0x4 -+ TCP_NOTSENT_LOWAT = 0x201 -+ TCP_RXT_CONNDROPTIME = 0x80 -+ TCP_RXT_FINDROP = 0x100 -+ TCP_SENDMOREACKS = 0x103 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDCDTIMESTAMP = 0x40107458 -+ TIOCDRAIN = 0x2000745e -+ TIOCDSIMICROCODE = 0x20007455 -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLUSH = 0x80047410 -+ TIOCGDRAINWAIT = 0x40047456 -+ TIOCGETA = 0x40487413 -+ TIOCGETD = 0x4004741a -+ TIOCGPGRP = 0x40047477 -+ TIOCGWINSZ = 0x40087468 -+ TIOCIXOFF = 0x20007480 -+ TIOCIXON = 0x20007481 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGDTRWAIT = 0x4004745a -+ TIOCMGET = 0x4004746a -+ TIOCMODG = 0x40047403 -+ TIOCMODS = 0x80047404 -+ TIOCMSDTRWAIT = 0x8004745b -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCPTYGNAME = 0x40807453 -+ TIOCPTYGRANT = 0x20007454 -+ TIOCPTYUNLK = 0x20007452 -+ TIOCREMOTE = 0x80047469 -+ TIOCSBRK = 0x2000747b -+ TIOCSCONS = 0x20007463 -+ TIOCSCTTY = 0x20007461 -+ TIOCSDRAINWAIT = 0x80047457 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x80487414 -+ TIOCSETAF = 0x80487416 -+ TIOCSETAW = 0x80487415 -+ TIOCSETD = 0x8004741b -+ TIOCSIG = 0x2000745f -+ TIOCSPGRP = 0x80047476 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x20007465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCTIMESTAMP = 0x40107459 -+ TIOCUCNTL = 0x80047466 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VT0 = 0x0 -+ VT1 = 0x10000 -+ VTDLY = 0x10000 -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WCONTINUED = 0x10 -+ WCOREFLAG = 0x80 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOWAIT = 0x20 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x8 -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADARCH = syscall.Errno(0x56) -+ EBADEXEC = syscall.Errno(0x55) -+ EBADF = syscall.Errno(0x9) -+ EBADMACHO = syscall.Errno(0x58) -+ EBADMSG = syscall.Errno(0x5e) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x59) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDEVERR = syscall.Errno(0x53) -+ EDOM = syscall.Errno(0x21) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x5a) -+ EILSEQ = syscall.Errno(0x5c) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x6a) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5f) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x5d) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODATA = syscall.Errno(0x60) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x61) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x5b) -+ ENOPOLICY = syscall.Errno(0x67) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x62) -+ ENOSTR = syscall.Errno(0x63) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTRECOVERABLE = syscall.Errno(0x68) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x2d) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x66) -+ EOVERFLOW = syscall.Errno(0x54) -+ EOWNERDEAD = syscall.Errno(0x69) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x64) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ EPWROFF = syscall.Errno(0x52) -+ EQFULL = syscall.Errno(0x6a) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHLIBVERS = syscall.Errno(0x57) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIME = syscall.Errno(0x65) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "resource busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "operation timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "device power is off", -+ 83: "device error", -+ 84: "value too large to be stored in data type", -+ 85: "bad executable (or shared library)", -+ 86: "bad CPU type in executable", -+ 87: "shared library version mismatch", -+ 88: "malformed Mach-o file", -+ 89: "operation canceled", -+ 90: "identifier removed", -+ 91: "no message of desired type", -+ 92: "illegal byte sequence", -+ 93: "attribute not found", -+ 94: "bad message", -+ 95: "EMULTIHOP (Reserved)", -+ 96: "no message available on STREAM", -+ 97: "ENOLINK (Reserved)", -+ 98: "no STREAM resources", -+ 99: "not a STREAM", -+ 100: "protocol error", -+ 101: "STREAM ioctl timeout", -+ 102: "operation not supported on socket", -+ 103: "policy not found", -+ 104: "state not recoverable", -+ 105: "previous owner died", -+ 106: "interface output queue is full", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "suspended (signal)", -+ 18: "suspended", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go -new file mode 100644 -index 0000000..a410e88 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go -@@ -0,0 +1,1293 @@ -+// mkerrors.sh -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- _const.go -+ -+// +build arm,darwin -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1c -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x25 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x1e -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1c -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x28 -+ AF_NATM = 0x1f -+ AF_NDRV = 0x1b -+ AF_NETBIOS = 0x21 -+ AF_NS = 0x6 -+ AF_OSI = 0x7 -+ AF_PPP = 0x22 -+ AF_PUP = 0x4 -+ AF_RESERVED_36 = 0x24 -+ AF_ROUTE = 0x11 -+ AF_SIP = 0x18 -+ AF_SNA = 0xb -+ AF_SYSTEM = 0x20 -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_UTUN = 0x26 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B9600 = 0x2580 -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc00c4279 -+ BIOCGETIF = 0x4020426b -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRSIG = 0x40044272 -+ BIOCGRTIMEOUT = 0x4010426e -+ BIOCGSEESENT = 0x40044276 -+ BIOCGSTATS = 0x4008426f -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDLT = 0x80044278 -+ BIOCSETF = 0x80104267 -+ BIOCSETIF = 0x8020426c -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRSIG = 0x80044273 -+ BIOCSRTIMEOUT = 0x8010426d -+ BIOCSSEESENT = 0x80044277 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x80000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0xc -+ CTL_NET = 0x4 -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AX25 = 0x3 -+ DLT_CHAOS = 0x5 -+ DLT_CHDLC = 0x68 -+ DLT_C_HDLC = 0x68 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_FDDI = 0xa -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_NULL = 0x0 -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0x10 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PRONET = 0x4 -+ DLT_RAW = 0xc -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xf -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EVFILT_AIO = -0x3 -+ EVFILT_FS = -0x9 -+ EVFILT_MACHPORT = -0x8 -+ EVFILT_PROC = -0x5 -+ EVFILT_READ = -0x1 -+ EVFILT_SIGNAL = -0x6 -+ EVFILT_SYSCOUNT = 0xe -+ EVFILT_THREADMARKER = 0xe -+ EVFILT_TIMER = -0x7 -+ EVFILT_USER = -0xa -+ EVFILT_VM = -0xc -+ EVFILT_VNODE = -0x4 -+ EVFILT_WRITE = -0x2 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_DISPATCH = 0x80 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG0 = 0x1000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_OOBAND = 0x2000 -+ EV_POLL = 0x1000 -+ EV_RECEIPT = 0x40 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x800000 -+ F_ADDFILESIGS = 0x3d -+ F_ADDSIGS = 0x3b -+ F_ALLOCATEALL = 0x4 -+ F_ALLOCATECONTIG = 0x2 -+ F_CHKCLEAN = 0x29 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x43 -+ F_FINDSIGS = 0x4e -+ F_FLUSH_DATA = 0x28 -+ F_FREEZE_FS = 0x35 -+ F_FULLFSYNC = 0x33 -+ F_GETCODEDIR = 0x48 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0x7 -+ F_GETLKPID = 0x42 -+ F_GETNOSIGPIPE = 0x4a -+ F_GETOWN = 0x5 -+ F_GETPATH = 0x32 -+ F_GETPATH_MTMINFO = 0x47 -+ F_GETPROTECTIONCLASS = 0x3f -+ F_GETPROTECTIONLEVEL = 0x4d -+ F_GLOBAL_NOCACHE = 0x37 -+ F_LOG2PHYS = 0x31 -+ F_LOG2PHYS_EXT = 0x41 -+ F_NOCACHE = 0x30 -+ F_NODIRECT = 0x3e -+ F_OK = 0x0 -+ F_PATHPKG_CHECK = 0x34 -+ F_PEOFPOSMODE = 0x3 -+ F_PREALLOCATE = 0x2a -+ F_RDADVISE = 0x2c -+ F_RDAHEAD = 0x2d -+ F_RDLCK = 0x1 -+ F_SETBACKINGSTORE = 0x46 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x8 -+ F_SETLKW = 0x9 -+ F_SETLKWTIMEOUT = 0xa -+ F_SETNOSIGPIPE = 0x49 -+ F_SETOWN = 0x6 -+ F_SETPROTECTIONCLASS = 0x40 -+ F_SETSIZE = 0x2b -+ F_SINGLE_WRITER = 0x4c -+ F_THAW_FS = 0x36 -+ F_TRANSCODEKEY = 0x4b -+ F_UNLCK = 0x2 -+ F_VOLPOSMODE = 0x4 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFF_ALLMULTI = 0x200 -+ IFF_ALTPHYS = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_AAL5 = 0x31 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ATM = 0x25 -+ IFT_BRIDGE = 0xd1 -+ IFT_CARP = 0xf8 -+ IFT_CELLULAR = 0xff -+ IFT_CEPT = 0x13 -+ IFT_DS3 = 0x1e -+ IFT_ENC = 0xf4 -+ IFT_EON = 0x19 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0x38 -+ IFT_FDDI = 0xf -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_GIF = 0x37 -+ IFT_HDH1822 = 0x3 -+ IFT_HIPPI = 0x2f -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE8023ADLAG = 0x88 -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88026 = 0xa -+ IFT_L2VLAN = 0x87 -+ IFT_LAPB = 0x10 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_NSIP = 0x1b -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PDP = 0xff -+ IFT_PFLOG = 0xf5 -+ IFT_PFSYNC = 0xf6 -+ IFT_PPP = 0x17 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PTPSERIAL = 0x16 -+ IFT_RS232 = 0x21 -+ IFT_SDLC = 0x11 -+ IFT_SIP = 0x1f -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_STARLAN = 0xb -+ IFT_STF = 0x39 -+ IFT_T1 = 0x12 -+ IFT_ULTRA = 0x1d -+ IFT_V35 = 0x2d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LINKLOCALNETNUM = 0xa9fe0000 -+ IN_LOOPBACKNET = 0x7f -+ IPPROTO_3PC = 0x22 -+ IPPROTO_ADFS = 0x44 -+ IPPROTO_AH = 0x33 -+ IPPROTO_AHIP = 0x3d -+ IPPROTO_APES = 0x63 -+ IPPROTO_ARGUS = 0xd -+ IPPROTO_AX25 = 0x5d -+ IPPROTO_BHA = 0x31 -+ IPPROTO_BLT = 0x1e -+ IPPROTO_BRSATMON = 0x4c -+ IPPROTO_CFTP = 0x3e -+ IPPROTO_CHAOS = 0x10 -+ IPPROTO_CMTP = 0x26 -+ IPPROTO_CPHB = 0x49 -+ IPPROTO_CPNX = 0x48 -+ IPPROTO_DDP = 0x25 -+ IPPROTO_DGP = 0x56 -+ IPPROTO_DIVERT = 0xfe -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_EMCON = 0xe -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GMTP = 0x64 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HELLO = 0x3f -+ IPPROTO_HMP = 0x14 -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IDPR = 0x23 -+ IPPROTO_IDRP = 0x2d -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IGP = 0x55 -+ IPPROTO_IGRP = 0x58 -+ IPPROTO_IL = 0x28 -+ IPPROTO_INLSP = 0x34 -+ IPPROTO_INP = 0x20 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPCV = 0x47 -+ IPPROTO_IPEIP = 0x5e -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPPC = 0x43 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IRTP = 0x1c -+ IPPROTO_KRYPTOLAN = 0x41 -+ IPPROTO_LARP = 0x5b -+ IPPROTO_LEAF1 = 0x19 -+ IPPROTO_LEAF2 = 0x1a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MEAS = 0x13 -+ IPPROTO_MHRP = 0x30 -+ IPPROTO_MICP = 0x5f -+ IPPROTO_MTP = 0x5c -+ IPPROTO_MUX = 0x12 -+ IPPROTO_ND = 0x4d -+ IPPROTO_NHRP = 0x36 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_NSP = 0x1f -+ IPPROTO_NVPII = 0xb -+ IPPROTO_OSPFIGP = 0x59 -+ IPPROTO_PGM = 0x71 -+ IPPROTO_PIGP = 0x9 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PRM = 0x15 -+ IPPROTO_PUP = 0xc -+ IPPROTO_PVP = 0x4b -+ IPPROTO_RAW = 0xff -+ IPPROTO_RCCMON = 0xa -+ IPPROTO_RDP = 0x1b -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_RVD = 0x42 -+ IPPROTO_SATEXPAK = 0x40 -+ IPPROTO_SATMON = 0x45 -+ IPPROTO_SCCSP = 0x60 -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_SDRP = 0x2a -+ IPPROTO_SEP = 0x21 -+ IPPROTO_SRPC = 0x5a -+ IPPROTO_ST = 0x7 -+ IPPROTO_SVMTP = 0x52 -+ IPPROTO_SWIPE = 0x35 -+ IPPROTO_TCF = 0x57 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_TPXX = 0x27 -+ IPPROTO_TRUNK1 = 0x17 -+ IPPROTO_TRUNK2 = 0x18 -+ IPPROTO_TTP = 0x54 -+ IPPROTO_UDP = 0x11 -+ IPPROTO_VINES = 0x53 -+ IPPROTO_VISA = 0x46 -+ IPPROTO_VMTP = 0x51 -+ IPPROTO_WBEXPAK = 0x4f -+ IPPROTO_WBMON = 0x4e -+ IPPROTO_WSN = 0x4a -+ IPPROTO_XNET = 0xf -+ IPPROTO_XTP = 0x24 -+ IPV6_2292DSTOPTS = 0x17 -+ IPV6_2292HOPLIMIT = 0x14 -+ IPV6_2292HOPOPTS = 0x16 -+ IPV6_2292NEXTHOP = 0x15 -+ IPV6_2292PKTINFO = 0x13 -+ IPV6_2292PKTOPTIONS = 0x19 -+ IPV6_2292RTHDR = 0x18 -+ IPV6_BINDV6ONLY = 0x1b -+ IPV6_BOUND_IF = 0x7d -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x78 -+ IPV6_FW_ADD = 0x1e -+ IPV6_FW_DEL = 0x1f -+ IPV6_FW_FLUSH = 0x20 -+ IPV6_FW_GET = 0x22 -+ IPV6_FW_ZERO = 0x21 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXOPTHDR = 0x800 -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MAX_GROUP_SRC_FILTER = 0x200 -+ IPV6_MAX_MEMBERSHIPS = 0xfff -+ IPV6_MAX_SOCK_SRC_FILTER = 0x80 -+ IPV6_MIN_MEMBERSHIPS = 0x1f -+ IPV6_MMTU = 0x500 -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_RECVTCLASS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x24 -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_ADD_SOURCE_MEMBERSHIP = 0x46 -+ IP_BLOCK_SOURCE = 0x48 -+ IP_BOUND_IF = 0x19 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_DROP_SOURCE_MEMBERSHIP = 0x47 -+ IP_DUMMYNET_CONFIGURE = 0x3c -+ IP_DUMMYNET_DEL = 0x3d -+ IP_DUMMYNET_FLUSH = 0x3e -+ IP_DUMMYNET_GET = 0x40 -+ IP_FAITH = 0x16 -+ IP_FW_ADD = 0x28 -+ IP_FW_DEL = 0x29 -+ IP_FW_FLUSH = 0x2a -+ IP_FW_GET = 0x2c -+ IP_FW_RESETLOG = 0x2d -+ IP_FW_ZERO = 0x2b -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x15 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_GROUP_SRC_FILTER = 0x200 -+ IP_MAX_MEMBERSHIPS = 0xfff -+ IP_MAX_SOCK_MUTE_FILTER = 0x80 -+ IP_MAX_SOCK_SRC_FILTER = 0x80 -+ IP_MF = 0x2000 -+ IP_MIN_MEMBERSHIPS = 0x1f -+ IP_MSFILTER = 0x4a -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_IFINDEX = 0x42 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_MULTICAST_VIF = 0xe -+ IP_NAT__XXX = 0x37 -+ IP_OFFMASK = 0x1fff -+ IP_OLD_FW_ADD = 0x32 -+ IP_OLD_FW_DEL = 0x33 -+ IP_OLD_FW_FLUSH = 0x34 -+ IP_OLD_FW_GET = 0x36 -+ IP_OLD_FW_RESETLOG = 0x38 -+ IP_OLD_FW_ZERO = 0x35 -+ IP_OPTIONS = 0x1 -+ IP_PKTINFO = 0x1a -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVPKTINFO = 0x1a -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTTL = 0x18 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_RSVP_OFF = 0x10 -+ IP_RSVP_ON = 0xf -+ IP_RSVP_VIF_OFF = 0x12 -+ IP_RSVP_VIF_ON = 0x11 -+ IP_STRIPHDR = 0x17 -+ IP_TOS = 0x3 -+ IP_TRAFFIC_MGT_BACKGROUND = 0x41 -+ IP_TTL = 0x4 -+ IP_UNBLOCK_SOURCE = 0x49 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_CAN_REUSE = 0x9 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x5 -+ MADV_FREE_REUSABLE = 0x7 -+ MADV_FREE_REUSE = 0x8 -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_WILLNEED = 0x3 -+ MADV_ZERO_WIRED_PAGES = 0x6 -+ MAP_ANON = 0x1000 -+ MAP_COPY = 0x2 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_JIT = 0x800 -+ MAP_NOCACHE = 0x400 -+ MAP_NOEXTEND = 0x100 -+ MAP_NORESERVE = 0x40 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_RESERVED0080 = 0x80 -+ MAP_SHARED = 0x1 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOF = 0x100 -+ MSG_EOR = 0x8 -+ MSG_FLUSH = 0x400 -+ MSG_HAVEMORE = 0x2000 -+ MSG_HOLD = 0x800 -+ MSG_NEEDSA = 0x10000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_RCVMORE = 0x4000 -+ MSG_SEND = 0x1000 -+ MSG_TRUNC = 0x10 -+ MSG_WAITALL = 0x40 -+ MSG_WAITSTREAM = 0x200 -+ MS_ASYNC = 0x1 -+ MS_DEACTIVATE = 0x8 -+ MS_INVALIDATE = 0x2 -+ MS_KILLPAGES = 0x4 -+ MS_SYNC = 0x10 -+ NAME_MAX = 0xff -+ NET_RT_DUMP = 0x1 -+ NET_RT_DUMP2 = 0x7 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x3 -+ NET_RT_IFLIST2 = 0x6 -+ NET_RT_MAXID = 0xa -+ NET_RT_STAT = 0x4 -+ NET_RT_TRASH = 0x5 -+ NOFLSH = 0x80000000 -+ NOTE_ABSOLUTE = 0x8 -+ NOTE_ATTRIB = 0x8 -+ NOTE_BACKGROUND = 0x40 -+ NOTE_CHILD = 0x4 -+ NOTE_CRITICAL = 0x20 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXITSTATUS = 0x4000000 -+ NOTE_EXIT_CSERROR = 0x40000 -+ NOTE_EXIT_DECRYPTFAIL = 0x10000 -+ NOTE_EXIT_DETAIL = 0x2000000 -+ NOTE_EXIT_DETAIL_MASK = 0x70000 -+ NOTE_EXIT_MEMORY = 0x20000 -+ NOTE_EXIT_REPARENTED = 0x80000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FFAND = 0x40000000 -+ NOTE_FFCOPY = 0xc0000000 -+ NOTE_FFCTRLMASK = 0xc0000000 -+ NOTE_FFLAGSMASK = 0xffffff -+ NOTE_FFNOP = 0x0 -+ NOTE_FFOR = 0x80000000 -+ NOTE_FORK = 0x40000000 -+ NOTE_LEEWAY = 0x10 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_NONE = 0x80 -+ NOTE_NSECONDS = 0x4 -+ NOTE_PCTRLMASK = -0x100000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_REAP = 0x10000000 -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_SECONDS = 0x1 -+ NOTE_SIGNAL = 0x8000000 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_TRIGGER = 0x1000000 -+ NOTE_USECONDS = 0x2 -+ NOTE_VM_ERROR = 0x10000000 -+ NOTE_VM_PRESSURE = 0x80000000 -+ NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 -+ NOTE_VM_PRESSURE_TERMINATE = 0x40000000 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ OFDEL = 0x20000 -+ OFILL = 0x80 -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_ALERT = 0x20000000 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x1000000 -+ O_CREAT = 0x200 -+ O_DIRECTORY = 0x100000 -+ O_DP_GETRAWENCRYPTED = 0x1 -+ O_DSYNC = 0x400000 -+ O_EVTONLY = 0x8000 -+ O_EXCL = 0x800 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x20000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_POPUP = 0x80000000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_SHLOCK = 0x10 -+ O_SYMLINK = 0x200000 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PT_ATTACH = 0xa -+ PT_ATTACHEXC = 0xe -+ PT_CONTINUE = 0x7 -+ PT_DENY_ATTACH = 0x1f -+ PT_DETACH = 0xb -+ PT_FIRSTMACH = 0x20 -+ PT_FORCEQUOTA = 0x1e -+ PT_KILL = 0x8 -+ PT_READ_D = 0x2 -+ PT_READ_I = 0x1 -+ PT_READ_U = 0x3 -+ PT_SIGEXC = 0xc -+ PT_STEP = 0x9 -+ PT_THUPDATE = 0xd -+ PT_TRACE_ME = 0x0 -+ PT_WRITE_D = 0x5 -+ PT_WRITE_I = 0x4 -+ PT_WRITE_U = 0x6 -+ RLIMIT_AS = 0x5 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_CPU_USAGE_MONITOR = 0x2 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x8 -+ RTAX_NETMASK = 0x2 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_BROADCAST = 0x400000 -+ RTF_CLONING = 0x100 -+ RTF_CONDEMNED = 0x2000000 -+ RTF_DELCLONE = 0x80 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_IFREF = 0x4000000 -+ RTF_IFSCOPE = 0x1000000 -+ RTF_LLINFO = 0x400 -+ RTF_LOCAL = 0x200000 -+ RTF_MODIFIED = 0x20 -+ RTF_MULTICAST = 0x800000 -+ RTF_PINNED = 0x100000 -+ RTF_PRCLONING = 0x10000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_PROTO3 = 0x40000 -+ RTF_PROXY = 0x8000000 -+ RTF_REJECT = 0x8 -+ RTF_ROUTER = 0x10000000 -+ RTF_STATIC = 0x800 -+ RTF_UP = 0x1 -+ RTF_WASCLONED = 0x20000 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_DELMADDR = 0x10 -+ RTM_GET = 0x4 -+ RTM_GET2 = 0x14 -+ RTM_IFINFO = 0xe -+ RTM_IFINFO2 = 0x12 -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_NEWMADDR = 0xf -+ RTM_NEWMADDR2 = 0x13 -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_VERSION = 0x5 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ SCM_CREDS = 0x3 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x2 -+ SCM_TIMESTAMP_MONOTONIC = 0x4 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80206931 -+ SIOCAIFADDR = 0x8040691a -+ SIOCARPIPLL = 0xc0206928 -+ SIOCATMARK = 0x40047307 -+ SIOCAUTOADDR = 0xc0206926 -+ SIOCAUTONETMASK = 0x80206927 -+ SIOCDELMULTI = 0x80206932 -+ SIOCDIFADDR = 0x80206919 -+ SIOCDIFPHYADDR = 0x80206941 -+ SIOCGDRVSPEC = 0xc028697b -+ SIOCGETVLAN = 0xc020697f -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0206921 -+ SIOCGIFALTMTU = 0xc0206948 -+ SIOCGIFASYNCMAP = 0xc020697c -+ SIOCGIFBOND = 0xc0206947 -+ SIOCGIFBRDADDR = 0xc0206923 -+ SIOCGIFCAP = 0xc020695b -+ SIOCGIFCONF = 0xc00c6924 -+ SIOCGIFDEVMTU = 0xc0206944 -+ SIOCGIFDSTADDR = 0xc0206922 -+ SIOCGIFFLAGS = 0xc0206911 -+ SIOCGIFGENERIC = 0xc020693a -+ SIOCGIFKPI = 0xc0206987 -+ SIOCGIFMAC = 0xc0206982 -+ SIOCGIFMEDIA = 0xc02c6938 -+ SIOCGIFMETRIC = 0xc0206917 -+ SIOCGIFMTU = 0xc0206933 -+ SIOCGIFNETMASK = 0xc0206925 -+ SIOCGIFPDSTADDR = 0xc0206940 -+ SIOCGIFPHYS = 0xc0206935 -+ SIOCGIFPSRCADDR = 0xc020693f -+ SIOCGIFSTATUS = 0xc331693d -+ SIOCGIFVLAN = 0xc020697f -+ SIOCGIFWAKEFLAGS = 0xc0206988 -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCIFCREATE = 0xc0206978 -+ SIOCIFCREATE2 = 0xc020697a -+ SIOCIFDESTROY = 0x80206979 -+ SIOCIFGCLONERS = 0xc0106981 -+ SIOCRSLVMULTI = 0xc010693b -+ SIOCSDRVSPEC = 0x8028697b -+ SIOCSETVLAN = 0x8020697e -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8020690c -+ SIOCSIFALTMTU = 0x80206945 -+ SIOCSIFASYNCMAP = 0x8020697d -+ SIOCSIFBOND = 0x80206946 -+ SIOCSIFBRDADDR = 0x80206913 -+ SIOCSIFCAP = 0x8020695a -+ SIOCSIFDSTADDR = 0x8020690e -+ SIOCSIFFLAGS = 0x80206910 -+ SIOCSIFGENERIC = 0x80206939 -+ SIOCSIFKPI = 0x80206986 -+ SIOCSIFLLADDR = 0x8020693c -+ SIOCSIFMAC = 0x80206983 -+ SIOCSIFMEDIA = 0xc0206937 -+ SIOCSIFMETRIC = 0x80206918 -+ SIOCSIFMTU = 0x80206934 -+ SIOCSIFNETMASK = 0x80206916 -+ SIOCSIFPHYADDR = 0x8040693e -+ SIOCSIFPHYS = 0x80206936 -+ SIOCSIFVLAN = 0x8020697e -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SOCK_DGRAM = 0x2 -+ SOCK_MAXADDRLEN = 0xff -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_DONTTRUNC = 0x2000 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LABEL = 0x1010 -+ SO_LINGER = 0x80 -+ SO_LINGER_SEC = 0x1080 -+ SO_NKE = 0x1021 -+ SO_NOADDRERR = 0x1023 -+ SO_NOSIGPIPE = 0x1022 -+ SO_NOTIFYCONFLICT = 0x1026 -+ SO_NP_EXTENSIONS = 0x1083 -+ SO_NREAD = 0x1020 -+ SO_NUMRCVPKT = 0x1112 -+ SO_NWRITE = 0x1024 -+ SO_OOBINLINE = 0x100 -+ SO_PEERLABEL = 0x1011 -+ SO_RANDOMPORT = 0x1082 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_REUSESHAREUID = 0x1025 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_TIMESTAMP = 0x400 -+ SO_TIMESTAMP_MONOTONIC = 0x800 -+ SO_TYPE = 0x1008 -+ SO_UPCALLCLOSEWAIT = 0x1027 -+ SO_USELOOPBACK = 0x40 -+ SO_WANTMORE = 0x4000 -+ SO_WANTOOBFLAG = 0x8000 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IFWHT = 0xe000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISTXT = 0x200 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_CONNECTIONTIMEOUT = 0x20 -+ TCP_ENABLE_ECN = 0x104 -+ TCP_KEEPALIVE = 0x10 -+ TCP_KEEPCNT = 0x102 -+ TCP_KEEPINTVL = 0x101 -+ TCP_MAXHLEN = 0x3c -+ TCP_MAXOLEN = 0x28 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_SACK = 0x4 -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MINMSS = 0xd8 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_NOOPT = 0x8 -+ TCP_NOPUSH = 0x4 -+ TCP_NOTSENT_LOWAT = 0x201 -+ TCP_RXT_CONNDROPTIME = 0x80 -+ TCP_RXT_FINDROP = 0x100 -+ TCP_SENDMOREACKS = 0x103 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDCDTIMESTAMP = 0x40107458 -+ TIOCDRAIN = 0x2000745e -+ TIOCDSIMICROCODE = 0x20007455 -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLUSH = 0x80047410 -+ TIOCGDRAINWAIT = 0x40047456 -+ TIOCGETA = 0x40487413 -+ TIOCGETD = 0x4004741a -+ TIOCGPGRP = 0x40047477 -+ TIOCGWINSZ = 0x40087468 -+ TIOCIXOFF = 0x20007480 -+ TIOCIXON = 0x20007481 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGDTRWAIT = 0x4004745a -+ TIOCMGET = 0x4004746a -+ TIOCMODG = 0x40047403 -+ TIOCMODS = 0x80047404 -+ TIOCMSDTRWAIT = 0x8004745b -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCPTYGNAME = 0x40807453 -+ TIOCPTYGRANT = 0x20007454 -+ TIOCPTYUNLK = 0x20007452 -+ TIOCREMOTE = 0x80047469 -+ TIOCSBRK = 0x2000747b -+ TIOCSCONS = 0x20007463 -+ TIOCSCTTY = 0x20007461 -+ TIOCSDRAINWAIT = 0x80047457 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x80487414 -+ TIOCSETAF = 0x80487416 -+ TIOCSETAW = 0x80487415 -+ TIOCSETD = 0x8004741b -+ TIOCSIG = 0x2000745f -+ TIOCSPGRP = 0x80047476 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x20007465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCTIMESTAMP = 0x40107459 -+ TIOCUCNTL = 0x80047466 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VT0 = 0x0 -+ VT1 = 0x10000 -+ VTDLY = 0x10000 -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WCONTINUED = 0x10 -+ WCOREFLAG = 0x80 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOWAIT = 0x20 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x8 -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADARCH = syscall.Errno(0x56) -+ EBADEXEC = syscall.Errno(0x55) -+ EBADF = syscall.Errno(0x9) -+ EBADMACHO = syscall.Errno(0x58) -+ EBADMSG = syscall.Errno(0x5e) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x59) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDEVERR = syscall.Errno(0x53) -+ EDOM = syscall.Errno(0x21) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x5a) -+ EILSEQ = syscall.Errno(0x5c) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x6a) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5f) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x5d) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODATA = syscall.Errno(0x60) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x61) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x5b) -+ ENOPOLICY = syscall.Errno(0x67) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x62) -+ ENOSTR = syscall.Errno(0x63) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTRECOVERABLE = syscall.Errno(0x68) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x2d) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x66) -+ EOVERFLOW = syscall.Errno(0x54) -+ EOWNERDEAD = syscall.Errno(0x69) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x64) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ EPWROFF = syscall.Errno(0x52) -+ EQFULL = syscall.Errno(0x6a) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHLIBVERS = syscall.Errno(0x57) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIME = syscall.Errno(0x65) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go -new file mode 100644 -index 0000000..3189c6b ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go -@@ -0,0 +1,1576 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build arm64,darwin -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1c -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x25 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x1e -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1c -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x28 -+ AF_NATM = 0x1f -+ AF_NDRV = 0x1b -+ AF_NETBIOS = 0x21 -+ AF_NS = 0x6 -+ AF_OSI = 0x7 -+ AF_PPP = 0x22 -+ AF_PUP = 0x4 -+ AF_RESERVED_36 = 0x24 -+ AF_ROUTE = 0x11 -+ AF_SIP = 0x18 -+ AF_SNA = 0xb -+ AF_SYSTEM = 0x20 -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_UTUN = 0x26 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B9600 = 0x2580 -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc00c4279 -+ BIOCGETIF = 0x4020426b -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRSIG = 0x40044272 -+ BIOCGRTIMEOUT = 0x4010426e -+ BIOCGSEESENT = 0x40044276 -+ BIOCGSTATS = 0x4008426f -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDLT = 0x80044278 -+ BIOCSETF = 0x80104267 -+ BIOCSETFNR = 0x8010427e -+ BIOCSETIF = 0x8020426c -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRSIG = 0x80044273 -+ BIOCSRTIMEOUT = 0x8010426d -+ BIOCSSEESENT = 0x80044277 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x80000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0xc -+ CTL_NET = 0x4 -+ DLT_A429 = 0xb8 -+ DLT_A653_ICM = 0xb9 -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_AOS = 0xde -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_AX25_KISS = 0xca -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_BLUETOOTH_HCI_H4 = 0xbb -+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 -+ DLT_CAN20B = 0xbe -+ DLT_CAN_SOCKETCAN = 0xe3 -+ DLT_CHAOS = 0x5 -+ DLT_CHDLC = 0x68 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_C_HDLC_WITH_DIR = 0xcd -+ DLT_DBUS = 0xe7 -+ DLT_DECT = 0xdd -+ DLT_DOCSIS = 0x8f -+ DLT_DVB_CI = 0xeb -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF = 0xc5 -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FC_2 = 0xe0 -+ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 -+ DLT_FDDI = 0xa -+ DLT_FLEXRAY = 0xd2 -+ DLT_FRELAY = 0x6b -+ DLT_FRELAY_WITH_DIR = 0xce -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_GSMTAP_ABIS = 0xda -+ DLT_GSMTAP_UM = 0xd9 -+ DLT_HHDLC = 0x79 -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IEEE802_15_4 = 0xc3 -+ DLT_IEEE802_15_4_LINUX = 0xbf -+ DLT_IEEE802_15_4_NOFCS = 0xe6 -+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 -+ DLT_IEEE802_16_MAC_CPS = 0xbc -+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 -+ DLT_IPFILTER = 0x74 -+ DLT_IPMB = 0xc7 -+ DLT_IPMB_LINUX = 0xd1 -+ DLT_IPNET = 0xe2 -+ DLT_IPOIB = 0xf2 -+ DLT_IPV4 = 0xe4 -+ DLT_IPV6 = 0xe5 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_ATM_CEMIC = 0xee -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FIBRECHANNEL = 0xea -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_ISM = 0xc2 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_JUNIPER_SRX_E2E = 0xe9 -+ DLT_JUNIPER_ST = 0xc8 -+ DLT_JUNIPER_VP = 0xb7 -+ DLT_JUNIPER_VS = 0xe8 -+ DLT_LAPB_WITH_DIR = 0xcf -+ DLT_LAPD = 0xcb -+ DLT_LIN = 0xd4 -+ DLT_LINUX_EVDEV = 0xd8 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_PPP_WITHDIRECTION = 0xa6 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MATCHING_MAX = 0xf5 -+ DLT_MATCHING_MIN = 0x68 -+ DLT_MFR = 0xb6 -+ DLT_MOST = 0xd3 -+ DLT_MPEG_2_TS = 0xf3 -+ DLT_MPLS = 0xdb -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_MUX27010 = 0xec -+ DLT_NETANALYZER = 0xf0 -+ DLT_NETANALYZER_TRANSPARENT = 0xf1 -+ DLT_NFC_LLCP = 0xf5 -+ DLT_NFLOG = 0xef -+ DLT_NG40 = 0xf4 -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPI = 0xc0 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0x10 -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PPP_WITH_DIR = 0xcc -+ DLT_PPP_WITH_DIRECTION = 0xa6 -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAIF1 = 0xc6 -+ DLT_RAW = 0xc -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SITA = 0xc4 -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xf -+ DLT_STANAG_5066_D_PDU = 0xed -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ DLT_USB = 0xba -+ DLT_USB_LINUX = 0xbd -+ DLT_USB_LINUX_MMAPPED = 0xdc -+ DLT_USER0 = 0x93 -+ DLT_USER1 = 0x94 -+ DLT_USER10 = 0x9d -+ DLT_USER11 = 0x9e -+ DLT_USER12 = 0x9f -+ DLT_USER13 = 0xa0 -+ DLT_USER14 = 0xa1 -+ DLT_USER15 = 0xa2 -+ DLT_USER2 = 0x95 -+ DLT_USER3 = 0x96 -+ DLT_USER4 = 0x97 -+ DLT_USER5 = 0x98 -+ DLT_USER6 = 0x99 -+ DLT_USER7 = 0x9a -+ DLT_USER8 = 0x9b -+ DLT_USER9 = 0x9c -+ DLT_WIHART = 0xdf -+ DLT_X2E_SERIAL = 0xd5 -+ DLT_X2E_XORAYA = 0xd6 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EVFILT_AIO = -0x3 -+ EVFILT_FS = -0x9 -+ EVFILT_MACHPORT = -0x8 -+ EVFILT_PROC = -0x5 -+ EVFILT_READ = -0x1 -+ EVFILT_SIGNAL = -0x6 -+ EVFILT_SYSCOUNT = 0xe -+ EVFILT_THREADMARKER = 0xe -+ EVFILT_TIMER = -0x7 -+ EVFILT_USER = -0xa -+ EVFILT_VM = -0xc -+ EVFILT_VNODE = -0x4 -+ EVFILT_WRITE = -0x2 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_DISPATCH = 0x80 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG0 = 0x1000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_OOBAND = 0x2000 -+ EV_POLL = 0x1000 -+ EV_RECEIPT = 0x40 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x800000 -+ F_ADDFILESIGS = 0x3d -+ F_ADDSIGS = 0x3b -+ F_ALLOCATEALL = 0x4 -+ F_ALLOCATECONTIG = 0x2 -+ F_CHKCLEAN = 0x29 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x43 -+ F_FINDSIGS = 0x4e -+ F_FLUSH_DATA = 0x28 -+ F_FREEZE_FS = 0x35 -+ F_FULLFSYNC = 0x33 -+ F_GETCODEDIR = 0x48 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0x7 -+ F_GETLKPID = 0x42 -+ F_GETNOSIGPIPE = 0x4a -+ F_GETOWN = 0x5 -+ F_GETPATH = 0x32 -+ F_GETPATH_MTMINFO = 0x47 -+ F_GETPROTECTIONCLASS = 0x3f -+ F_GETPROTECTIONLEVEL = 0x4d -+ F_GLOBAL_NOCACHE = 0x37 -+ F_LOG2PHYS = 0x31 -+ F_LOG2PHYS_EXT = 0x41 -+ F_NOCACHE = 0x30 -+ F_NODIRECT = 0x3e -+ F_OK = 0x0 -+ F_PATHPKG_CHECK = 0x34 -+ F_PEOFPOSMODE = 0x3 -+ F_PREALLOCATE = 0x2a -+ F_RDADVISE = 0x2c -+ F_RDAHEAD = 0x2d -+ F_RDLCK = 0x1 -+ F_SETBACKINGSTORE = 0x46 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x8 -+ F_SETLKW = 0x9 -+ F_SETLKWTIMEOUT = 0xa -+ F_SETNOSIGPIPE = 0x49 -+ F_SETOWN = 0x6 -+ F_SETPROTECTIONCLASS = 0x40 -+ F_SETSIZE = 0x2b -+ F_SINGLE_WRITER = 0x4c -+ F_THAW_FS = 0x36 -+ F_TRANSCODEKEY = 0x4b -+ F_UNLCK = 0x2 -+ F_VOLPOSMODE = 0x4 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFF_ALLMULTI = 0x200 -+ IFF_ALTPHYS = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_AAL5 = 0x31 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ATM = 0x25 -+ IFT_BRIDGE = 0xd1 -+ IFT_CARP = 0xf8 -+ IFT_CELLULAR = 0xff -+ IFT_CEPT = 0x13 -+ IFT_DS3 = 0x1e -+ IFT_ENC = 0xf4 -+ IFT_EON = 0x19 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0x38 -+ IFT_FDDI = 0xf -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_GIF = 0x37 -+ IFT_HDH1822 = 0x3 -+ IFT_HIPPI = 0x2f -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE8023ADLAG = 0x88 -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88026 = 0xa -+ IFT_L2VLAN = 0x87 -+ IFT_LAPB = 0x10 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_NSIP = 0x1b -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PDP = 0xff -+ IFT_PFLOG = 0xf5 -+ IFT_PFSYNC = 0xf6 -+ IFT_PKTAP = 0xfe -+ IFT_PPP = 0x17 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PTPSERIAL = 0x16 -+ IFT_RS232 = 0x21 -+ IFT_SDLC = 0x11 -+ IFT_SIP = 0x1f -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_STARLAN = 0xb -+ IFT_STF = 0x39 -+ IFT_T1 = 0x12 -+ IFT_ULTRA = 0x1d -+ IFT_V35 = 0x2d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LINKLOCALNETNUM = 0xa9fe0000 -+ IN_LOOPBACKNET = 0x7f -+ IPPROTO_3PC = 0x22 -+ IPPROTO_ADFS = 0x44 -+ IPPROTO_AH = 0x33 -+ IPPROTO_AHIP = 0x3d -+ IPPROTO_APES = 0x63 -+ IPPROTO_ARGUS = 0xd -+ IPPROTO_AX25 = 0x5d -+ IPPROTO_BHA = 0x31 -+ IPPROTO_BLT = 0x1e -+ IPPROTO_BRSATMON = 0x4c -+ IPPROTO_CFTP = 0x3e -+ IPPROTO_CHAOS = 0x10 -+ IPPROTO_CMTP = 0x26 -+ IPPROTO_CPHB = 0x49 -+ IPPROTO_CPNX = 0x48 -+ IPPROTO_DDP = 0x25 -+ IPPROTO_DGP = 0x56 -+ IPPROTO_DIVERT = 0xfe -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_EMCON = 0xe -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GMTP = 0x64 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HELLO = 0x3f -+ IPPROTO_HMP = 0x14 -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IDPR = 0x23 -+ IPPROTO_IDRP = 0x2d -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IGP = 0x55 -+ IPPROTO_IGRP = 0x58 -+ IPPROTO_IL = 0x28 -+ IPPROTO_INLSP = 0x34 -+ IPPROTO_INP = 0x20 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPCV = 0x47 -+ IPPROTO_IPEIP = 0x5e -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPPC = 0x43 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IRTP = 0x1c -+ IPPROTO_KRYPTOLAN = 0x41 -+ IPPROTO_LARP = 0x5b -+ IPPROTO_LEAF1 = 0x19 -+ IPPROTO_LEAF2 = 0x1a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MEAS = 0x13 -+ IPPROTO_MHRP = 0x30 -+ IPPROTO_MICP = 0x5f -+ IPPROTO_MTP = 0x5c -+ IPPROTO_MUX = 0x12 -+ IPPROTO_ND = 0x4d -+ IPPROTO_NHRP = 0x36 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_NSP = 0x1f -+ IPPROTO_NVPII = 0xb -+ IPPROTO_OSPFIGP = 0x59 -+ IPPROTO_PGM = 0x71 -+ IPPROTO_PIGP = 0x9 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PRM = 0x15 -+ IPPROTO_PUP = 0xc -+ IPPROTO_PVP = 0x4b -+ IPPROTO_RAW = 0xff -+ IPPROTO_RCCMON = 0xa -+ IPPROTO_RDP = 0x1b -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_RVD = 0x42 -+ IPPROTO_SATEXPAK = 0x40 -+ IPPROTO_SATMON = 0x45 -+ IPPROTO_SCCSP = 0x60 -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_SDRP = 0x2a -+ IPPROTO_SEP = 0x21 -+ IPPROTO_SRPC = 0x5a -+ IPPROTO_ST = 0x7 -+ IPPROTO_SVMTP = 0x52 -+ IPPROTO_SWIPE = 0x35 -+ IPPROTO_TCF = 0x57 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_TPXX = 0x27 -+ IPPROTO_TRUNK1 = 0x17 -+ IPPROTO_TRUNK2 = 0x18 -+ IPPROTO_TTP = 0x54 -+ IPPROTO_UDP = 0x11 -+ IPPROTO_VINES = 0x53 -+ IPPROTO_VISA = 0x46 -+ IPPROTO_VMTP = 0x51 -+ IPPROTO_WBEXPAK = 0x4f -+ IPPROTO_WBMON = 0x4e -+ IPPROTO_WSN = 0x4a -+ IPPROTO_XNET = 0xf -+ IPPROTO_XTP = 0x24 -+ IPV6_2292DSTOPTS = 0x17 -+ IPV6_2292HOPLIMIT = 0x14 -+ IPV6_2292HOPOPTS = 0x16 -+ IPV6_2292NEXTHOP = 0x15 -+ IPV6_2292PKTINFO = 0x13 -+ IPV6_2292PKTOPTIONS = 0x19 -+ IPV6_2292RTHDR = 0x18 -+ IPV6_BINDV6ONLY = 0x1b -+ IPV6_BOUND_IF = 0x7d -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x3c -+ IPV6_FW_ADD = 0x1e -+ IPV6_FW_DEL = 0x1f -+ IPV6_FW_FLUSH = 0x20 -+ IPV6_FW_GET = 0x22 -+ IPV6_FW_ZERO = 0x21 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXOPTHDR = 0x800 -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MAX_GROUP_SRC_FILTER = 0x200 -+ IPV6_MAX_MEMBERSHIPS = 0xfff -+ IPV6_MAX_SOCK_SRC_FILTER = 0x80 -+ IPV6_MIN_MEMBERSHIPS = 0x1f -+ IPV6_MMTU = 0x500 -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_RECVTCLASS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x24 -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_ADD_SOURCE_MEMBERSHIP = 0x46 -+ IP_BLOCK_SOURCE = 0x48 -+ IP_BOUND_IF = 0x19 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_DROP_SOURCE_MEMBERSHIP = 0x47 -+ IP_DUMMYNET_CONFIGURE = 0x3c -+ IP_DUMMYNET_DEL = 0x3d -+ IP_DUMMYNET_FLUSH = 0x3e -+ IP_DUMMYNET_GET = 0x40 -+ IP_FAITH = 0x16 -+ IP_FW_ADD = 0x28 -+ IP_FW_DEL = 0x29 -+ IP_FW_FLUSH = 0x2a -+ IP_FW_GET = 0x2c -+ IP_FW_RESETLOG = 0x2d -+ IP_FW_ZERO = 0x2b -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x15 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_GROUP_SRC_FILTER = 0x200 -+ IP_MAX_MEMBERSHIPS = 0xfff -+ IP_MAX_SOCK_MUTE_FILTER = 0x80 -+ IP_MAX_SOCK_SRC_FILTER = 0x80 -+ IP_MF = 0x2000 -+ IP_MIN_MEMBERSHIPS = 0x1f -+ IP_MSFILTER = 0x4a -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_IFINDEX = 0x42 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_MULTICAST_VIF = 0xe -+ IP_NAT__XXX = 0x37 -+ IP_OFFMASK = 0x1fff -+ IP_OLD_FW_ADD = 0x32 -+ IP_OLD_FW_DEL = 0x33 -+ IP_OLD_FW_FLUSH = 0x34 -+ IP_OLD_FW_GET = 0x36 -+ IP_OLD_FW_RESETLOG = 0x38 -+ IP_OLD_FW_ZERO = 0x35 -+ IP_OPTIONS = 0x1 -+ IP_PKTINFO = 0x1a -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVPKTINFO = 0x1a -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTTL = 0x18 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_RSVP_OFF = 0x10 -+ IP_RSVP_ON = 0xf -+ IP_RSVP_VIF_OFF = 0x12 -+ IP_RSVP_VIF_ON = 0x11 -+ IP_STRIPHDR = 0x17 -+ IP_TOS = 0x3 -+ IP_TRAFFIC_MGT_BACKGROUND = 0x41 -+ IP_TTL = 0x4 -+ IP_UNBLOCK_SOURCE = 0x49 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_CAN_REUSE = 0x9 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x5 -+ MADV_FREE_REUSABLE = 0x7 -+ MADV_FREE_REUSE = 0x8 -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_WILLNEED = 0x3 -+ MADV_ZERO_WIRED_PAGES = 0x6 -+ MAP_ANON = 0x1000 -+ MAP_COPY = 0x2 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_JIT = 0x800 -+ MAP_NOCACHE = 0x400 -+ MAP_NOEXTEND = 0x100 -+ MAP_NORESERVE = 0x40 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_RESERVED0080 = 0x80 -+ MAP_SHARED = 0x1 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOF = 0x100 -+ MSG_EOR = 0x8 -+ MSG_FLUSH = 0x400 -+ MSG_HAVEMORE = 0x2000 -+ MSG_HOLD = 0x800 -+ MSG_NEEDSA = 0x10000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_RCVMORE = 0x4000 -+ MSG_SEND = 0x1000 -+ MSG_TRUNC = 0x10 -+ MSG_WAITALL = 0x40 -+ MSG_WAITSTREAM = 0x200 -+ MS_ASYNC = 0x1 -+ MS_DEACTIVATE = 0x8 -+ MS_INVALIDATE = 0x2 -+ MS_KILLPAGES = 0x4 -+ MS_SYNC = 0x10 -+ NAME_MAX = 0xff -+ NET_RT_DUMP = 0x1 -+ NET_RT_DUMP2 = 0x7 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x3 -+ NET_RT_IFLIST2 = 0x6 -+ NET_RT_MAXID = 0xa -+ NET_RT_STAT = 0x4 -+ NET_RT_TRASH = 0x5 -+ NOFLSH = 0x80000000 -+ NOTE_ABSOLUTE = 0x8 -+ NOTE_ATTRIB = 0x8 -+ NOTE_BACKGROUND = 0x40 -+ NOTE_CHILD = 0x4 -+ NOTE_CRITICAL = 0x20 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXITSTATUS = 0x4000000 -+ NOTE_EXIT_CSERROR = 0x40000 -+ NOTE_EXIT_DECRYPTFAIL = 0x10000 -+ NOTE_EXIT_DETAIL = 0x2000000 -+ NOTE_EXIT_DETAIL_MASK = 0x70000 -+ NOTE_EXIT_MEMORY = 0x20000 -+ NOTE_EXIT_REPARENTED = 0x80000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FFAND = 0x40000000 -+ NOTE_FFCOPY = 0xc0000000 -+ NOTE_FFCTRLMASK = 0xc0000000 -+ NOTE_FFLAGSMASK = 0xffffff -+ NOTE_FFNOP = 0x0 -+ NOTE_FFOR = 0x80000000 -+ NOTE_FORK = 0x40000000 -+ NOTE_LEEWAY = 0x10 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_NONE = 0x80 -+ NOTE_NSECONDS = 0x4 -+ NOTE_PCTRLMASK = -0x100000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_REAP = 0x10000000 -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_SECONDS = 0x1 -+ NOTE_SIGNAL = 0x8000000 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_TRIGGER = 0x1000000 -+ NOTE_USECONDS = 0x2 -+ NOTE_VM_ERROR = 0x10000000 -+ NOTE_VM_PRESSURE = 0x80000000 -+ NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000 -+ NOTE_VM_PRESSURE_TERMINATE = 0x40000000 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ OFDEL = 0x20000 -+ OFILL = 0x80 -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_ALERT = 0x20000000 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x1000000 -+ O_CREAT = 0x200 -+ O_DIRECTORY = 0x100000 -+ O_DP_GETRAWENCRYPTED = 0x1 -+ O_DSYNC = 0x400000 -+ O_EVTONLY = 0x8000 -+ O_EXCL = 0x800 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x20000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_POPUP = 0x80000000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_SHLOCK = 0x10 -+ O_SYMLINK = 0x200000 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PT_ATTACH = 0xa -+ PT_ATTACHEXC = 0xe -+ PT_CONTINUE = 0x7 -+ PT_DENY_ATTACH = 0x1f -+ PT_DETACH = 0xb -+ PT_FIRSTMACH = 0x20 -+ PT_FORCEQUOTA = 0x1e -+ PT_KILL = 0x8 -+ PT_READ_D = 0x2 -+ PT_READ_I = 0x1 -+ PT_READ_U = 0x3 -+ PT_SIGEXC = 0xc -+ PT_STEP = 0x9 -+ PT_THUPDATE = 0xd -+ PT_TRACE_ME = 0x0 -+ PT_WRITE_D = 0x5 -+ PT_WRITE_I = 0x4 -+ PT_WRITE_U = 0x6 -+ RLIMIT_AS = 0x5 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_CPU_USAGE_MONITOR = 0x2 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x8 -+ RTAX_NETMASK = 0x2 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_BROADCAST = 0x400000 -+ RTF_CLONING = 0x100 -+ RTF_CONDEMNED = 0x2000000 -+ RTF_DELCLONE = 0x80 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_IFREF = 0x4000000 -+ RTF_IFSCOPE = 0x1000000 -+ RTF_LLINFO = 0x400 -+ RTF_LOCAL = 0x200000 -+ RTF_MODIFIED = 0x20 -+ RTF_MULTICAST = 0x800000 -+ RTF_NOIFREF = 0x2000 -+ RTF_PINNED = 0x100000 -+ RTF_PRCLONING = 0x10000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_PROTO3 = 0x40000 -+ RTF_PROXY = 0x8000000 -+ RTF_REJECT = 0x8 -+ RTF_ROUTER = 0x10000000 -+ RTF_STATIC = 0x800 -+ RTF_UP = 0x1 -+ RTF_WASCLONED = 0x20000 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_DELMADDR = 0x10 -+ RTM_GET = 0x4 -+ RTM_GET2 = 0x14 -+ RTM_IFINFO = 0xe -+ RTM_IFINFO2 = 0x12 -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_NEWMADDR = 0xf -+ RTM_NEWMADDR2 = 0x13 -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_VERSION = 0x5 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ SCM_CREDS = 0x3 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x2 -+ SCM_TIMESTAMP_MONOTONIC = 0x4 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80206931 -+ SIOCAIFADDR = 0x8040691a -+ SIOCARPIPLL = 0xc0206928 -+ SIOCATMARK = 0x40047307 -+ SIOCAUTOADDR = 0xc0206926 -+ SIOCAUTONETMASK = 0x80206927 -+ SIOCDELMULTI = 0x80206932 -+ SIOCDIFADDR = 0x80206919 -+ SIOCDIFPHYADDR = 0x80206941 -+ SIOCGDRVSPEC = 0xc028697b -+ SIOCGETVLAN = 0xc020697f -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0206921 -+ SIOCGIFALTMTU = 0xc0206948 -+ SIOCGIFASYNCMAP = 0xc020697c -+ SIOCGIFBOND = 0xc0206947 -+ SIOCGIFBRDADDR = 0xc0206923 -+ SIOCGIFCAP = 0xc020695b -+ SIOCGIFCONF = 0xc00c6924 -+ SIOCGIFDEVMTU = 0xc0206944 -+ SIOCGIFDSTADDR = 0xc0206922 -+ SIOCGIFFLAGS = 0xc0206911 -+ SIOCGIFGENERIC = 0xc020693a -+ SIOCGIFKPI = 0xc0206987 -+ SIOCGIFMAC = 0xc0206982 -+ SIOCGIFMEDIA = 0xc02c6938 -+ SIOCGIFMETRIC = 0xc0206917 -+ SIOCGIFMTU = 0xc0206933 -+ SIOCGIFNETMASK = 0xc0206925 -+ SIOCGIFPDSTADDR = 0xc0206940 -+ SIOCGIFPHYS = 0xc0206935 -+ SIOCGIFPSRCADDR = 0xc020693f -+ SIOCGIFSTATUS = 0xc331693d -+ SIOCGIFVLAN = 0xc020697f -+ SIOCGIFWAKEFLAGS = 0xc0206988 -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCIFCREATE = 0xc0206978 -+ SIOCIFCREATE2 = 0xc020697a -+ SIOCIFDESTROY = 0x80206979 -+ SIOCIFGCLONERS = 0xc0106981 -+ SIOCRSLVMULTI = 0xc010693b -+ SIOCSDRVSPEC = 0x8028697b -+ SIOCSETVLAN = 0x8020697e -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8020690c -+ SIOCSIFALTMTU = 0x80206945 -+ SIOCSIFASYNCMAP = 0x8020697d -+ SIOCSIFBOND = 0x80206946 -+ SIOCSIFBRDADDR = 0x80206913 -+ SIOCSIFCAP = 0x8020695a -+ SIOCSIFDSTADDR = 0x8020690e -+ SIOCSIFFLAGS = 0x80206910 -+ SIOCSIFGENERIC = 0x80206939 -+ SIOCSIFKPI = 0x80206986 -+ SIOCSIFLLADDR = 0x8020693c -+ SIOCSIFMAC = 0x80206983 -+ SIOCSIFMEDIA = 0xc0206937 -+ SIOCSIFMETRIC = 0x80206918 -+ SIOCSIFMTU = 0x80206934 -+ SIOCSIFNETMASK = 0x80206916 -+ SIOCSIFPHYADDR = 0x8040693e -+ SIOCSIFPHYS = 0x80206936 -+ SIOCSIFVLAN = 0x8020697e -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SOCK_DGRAM = 0x2 -+ SOCK_MAXADDRLEN = 0xff -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_DONTTRUNC = 0x2000 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LABEL = 0x1010 -+ SO_LINGER = 0x80 -+ SO_LINGER_SEC = 0x1080 -+ SO_NKE = 0x1021 -+ SO_NOADDRERR = 0x1023 -+ SO_NOSIGPIPE = 0x1022 -+ SO_NOTIFYCONFLICT = 0x1026 -+ SO_NP_EXTENSIONS = 0x1083 -+ SO_NREAD = 0x1020 -+ SO_NUMRCVPKT = 0x1112 -+ SO_NWRITE = 0x1024 -+ SO_OOBINLINE = 0x100 -+ SO_PEERLABEL = 0x1011 -+ SO_RANDOMPORT = 0x1082 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_REUSESHAREUID = 0x1025 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_TIMESTAMP = 0x400 -+ SO_TIMESTAMP_MONOTONIC = 0x800 -+ SO_TYPE = 0x1008 -+ SO_UPCALLCLOSEWAIT = 0x1027 -+ SO_USELOOPBACK = 0x40 -+ SO_WANTMORE = 0x4000 -+ SO_WANTOOBFLAG = 0x8000 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IFWHT = 0xe000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISTXT = 0x200 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_CONNECTIONTIMEOUT = 0x20 -+ TCP_ENABLE_ECN = 0x104 -+ TCP_KEEPALIVE = 0x10 -+ TCP_KEEPCNT = 0x102 -+ TCP_KEEPINTVL = 0x101 -+ TCP_MAXHLEN = 0x3c -+ TCP_MAXOLEN = 0x28 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_SACK = 0x4 -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MINMSS = 0xd8 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_NOOPT = 0x8 -+ TCP_NOPUSH = 0x4 -+ TCP_NOTSENT_LOWAT = 0x201 -+ TCP_RXT_CONNDROPTIME = 0x80 -+ TCP_RXT_FINDROP = 0x100 -+ TCP_SENDMOREACKS = 0x103 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDCDTIMESTAMP = 0x40107458 -+ TIOCDRAIN = 0x2000745e -+ TIOCDSIMICROCODE = 0x20007455 -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLUSH = 0x80047410 -+ TIOCGDRAINWAIT = 0x40047456 -+ TIOCGETA = 0x40487413 -+ TIOCGETD = 0x4004741a -+ TIOCGPGRP = 0x40047477 -+ TIOCGWINSZ = 0x40087468 -+ TIOCIXOFF = 0x20007480 -+ TIOCIXON = 0x20007481 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGDTRWAIT = 0x4004745a -+ TIOCMGET = 0x4004746a -+ TIOCMODG = 0x40047403 -+ TIOCMODS = 0x80047404 -+ TIOCMSDTRWAIT = 0x8004745b -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCPTYGNAME = 0x40807453 -+ TIOCPTYGRANT = 0x20007454 -+ TIOCPTYUNLK = 0x20007452 -+ TIOCREMOTE = 0x80047469 -+ TIOCSBRK = 0x2000747b -+ TIOCSCONS = 0x20007463 -+ TIOCSCTTY = 0x20007461 -+ TIOCSDRAINWAIT = 0x80047457 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x80487414 -+ TIOCSETAF = 0x80487416 -+ TIOCSETAW = 0x80487415 -+ TIOCSETD = 0x8004741b -+ TIOCSIG = 0x2000745f -+ TIOCSPGRP = 0x80047476 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x20007465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCTIMESTAMP = 0x40107459 -+ TIOCUCNTL = 0x80047466 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VT0 = 0x0 -+ VT1 = 0x10000 -+ VTDLY = 0x10000 -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WCONTINUED = 0x10 -+ WCOREFLAG = 0x80 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOWAIT = 0x20 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x8 -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADARCH = syscall.Errno(0x56) -+ EBADEXEC = syscall.Errno(0x55) -+ EBADF = syscall.Errno(0x9) -+ EBADMACHO = syscall.Errno(0x58) -+ EBADMSG = syscall.Errno(0x5e) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x59) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDEVERR = syscall.Errno(0x53) -+ EDOM = syscall.Errno(0x21) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x5a) -+ EILSEQ = syscall.Errno(0x5c) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x6a) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5f) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x5d) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODATA = syscall.Errno(0x60) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x61) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x5b) -+ ENOPOLICY = syscall.Errno(0x67) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x62) -+ ENOSTR = syscall.Errno(0x63) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTRECOVERABLE = syscall.Errno(0x68) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x2d) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x66) -+ EOVERFLOW = syscall.Errno(0x54) -+ EOWNERDEAD = syscall.Errno(0x69) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x64) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ EPWROFF = syscall.Errno(0x52) -+ EQFULL = syscall.Errno(0x6a) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHLIBVERS = syscall.Errno(0x57) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIME = syscall.Errno(0x65) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "resource busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "operation timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "device power is off", -+ 83: "device error", -+ 84: "value too large to be stored in data type", -+ 85: "bad executable (or shared library)", -+ 86: "bad CPU type in executable", -+ 87: "shared library version mismatch", -+ 88: "malformed Mach-o file", -+ 89: "operation canceled", -+ 90: "identifier removed", -+ 91: "no message of desired type", -+ 92: "illegal byte sequence", -+ 93: "attribute not found", -+ 94: "bad message", -+ 95: "EMULTIHOP (Reserved)", -+ 96: "no message available on STREAM", -+ 97: "ENOLINK (Reserved)", -+ 98: "no STREAM resources", -+ 99: "not a STREAM", -+ 100: "protocol error", -+ 101: "STREAM ioctl timeout", -+ 102: "operation not supported on socket", -+ 103: "policy not found", -+ 104: "state not recoverable", -+ 105: "previous owner died", -+ 106: "interface output queue is full", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "suspended (signal)", -+ 18: "suspended", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go -new file mode 100644 -index 0000000..0feceee ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go -@@ -0,0 +1,1530 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build amd64,dragonfly -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_ATM = 0x1e -+ AF_BLUETOOTH = 0x21 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1a -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x23 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x1c -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1a -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x24 -+ AF_MPLS = 0x22 -+ AF_NATM = 0x1d -+ AF_NETGRAPH = 0x20 -+ AF_NS = 0x6 -+ AF_OSI = 0x7 -+ AF_PUP = 0x4 -+ AF_ROUTE = 0x11 -+ AF_SIP = 0x18 -+ AF_SNA = 0xb -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B9600 = 0x2580 -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc0104279 -+ BIOCGETIF = 0x4020426b -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRSIG = 0x40044272 -+ BIOCGRTIMEOUT = 0x4010426e -+ BIOCGSEESENT = 0x40044276 -+ BIOCGSTATS = 0x4008426f -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCLOCK = 0x2000427a -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDLT = 0x80044278 -+ BIOCSETF = 0x80104267 -+ BIOCSETIF = 0x8020426c -+ BIOCSETWF = 0x8010427b -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRSIG = 0x80044273 -+ BIOCSRTIMEOUT = 0x8010426d -+ BIOCSSEESENT = 0x80044277 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x8 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DEFAULTBUFSIZE = 0x1000 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x80000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MAX_CLONES = 0x80 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0xc -+ CTL_NET = 0x4 -+ DLT_A429 = 0xb8 -+ DLT_A653_ICM = 0xb9 -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_AX25_KISS = 0xca -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_BLUETOOTH_HCI_H4 = 0xbb -+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 -+ DLT_CAN20B = 0xbe -+ DLT_CHAOS = 0x5 -+ DLT_CHDLC = 0x68 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_C_HDLC_WITH_DIR = 0xcd -+ DLT_DOCSIS = 0x8f -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF = 0xc5 -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FDDI = 0xa -+ DLT_FLEXRAY = 0xd2 -+ DLT_FRELAY = 0x6b -+ DLT_FRELAY_WITH_DIR = 0xce -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_HHDLC = 0x79 -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IEEE802_15_4 = 0xc3 -+ DLT_IEEE802_15_4_LINUX = 0xbf -+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 -+ DLT_IEEE802_16_MAC_CPS = 0xbc -+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 -+ DLT_IPFILTER = 0x74 -+ DLT_IPMB = 0xc7 -+ DLT_IPMB_LINUX = 0xd1 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_ISM = 0xc2 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_JUNIPER_ST = 0xc8 -+ DLT_JUNIPER_VP = 0xb7 -+ DLT_LAPB_WITH_DIR = 0xcf -+ DLT_LAPD = 0xcb -+ DLT_LIN = 0xd4 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MFR = 0xb6 -+ DLT_MOST = 0xd3 -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPI = 0xc0 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0x10 -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PPP_WITH_DIR = 0xcc -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAIF1 = 0xc6 -+ DLT_RAW = 0xc -+ DLT_REDBACK_SMARTEDGE = 0x20 -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SITA = 0xc4 -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xf -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ DLT_USB = 0xba -+ DLT_USB_LINUX = 0xbd -+ DLT_X2E_SERIAL = 0xd5 -+ DLT_X2E_XORAYA = 0xd6 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DBF = 0xf -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EVFILT_AIO = -0x3 -+ EVFILT_EXCEPT = -0x8 -+ EVFILT_MARKER = 0xf -+ EVFILT_PROC = -0x5 -+ EVFILT_READ = -0x1 -+ EVFILT_SIGNAL = -0x6 -+ EVFILT_SYSCOUNT = 0x8 -+ EVFILT_TIMER = -0x7 -+ EVFILT_VNODE = -0x4 -+ EVFILT_WRITE = -0x2 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG1 = 0x2000 -+ EV_NODATA = 0x1000 -+ EV_ONESHOT = 0x10 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTB = 0x9600 -+ EXTEXIT_LWP = 0x10000 -+ EXTEXIT_PROC = 0x0 -+ EXTEXIT_SETINT = 0x1 -+ EXTEXIT_SIMPLE = 0x0 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x800000 -+ F_DUP2FD = 0xa -+ F_DUP2FD_CLOEXEC = 0x12 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x11 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0x7 -+ F_GETOWN = 0x5 -+ F_OK = 0x0 -+ F_RDLCK = 0x1 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x8 -+ F_SETLKW = 0x9 -+ F_SETOWN = 0x6 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFAN_ARRIVAL = 0x0 -+ IFAN_DEPARTURE = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_ALTPHYS = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_CANTCHANGE = 0x118e72 -+ IFF_DEBUG = 0x4 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MONITOR = 0x40000 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_NPOLLING = 0x100000 -+ IFF_OACTIVE = 0x400 -+ IFF_OACTIVE_COMPAT = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_POLLING = 0x10000 -+ IFF_POLLING_COMPAT = 0x10000 -+ IFF_PPROMISC = 0x20000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_SMART = 0x20 -+ IFF_STATICARP = 0x80000 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_A12MPPSWITCH = 0x82 -+ IFT_AAL2 = 0xbb -+ IFT_AAL5 = 0x31 -+ IFT_ADSL = 0x5e -+ IFT_AFLANE8023 = 0x3b -+ IFT_AFLANE8025 = 0x3c -+ IFT_ARAP = 0x58 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ASYNC = 0x54 -+ IFT_ATM = 0x25 -+ IFT_ATMDXI = 0x69 -+ IFT_ATMFUNI = 0x6a -+ IFT_ATMIMA = 0x6b -+ IFT_ATMLOGICAL = 0x50 -+ IFT_ATMRADIO = 0xbd -+ IFT_ATMSUBINTERFACE = 0x86 -+ IFT_ATMVCIENDPT = 0xc2 -+ IFT_ATMVIRTUAL = 0x95 -+ IFT_BGPPOLICYACCOUNTING = 0xa2 -+ IFT_BRIDGE = 0xd1 -+ IFT_BSC = 0x53 -+ IFT_CARP = 0xf8 -+ IFT_CCTEMUL = 0x3d -+ IFT_CEPT = 0x13 -+ IFT_CES = 0x85 -+ IFT_CHANNEL = 0x46 -+ IFT_CNR = 0x55 -+ IFT_COFFEE = 0x84 -+ IFT_COMPOSITELINK = 0x9b -+ IFT_DCN = 0x8d -+ IFT_DIGITALPOWERLINE = 0x8a -+ IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba -+ IFT_DLSW = 0x4a -+ IFT_DOCSCABLEDOWNSTREAM = 0x80 -+ IFT_DOCSCABLEMACLAYER = 0x7f -+ IFT_DOCSCABLEUPSTREAM = 0x81 -+ IFT_DS0 = 0x51 -+ IFT_DS0BUNDLE = 0x52 -+ IFT_DS1FDL = 0xaa -+ IFT_DS3 = 0x1e -+ IFT_DTM = 0x8c -+ IFT_DVBASILN = 0xac -+ IFT_DVBASIOUT = 0xad -+ IFT_DVBRCCDOWNSTREAM = 0x93 -+ IFT_DVBRCCMACLAYER = 0x92 -+ IFT_DVBRCCUPSTREAM = 0x94 -+ IFT_ENC = 0xf4 -+ IFT_EON = 0x19 -+ IFT_EPLRS = 0x57 -+ IFT_ESCON = 0x49 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0xf2 -+ IFT_FAST = 0x7d -+ IFT_FASTETHER = 0x3e -+ IFT_FASTETHERFX = 0x45 -+ IFT_FDDI = 0xf -+ IFT_FIBRECHANNEL = 0x38 -+ IFT_FRAMERELAYINTERCONNECT = 0x3a -+ IFT_FRAMERELAYMPI = 0x5c -+ IFT_FRDLCIENDPT = 0xc1 -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_FRF16MFRBUNDLE = 0xa3 -+ IFT_FRFORWARD = 0x9e -+ IFT_G703AT2MB = 0x43 -+ IFT_G703AT64K = 0x42 -+ IFT_GIF = 0xf0 -+ IFT_GIGABITETHERNET = 0x75 -+ IFT_GR303IDT = 0xb2 -+ IFT_GR303RDT = 0xb1 -+ IFT_H323GATEKEEPER = 0xa4 -+ IFT_H323PROXY = 0xa5 -+ IFT_HDH1822 = 0x3 -+ IFT_HDLC = 0x76 -+ IFT_HDSL2 = 0xa8 -+ IFT_HIPERLAN2 = 0xb7 -+ IFT_HIPPI = 0x2f -+ IFT_HIPPIINTERFACE = 0x39 -+ IFT_HOSTPAD = 0x5a -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IBM370PARCHAN = 0x48 -+ IFT_IDSL = 0x9a -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE80211 = 0x47 -+ IFT_IEEE80212 = 0x37 -+ IFT_IEEE8023ADLAG = 0xa1 -+ IFT_IFGSN = 0x91 -+ IFT_IMT = 0xbe -+ IFT_INTERLEAVE = 0x7c -+ IFT_IP = 0x7e -+ IFT_IPFORWARD = 0x8e -+ IFT_IPOVERATM = 0x72 -+ IFT_IPOVERCDLC = 0x6d -+ IFT_IPOVERCLAW = 0x6e -+ IFT_IPSWITCH = 0x4e -+ IFT_ISDN = 0x3f -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISDNS = 0x4b -+ IFT_ISDNU = 0x4c -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88025CRFPINT = 0x62 -+ IFT_ISO88025DTR = 0x56 -+ IFT_ISO88025FIBER = 0x73 -+ IFT_ISO88026 = 0xa -+ IFT_ISUP = 0xb3 -+ IFT_L2VLAN = 0x87 -+ IFT_L3IPVLAN = 0x88 -+ IFT_L3IPXVLAN = 0x89 -+ IFT_LAPB = 0x10 -+ IFT_LAPD = 0x4d -+ IFT_LAPF = 0x77 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MEDIAMAILOVERIP = 0x8b -+ IFT_MFSIGLINK = 0xa7 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_MPC = 0x71 -+ IFT_MPLS = 0xa6 -+ IFT_MPLSTUNNEL = 0x96 -+ IFT_MSDSL = 0x8f -+ IFT_MVL = 0xbf -+ IFT_MYRINET = 0x63 -+ IFT_NFAS = 0xaf -+ IFT_NSIP = 0x1b -+ IFT_OPTICALCHANNEL = 0xc3 -+ IFT_OPTICALTRANSPORT = 0xc4 -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PFLOG = 0xf5 -+ IFT_PFSYNC = 0xf6 -+ IFT_PLC = 0xae -+ IFT_POS = 0xab -+ IFT_PPP = 0x17 -+ IFT_PPPMULTILINKBUNDLE = 0x6c -+ IFT_PROPBWAP2MP = 0xb8 -+ IFT_PROPCNLS = 0x59 -+ IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 -+ IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 -+ IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PROPWIRELESSP2P = 0x9d -+ IFT_PTPSERIAL = 0x16 -+ IFT_PVC = 0xf1 -+ IFT_QLLC = 0x44 -+ IFT_RADIOMAC = 0xbc -+ IFT_RADSL = 0x5f -+ IFT_REACHDSL = 0xc0 -+ IFT_RFC1483 = 0x9f -+ IFT_RS232 = 0x21 -+ IFT_RSRB = 0x4f -+ IFT_SDLC = 0x11 -+ IFT_SDSL = 0x60 -+ IFT_SHDSL = 0xa9 -+ IFT_SIP = 0x1f -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETOVERHEADCHANNEL = 0xb9 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_SRP = 0x97 -+ IFT_SS7SIGLINK = 0x9c -+ IFT_STACKTOSTACK = 0x6f -+ IFT_STARLAN = 0xb -+ IFT_STF = 0xf3 -+ IFT_T1 = 0x12 -+ IFT_TDLC = 0x74 -+ IFT_TERMPAD = 0x5b -+ IFT_TR008 = 0xb0 -+ IFT_TRANSPHDLC = 0x7b -+ IFT_TUNNEL = 0x83 -+ IFT_ULTRA = 0x1d -+ IFT_USB = 0xa0 -+ IFT_V11 = 0x40 -+ IFT_V35 = 0x2d -+ IFT_V36 = 0x41 -+ IFT_V37 = 0x78 -+ IFT_VDSL = 0x61 -+ IFT_VIRTUALIPADDRESS = 0x70 -+ IFT_VOICEEM = 0x64 -+ IFT_VOICEENCAP = 0x67 -+ IFT_VOICEFXO = 0x65 -+ IFT_VOICEFXS = 0x66 -+ IFT_VOICEOVERATM = 0x98 -+ IFT_VOICEOVERFRAMERELAY = 0x99 -+ IFT_VOICEOVERIP = 0x68 -+ IFT_X213 = 0x5d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25HUNTGROUP = 0x7a -+ IFT_X25MLP = 0x79 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LOOPBACKNET = 0x7f -+ IPPROTO_3PC = 0x22 -+ IPPROTO_ADFS = 0x44 -+ IPPROTO_AH = 0x33 -+ IPPROTO_AHIP = 0x3d -+ IPPROTO_APES = 0x63 -+ IPPROTO_ARGUS = 0xd -+ IPPROTO_AX25 = 0x5d -+ IPPROTO_BHA = 0x31 -+ IPPROTO_BLT = 0x1e -+ IPPROTO_BRSATMON = 0x4c -+ IPPROTO_CARP = 0x70 -+ IPPROTO_CFTP = 0x3e -+ IPPROTO_CHAOS = 0x10 -+ IPPROTO_CMTP = 0x26 -+ IPPROTO_CPHB = 0x49 -+ IPPROTO_CPNX = 0x48 -+ IPPROTO_DDP = 0x25 -+ IPPROTO_DGP = 0x56 -+ IPPROTO_DIVERT = 0xfe -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_EMCON = 0xe -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GMTP = 0x64 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HELLO = 0x3f -+ IPPROTO_HMP = 0x14 -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IDPR = 0x23 -+ IPPROTO_IDRP = 0x2d -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IGP = 0x55 -+ IPPROTO_IGRP = 0x58 -+ IPPROTO_IL = 0x28 -+ IPPROTO_INLSP = 0x34 -+ IPPROTO_INP = 0x20 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPCV = 0x47 -+ IPPROTO_IPEIP = 0x5e -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPPC = 0x43 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IRTP = 0x1c -+ IPPROTO_KRYPTOLAN = 0x41 -+ IPPROTO_LARP = 0x5b -+ IPPROTO_LEAF1 = 0x19 -+ IPPROTO_LEAF2 = 0x1a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MEAS = 0x13 -+ IPPROTO_MHRP = 0x30 -+ IPPROTO_MICP = 0x5f -+ IPPROTO_MOBILE = 0x37 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_MUX = 0x12 -+ IPPROTO_ND = 0x4d -+ IPPROTO_NHRP = 0x36 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_NSP = 0x1f -+ IPPROTO_NVPII = 0xb -+ IPPROTO_OSPFIGP = 0x59 -+ IPPROTO_PFSYNC = 0xf0 -+ IPPROTO_PGM = 0x71 -+ IPPROTO_PIGP = 0x9 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PRM = 0x15 -+ IPPROTO_PUP = 0xc -+ IPPROTO_PVP = 0x4b -+ IPPROTO_RAW = 0xff -+ IPPROTO_RCCMON = 0xa -+ IPPROTO_RDP = 0x1b -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_RVD = 0x42 -+ IPPROTO_SATEXPAK = 0x40 -+ IPPROTO_SATMON = 0x45 -+ IPPROTO_SCCSP = 0x60 -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_SDRP = 0x2a -+ IPPROTO_SEP = 0x21 -+ IPPROTO_SKIP = 0x39 -+ IPPROTO_SRPC = 0x5a -+ IPPROTO_ST = 0x7 -+ IPPROTO_SVMTP = 0x52 -+ IPPROTO_SWIPE = 0x35 -+ IPPROTO_TCF = 0x57 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TLSP = 0x38 -+ IPPROTO_TP = 0x1d -+ IPPROTO_TPXX = 0x27 -+ IPPROTO_TRUNK1 = 0x17 -+ IPPROTO_TRUNK2 = 0x18 -+ IPPROTO_TTP = 0x54 -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UNKNOWN = 0x102 -+ IPPROTO_VINES = 0x53 -+ IPPROTO_VISA = 0x46 -+ IPPROTO_VMTP = 0x51 -+ IPPROTO_WBEXPAK = 0x4f -+ IPPROTO_WBMON = 0x4e -+ IPPROTO_WSN = 0x4a -+ IPPROTO_XNET = 0xf -+ IPPROTO_XTP = 0x24 -+ IPV6_AUTOFLOWLABEL = 0x3b -+ IPV6_BINDV6ONLY = 0x1b -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DSTOPTS = 0x32 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x78 -+ IPV6_FW_ADD = 0x1e -+ IPV6_FW_DEL = 0x1f -+ IPV6_FW_FLUSH = 0x20 -+ IPV6_FW_GET = 0x22 -+ IPV6_FW_ZERO = 0x21 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_HOPLIMIT = 0x2f -+ IPV6_HOPOPTS = 0x31 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MMTU = 0x500 -+ IPV6_MSFILTER = 0x4a -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_NEXTHOP = 0x30 -+ IPV6_PATHMTU = 0x2c -+ IPV6_PKTINFO = 0x2e -+ IPV6_PKTOPTIONS = 0x34 -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_PREFER_TEMPADDR = 0x3f -+ IPV6_RECVDSTOPTS = 0x28 -+ IPV6_RECVHOPLIMIT = 0x25 -+ IPV6_RECVHOPOPTS = 0x27 -+ IPV6_RECVPATHMTU = 0x2b -+ IPV6_RECVPKTINFO = 0x24 -+ IPV6_RECVRTHDR = 0x26 -+ IPV6_RECVTCLASS = 0x39 -+ IPV6_RTHDR = 0x33 -+ IPV6_RTHDRDSTOPTS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x3d -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_USE_MIN_MTU = 0x2a -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_DUMMYNET_CONFIGURE = 0x3c -+ IP_DUMMYNET_DEL = 0x3d -+ IP_DUMMYNET_FLUSH = 0x3e -+ IP_DUMMYNET_GET = 0x40 -+ IP_FAITH = 0x16 -+ IP_FW_ADD = 0x32 -+ IP_FW_DEL = 0x33 -+ IP_FW_FLUSH = 0x34 -+ IP_FW_GET = 0x36 -+ IP_FW_RESETLOG = 0x37 -+ IP_FW_ZERO = 0x35 -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x15 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x42 -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_MULTICAST_VIF = 0xe -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x1 -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTTL = 0x41 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_RSVP_OFF = 0x10 -+ IP_RSVP_ON = 0xf -+ IP_RSVP_VIF_OFF = 0x12 -+ IP_RSVP_VIF_ON = 0x11 -+ IP_TOS = 0x3 -+ IP_TTL = 0x4 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_AUTOSYNC = 0x7 -+ MADV_CONTROL_END = 0xb -+ MADV_CONTROL_START = 0xa -+ MADV_CORE = 0x9 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x5 -+ MADV_INVAL = 0xa -+ MADV_NOCORE = 0x8 -+ MADV_NORMAL = 0x0 -+ MADV_NOSYNC = 0x6 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_SETMAP = 0xb -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x1000 -+ MAP_COPY = 0x2 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_INHERIT = 0x80 -+ MAP_NOCORE = 0x20000 -+ MAP_NOEXTEND = 0x100 -+ MAP_NORESERVE = 0x40 -+ MAP_NOSYNC = 0x800 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_SHARED = 0x1 -+ MAP_SIZEALIGN = 0x40000 -+ MAP_STACK = 0x400 -+ MAP_TRYFIXED = 0x10000 -+ MAP_VPAGETABLE = 0x2000 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOF = 0x100 -+ MSG_EOR = 0x8 -+ MSG_FBLOCKING = 0x10000 -+ MSG_FMASK = 0xffff0000 -+ MSG_FNONBLOCKING = 0x20000 -+ MSG_NOSIGNAL = 0x400 -+ MSG_NOTIFICATION = 0x200 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_SYNC = 0x800 -+ MSG_TRUNC = 0x10 -+ MSG_WAITALL = 0x40 -+ MS_ASYNC = 0x1 -+ MS_INVALIDATE = 0x2 -+ MS_SYNC = 0x0 -+ NAME_MAX = 0xff -+ NET_RT_DUMP = 0x1 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x3 -+ NET_RT_MAXID = 0x4 -+ NOFLSH = 0x80000000 -+ NOTE_ATTRIB = 0x8 -+ NOTE_CHILD = 0x4 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FORK = 0x40000000 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_OOB = 0x2 -+ NOTE_PCTRLMASK = 0xf0000000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x20000 -+ O_CREAT = 0x200 -+ O_DIRECT = 0x10000 -+ O_DIRECTORY = 0x8000000 -+ O_EXCL = 0x800 -+ O_EXLOCK = 0x20 -+ O_FAPPEND = 0x100000 -+ O_FASYNCWRITE = 0x800000 -+ O_FBLOCKING = 0x40000 -+ O_FBUFFERED = 0x2000000 -+ O_FMASK = 0x7fc0000 -+ O_FNONBLOCKING = 0x80000 -+ O_FOFFSET = 0x200000 -+ O_FSYNC = 0x80 -+ O_FSYNCWRITE = 0x400000 -+ O_FUNBUFFERED = 0x1000000 -+ O_MAPONREAD = 0x4000000 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x8000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_SHLOCK = 0x10 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ RLIMIT_AS = 0xa -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0xb -+ RTAX_MPLS1 = 0x8 -+ RTAX_MPLS2 = 0x9 -+ RTAX_MPLS3 = 0xa -+ RTAX_NETMASK = 0x2 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_MPLS1 = 0x100 -+ RTA_MPLS2 = 0x200 -+ RTA_MPLS3 = 0x400 -+ RTA_NETMASK = 0x4 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_BROADCAST = 0x400000 -+ RTF_CLONING = 0x100 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_LLINFO = 0x400 -+ RTF_LOCAL = 0x200000 -+ RTF_MODIFIED = 0x20 -+ RTF_MPLSOPS = 0x1000000 -+ RTF_MULTICAST = 0x800000 -+ RTF_PINNED = 0x100000 -+ RTF_PRCLONING = 0x10000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_PROTO3 = 0x40000 -+ RTF_REJECT = 0x8 -+ RTF_STATIC = 0x800 -+ RTF_UP = 0x1 -+ RTF_WASCLONED = 0x20000 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_DELMADDR = 0x10 -+ RTM_GET = 0x4 -+ RTM_IEEE80211 = 0x12 -+ RTM_IFANNOUNCE = 0x11 -+ RTM_IFINFO = 0xe -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_NEWMADDR = 0xf -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_VERSION = 0x6 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_IWCAPSEGS = 0x400 -+ RTV_IWMAXSEGS = 0x200 -+ RTV_MSL = 0x100 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ SCM_CREDS = 0x3 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x2 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80206931 -+ SIOCADDRT = 0x8040720a -+ SIOCAIFADDR = 0x8040691a -+ SIOCALIFADDR = 0x8118691b -+ SIOCATMARK = 0x40047307 -+ SIOCDELMULTI = 0x80206932 -+ SIOCDELRT = 0x8040720b -+ SIOCDIFADDR = 0x80206919 -+ SIOCDIFPHYADDR = 0x80206949 -+ SIOCDLIFADDR = 0x8118691d -+ SIOCGDRVSPEC = 0xc028697b -+ SIOCGETSGCNT = 0xc0207210 -+ SIOCGETVIFCNT = 0xc028720f -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0206921 -+ SIOCGIFBRDADDR = 0xc0206923 -+ SIOCGIFCAP = 0xc020691f -+ SIOCGIFCONF = 0xc0106924 -+ SIOCGIFDATA = 0xc0206926 -+ SIOCGIFDSTADDR = 0xc0206922 -+ SIOCGIFFLAGS = 0xc0206911 -+ SIOCGIFGENERIC = 0xc020693a -+ SIOCGIFGMEMB = 0xc028698a -+ SIOCGIFINDEX = 0xc0206920 -+ SIOCGIFMEDIA = 0xc0306938 -+ SIOCGIFMETRIC = 0xc0206917 -+ SIOCGIFMTU = 0xc0206933 -+ SIOCGIFNETMASK = 0xc0206925 -+ SIOCGIFPDSTADDR = 0xc0206948 -+ SIOCGIFPHYS = 0xc0206935 -+ SIOCGIFPOLLCPU = 0xc020697e -+ SIOCGIFPSRCADDR = 0xc0206947 -+ SIOCGIFSTATUS = 0xc331693b -+ SIOCGIFTSOLEN = 0xc0206980 -+ SIOCGLIFADDR = 0xc118691c -+ SIOCGLIFPHYADDR = 0xc118694b -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCGPRIVATE_0 = 0xc0206950 -+ SIOCGPRIVATE_1 = 0xc0206951 -+ SIOCIFCREATE = 0xc020697a -+ SIOCIFCREATE2 = 0xc020697c -+ SIOCIFDESTROY = 0x80206979 -+ SIOCIFGCLONERS = 0xc0106978 -+ SIOCSDRVSPEC = 0x8028697b -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8020690c -+ SIOCSIFBRDADDR = 0x80206913 -+ SIOCSIFCAP = 0x8020691e -+ SIOCSIFDSTADDR = 0x8020690e -+ SIOCSIFFLAGS = 0x80206910 -+ SIOCSIFGENERIC = 0x80206939 -+ SIOCSIFLLADDR = 0x8020693c -+ SIOCSIFMEDIA = 0xc0206937 -+ SIOCSIFMETRIC = 0x80206918 -+ SIOCSIFMTU = 0x80206934 -+ SIOCSIFNAME = 0x80206928 -+ SIOCSIFNETMASK = 0x80206916 -+ SIOCSIFPHYADDR = 0x80406946 -+ SIOCSIFPHYS = 0x80206936 -+ SIOCSIFPOLLCPU = 0x8020697d -+ SIOCSIFTSOLEN = 0x8020697f -+ SIOCSLIFPHYADDR = 0x8118694a -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SOCK_DGRAM = 0x2 -+ SOCK_MAXADDRLEN = 0xff -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_ACCEPTFILTER = 0x1000 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_NOSIGPIPE = 0x800 -+ SO_OOBINLINE = 0x100 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDSPACE = 0x100a -+ SO_SNDTIMEO = 0x1005 -+ SO_TIMESTAMP = 0x400 -+ SO_TYPE = 0x1008 -+ SO_USELOOPBACK = 0x40 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_FASTKEEP = 0x80 -+ TCP_KEEPCNT = 0x400 -+ TCP_KEEPIDLE = 0x100 -+ TCP_KEEPINIT = 0x20 -+ TCP_KEEPINTVL = 0x200 -+ TCP_MAXBURST = 0x4 -+ TCP_MAXHLEN = 0x3c -+ TCP_MAXOLEN = 0x28 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MINMSS = 0x100 -+ TCP_MIN_WINSHIFT = 0x5 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_NOOPT = 0x8 -+ TCP_NOPUSH = 0x4 -+ TCP_SIGNATURE_ENABLE = 0x10 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDCDTIMESTAMP = 0x40107458 -+ TIOCDRAIN = 0x2000745e -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLUSH = 0x80047410 -+ TIOCGDRAINWAIT = 0x40047456 -+ TIOCGETA = 0x402c7413 -+ TIOCGETD = 0x4004741a -+ TIOCGPGRP = 0x40047477 -+ TIOCGSID = 0x40047463 -+ TIOCGSIZE = 0x40087468 -+ TIOCGWINSZ = 0x40087468 -+ TIOCISPTMASTER = 0x20007455 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGDTRWAIT = 0x4004745a -+ TIOCMGET = 0x4004746a -+ TIOCMODG = 0x40047403 -+ TIOCMODS = 0x80047404 -+ TIOCMSDTRWAIT = 0x8004745b -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCREMOTE = 0x80047469 -+ TIOCSBRK = 0x2000747b -+ TIOCSCTTY = 0x20007461 -+ TIOCSDRAINWAIT = 0x80047457 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x802c7414 -+ TIOCSETAF = 0x802c7416 -+ TIOCSETAW = 0x802c7415 -+ TIOCSETD = 0x8004741b -+ TIOCSIG = 0x2000745f -+ TIOCSPGRP = 0x80047476 -+ TIOCSSIZE = 0x80087467 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x20007465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCTIMESTAMP = 0x40107459 -+ TIOCUCNTL = 0x80047466 -+ TOSTOP = 0x400000 -+ VCHECKPT = 0x13 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VERASE2 = 0x7 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WCONTINUED = 0x4 -+ WCOREFLAG = 0x80 -+ WLINUXCLONE = 0x80000000 -+ WNOHANG = 0x1 -+ WSTOPPED = 0x7f -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EASYNC = syscall.Errno(0x63) -+ EAUTH = syscall.Errno(0x50) -+ EBADF = syscall.Errno(0x9) -+ EBADMSG = syscall.Errno(0x59) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x55) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDOM = syscall.Errno(0x21) -+ EDOOFUS = syscall.Errno(0x58) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x52) -+ EILSEQ = syscall.Errno(0x56) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x63) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5a) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x57) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x5b) -+ ENOMEDIUM = syscall.Errno(0x5d) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x53) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x2d) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x2d) -+ EOVERFLOW = syscall.Errno(0x54) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x5c) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUNUSED94 = syscall.Errno(0x5e) -+ EUNUSED95 = syscall.Errno(0x5f) -+ EUNUSED96 = syscall.Errno(0x60) -+ EUNUSED97 = syscall.Errno(0x61) -+ EUNUSED98 = syscall.Errno(0x62) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCKPT = syscall.Signal(0x21) -+ SIGCKPTEXIT = syscall.Signal(0x22) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTHR = syscall.Signal(0x20) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "operation timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "identifier removed", -+ 83: "no message of desired type", -+ 84: "value too large to be stored in data type", -+ 85: "operation canceled", -+ 86: "illegal byte sequence", -+ 87: "attribute not found", -+ 88: "programming error", -+ 89: "bad message", -+ 90: "multihop attempted", -+ 91: "link has been severed", -+ 92: "protocol error", -+ 93: "no medium found", -+ 94: "unknown error: 94", -+ 95: "unknown error: 95", -+ 96: "unknown error: 96", -+ 97: "unknown error: 97", -+ 98: "unknown error: 98", -+ 99: "unknown error: 99", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "suspended (signal)", -+ 18: "suspended", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+ 32: "thread Scheduler", -+ 33: "checkPoint", -+ 34: "checkPointExit", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go -new file mode 100644 -index 0000000..7b95751 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go -@@ -0,0 +1,1743 @@ -+// mkerrors.sh -m32 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build 386,freebsd -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m32 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_ARP = 0x23 -+ AF_ATM = 0x1e -+ AF_BLUETOOTH = 0x24 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1a -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x25 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x1c -+ AF_INET6_SDP = 0x2a -+ AF_INET_SDP = 0x28 -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1a -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x2a -+ AF_NATM = 0x1d -+ AF_NETBIOS = 0x6 -+ AF_NETGRAPH = 0x20 -+ AF_OSI = 0x7 -+ AF_PUP = 0x4 -+ AF_ROUTE = 0x11 -+ AF_SCLUSTER = 0x22 -+ AF_SIP = 0x18 -+ AF_SLOW = 0x21 -+ AF_SNA = 0xb -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VENDOR00 = 0x27 -+ AF_VENDOR01 = 0x29 -+ AF_VENDOR02 = 0x2b -+ AF_VENDOR03 = 0x2d -+ AF_VENDOR04 = 0x2f -+ AF_VENDOR05 = 0x31 -+ AF_VENDOR06 = 0x33 -+ AF_VENDOR07 = 0x35 -+ AF_VENDOR08 = 0x37 -+ AF_VENDOR09 = 0x39 -+ AF_VENDOR10 = 0x3b -+ AF_VENDOR11 = 0x3d -+ AF_VENDOR12 = 0x3f -+ AF_VENDOR13 = 0x41 -+ AF_VENDOR14 = 0x43 -+ AF_VENDOR15 = 0x45 -+ AF_VENDOR16 = 0x47 -+ AF_VENDOR17 = 0x49 -+ AF_VENDOR18 = 0x4b -+ AF_VENDOR19 = 0x4d -+ AF_VENDOR20 = 0x4f -+ AF_VENDOR21 = 0x51 -+ AF_VENDOR22 = 0x53 -+ AF_VENDOR23 = 0x55 -+ AF_VENDOR24 = 0x57 -+ AF_VENDOR25 = 0x59 -+ AF_VENDOR26 = 0x5b -+ AF_VENDOR27 = 0x5d -+ AF_VENDOR28 = 0x5f -+ AF_VENDOR29 = 0x61 -+ AF_VENDOR30 = 0x63 -+ AF_VENDOR31 = 0x65 -+ AF_VENDOR32 = 0x67 -+ AF_VENDOR33 = 0x69 -+ AF_VENDOR34 = 0x6b -+ AF_VENDOR35 = 0x6d -+ AF_VENDOR36 = 0x6f -+ AF_VENDOR37 = 0x71 -+ AF_VENDOR38 = 0x73 -+ AF_VENDOR39 = 0x75 -+ AF_VENDOR40 = 0x77 -+ AF_VENDOR41 = 0x79 -+ AF_VENDOR42 = 0x7b -+ AF_VENDOR43 = 0x7d -+ AF_VENDOR44 = 0x7f -+ AF_VENDOR45 = 0x81 -+ AF_VENDOR46 = 0x83 -+ AF_VENDOR47 = 0x85 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B460800 = 0x70800 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B921600 = 0xe1000 -+ B9600 = 0x2580 -+ BIOCFEEDBACK = 0x8004427c -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDIRECTION = 0x40044276 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc0084279 -+ BIOCGETBUFMODE = 0x4004427d -+ BIOCGETIF = 0x4020426b -+ BIOCGETZMAX = 0x4004427f -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRSIG = 0x40044272 -+ BIOCGRTIMEOUT = 0x4008426e -+ BIOCGSEESENT = 0x40044276 -+ BIOCGSTATS = 0x4008426f -+ BIOCGTSTAMP = 0x40044283 -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCLOCK = 0x2000427a -+ BIOCPROMISC = 0x20004269 -+ BIOCROTZBUF = 0x400c4280 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDIRECTION = 0x80044277 -+ BIOCSDLT = 0x80044278 -+ BIOCSETBUFMODE = 0x8004427e -+ BIOCSETF = 0x80084267 -+ BIOCSETFNR = 0x80084282 -+ BIOCSETIF = 0x8020426c -+ BIOCSETWF = 0x8008427b -+ BIOCSETZBUF = 0x800c4281 -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRSIG = 0x80044273 -+ BIOCSRTIMEOUT = 0x8008426d -+ BIOCSSEESENT = 0x80044277 -+ BIOCSTSTAMP = 0x80044284 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_BUFMODE_BUFFER = 0x1 -+ BPF_BUFMODE_ZBUF = 0x2 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x80000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_T_BINTIME = 0x2 -+ BPF_T_BINTIME_FAST = 0x102 -+ BPF_T_BINTIME_MONOTONIC = 0x202 -+ BPF_T_BINTIME_MONOTONIC_FAST = 0x302 -+ BPF_T_FAST = 0x100 -+ BPF_T_FLAG_MASK = 0x300 -+ BPF_T_FORMAT_MASK = 0x3 -+ BPF_T_MICROTIME = 0x0 -+ BPF_T_MICROTIME_FAST = 0x100 -+ BPF_T_MICROTIME_MONOTONIC = 0x200 -+ BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 -+ BPF_T_MONOTONIC = 0x200 -+ BPF_T_MONOTONIC_FAST = 0x300 -+ BPF_T_NANOTIME = 0x1 -+ BPF_T_NANOTIME_FAST = 0x101 -+ BPF_T_NANOTIME_MONOTONIC = 0x201 -+ BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 -+ BPF_T_NONE = 0x3 -+ BPF_T_NORMAL = 0x0 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CLOCK_MONOTONIC = 0x4 -+ CLOCK_MONOTONIC_FAST = 0xc -+ CLOCK_MONOTONIC_PRECISE = 0xb -+ CLOCK_PROCESS_CPUTIME_ID = 0xf -+ CLOCK_PROF = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_FAST = 0xa -+ CLOCK_REALTIME_PRECISE = 0x9 -+ CLOCK_SECOND = 0xd -+ CLOCK_THREAD_CPUTIME_ID = 0xe -+ CLOCK_UPTIME = 0x5 -+ CLOCK_UPTIME_FAST = 0x8 -+ CLOCK_UPTIME_PRECISE = 0x7 -+ CLOCK_VIRTUAL = 0x1 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0x18 -+ CTL_NET = 0x4 -+ DLT_A429 = 0xb8 -+ DLT_A653_ICM = 0xb9 -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_AOS = 0xde -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_AX25_KISS = 0xca -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_BLUETOOTH_HCI_H4 = 0xbb -+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 -+ DLT_CAN20B = 0xbe -+ DLT_CAN_SOCKETCAN = 0xe3 -+ DLT_CHAOS = 0x5 -+ DLT_CHDLC = 0x68 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_C_HDLC_WITH_DIR = 0xcd -+ DLT_DBUS = 0xe7 -+ DLT_DECT = 0xdd -+ DLT_DOCSIS = 0x8f -+ DLT_DVB_CI = 0xeb -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF = 0xc5 -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FC_2 = 0xe0 -+ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 -+ DLT_FDDI = 0xa -+ DLT_FLEXRAY = 0xd2 -+ DLT_FRELAY = 0x6b -+ DLT_FRELAY_WITH_DIR = 0xce -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_GSMTAP_ABIS = 0xda -+ DLT_GSMTAP_UM = 0xd9 -+ DLT_HHDLC = 0x79 -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IEEE802_15_4 = 0xc3 -+ DLT_IEEE802_15_4_LINUX = 0xbf -+ DLT_IEEE802_15_4_NOFCS = 0xe6 -+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 -+ DLT_IEEE802_16_MAC_CPS = 0xbc -+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 -+ DLT_IPFILTER = 0x74 -+ DLT_IPMB = 0xc7 -+ DLT_IPMB_LINUX = 0xd1 -+ DLT_IPNET = 0xe2 -+ DLT_IPOIB = 0xf2 -+ DLT_IPV4 = 0xe4 -+ DLT_IPV6 = 0xe5 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_ATM_CEMIC = 0xee -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FIBRECHANNEL = 0xea -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_ISM = 0xc2 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_JUNIPER_SRX_E2E = 0xe9 -+ DLT_JUNIPER_ST = 0xc8 -+ DLT_JUNIPER_VP = 0xb7 -+ DLT_JUNIPER_VS = 0xe8 -+ DLT_LAPB_WITH_DIR = 0xcf -+ DLT_LAPD = 0xcb -+ DLT_LIN = 0xd4 -+ DLT_LINUX_EVDEV = 0xd8 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_PPP_WITHDIRECTION = 0xa6 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MATCHING_MAX = 0xf6 -+ DLT_MATCHING_MIN = 0x68 -+ DLT_MFR = 0xb6 -+ DLT_MOST = 0xd3 -+ DLT_MPEG_2_TS = 0xf3 -+ DLT_MPLS = 0xdb -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_MUX27010 = 0xec -+ DLT_NETANALYZER = 0xf0 -+ DLT_NETANALYZER_TRANSPARENT = 0xf1 -+ DLT_NFC_LLCP = 0xf5 -+ DLT_NFLOG = 0xef -+ DLT_NG40 = 0xf4 -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x79 -+ DLT_PPI = 0xc0 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0x10 -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PPP_WITH_DIR = 0xcc -+ DLT_PPP_WITH_DIRECTION = 0xa6 -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAIF1 = 0xc6 -+ DLT_RAW = 0xc -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SITA = 0xc4 -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xf -+ DLT_STANAG_5066_D_PDU = 0xed -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ DLT_USB = 0xba -+ DLT_USB_LINUX = 0xbd -+ DLT_USB_LINUX_MMAPPED = 0xdc -+ DLT_USER0 = 0x93 -+ DLT_USER1 = 0x94 -+ DLT_USER10 = 0x9d -+ DLT_USER11 = 0x9e -+ DLT_USER12 = 0x9f -+ DLT_USER13 = 0xa0 -+ DLT_USER14 = 0xa1 -+ DLT_USER15 = 0xa2 -+ DLT_USER2 = 0x95 -+ DLT_USER3 = 0x96 -+ DLT_USER4 = 0x97 -+ DLT_USER5 = 0x98 -+ DLT_USER6 = 0x99 -+ DLT_USER7 = 0x9a -+ DLT_USER8 = 0x9b -+ DLT_USER9 = 0x9c -+ DLT_WIHART = 0xdf -+ DLT_X2E_SERIAL = 0xd5 -+ DLT_X2E_XORAYA = 0xd6 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EVFILT_AIO = -0x3 -+ EVFILT_FS = -0x9 -+ EVFILT_LIO = -0xa -+ EVFILT_PROC = -0x5 -+ EVFILT_READ = -0x1 -+ EVFILT_SIGNAL = -0x6 -+ EVFILT_SYSCOUNT = 0xb -+ EVFILT_TIMER = -0x7 -+ EVFILT_USER = -0xb -+ EVFILT_VNODE = -0x4 -+ EVFILT_WRITE = -0x2 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_DISPATCH = 0x80 -+ EV_DROP = 0x1000 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_RECEIPT = 0x40 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTATTR_NAMESPACE_EMPTY = 0x0 -+ EXTATTR_NAMESPACE_SYSTEM = 0x2 -+ EXTATTR_NAMESPACE_USER = 0x1 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x800000 -+ F_CANCEL = 0x5 -+ F_DUP2FD = 0xa -+ F_DUP2FD_CLOEXEC = 0x12 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x11 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0xb -+ F_GETOWN = 0x5 -+ F_OGETLK = 0x7 -+ F_OK = 0x0 -+ F_OSETLK = 0x8 -+ F_OSETLKW = 0x9 -+ F_RDAHEAD = 0x10 -+ F_RDLCK = 0x1 -+ F_READAHEAD = 0xf -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0xc -+ F_SETLKW = 0xd -+ F_SETLK_REMOTE = 0xe -+ F_SETOWN = 0x6 -+ F_UNLCK = 0x2 -+ F_UNLCKSYS = 0x4 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFAN_ARRIVAL = 0x0 -+ IFAN_DEPARTURE = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_ALTPHYS = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_CANTCHANGE = 0x218f72 -+ IFF_CANTCONFIG = 0x10000 -+ IFF_DEBUG = 0x4 -+ IFF_DRV_OACTIVE = 0x400 -+ IFF_DRV_RUNNING = 0x40 -+ IFF_DYING = 0x200000 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MONITOR = 0x40000 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PPROMISC = 0x20000 -+ IFF_PROMISC = 0x100 -+ IFF_RENAMING = 0x400000 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_SMART = 0x20 -+ IFF_STATICARP = 0x80000 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_A12MPPSWITCH = 0x82 -+ IFT_AAL2 = 0xbb -+ IFT_AAL5 = 0x31 -+ IFT_ADSL = 0x5e -+ IFT_AFLANE8023 = 0x3b -+ IFT_AFLANE8025 = 0x3c -+ IFT_ARAP = 0x58 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ASYNC = 0x54 -+ IFT_ATM = 0x25 -+ IFT_ATMDXI = 0x69 -+ IFT_ATMFUNI = 0x6a -+ IFT_ATMIMA = 0x6b -+ IFT_ATMLOGICAL = 0x50 -+ IFT_ATMRADIO = 0xbd -+ IFT_ATMSUBINTERFACE = 0x86 -+ IFT_ATMVCIENDPT = 0xc2 -+ IFT_ATMVIRTUAL = 0x95 -+ IFT_BGPPOLICYACCOUNTING = 0xa2 -+ IFT_BRIDGE = 0xd1 -+ IFT_BSC = 0x53 -+ IFT_CARP = 0xf8 -+ IFT_CCTEMUL = 0x3d -+ IFT_CEPT = 0x13 -+ IFT_CES = 0x85 -+ IFT_CHANNEL = 0x46 -+ IFT_CNR = 0x55 -+ IFT_COFFEE = 0x84 -+ IFT_COMPOSITELINK = 0x9b -+ IFT_DCN = 0x8d -+ IFT_DIGITALPOWERLINE = 0x8a -+ IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba -+ IFT_DLSW = 0x4a -+ IFT_DOCSCABLEDOWNSTREAM = 0x80 -+ IFT_DOCSCABLEMACLAYER = 0x7f -+ IFT_DOCSCABLEUPSTREAM = 0x81 -+ IFT_DS0 = 0x51 -+ IFT_DS0BUNDLE = 0x52 -+ IFT_DS1FDL = 0xaa -+ IFT_DS3 = 0x1e -+ IFT_DTM = 0x8c -+ IFT_DVBASILN = 0xac -+ IFT_DVBASIOUT = 0xad -+ IFT_DVBRCCDOWNSTREAM = 0x93 -+ IFT_DVBRCCMACLAYER = 0x92 -+ IFT_DVBRCCUPSTREAM = 0x94 -+ IFT_ENC = 0xf4 -+ IFT_EON = 0x19 -+ IFT_EPLRS = 0x57 -+ IFT_ESCON = 0x49 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0xf2 -+ IFT_FAST = 0x7d -+ IFT_FASTETHER = 0x3e -+ IFT_FASTETHERFX = 0x45 -+ IFT_FDDI = 0xf -+ IFT_FIBRECHANNEL = 0x38 -+ IFT_FRAMERELAYINTERCONNECT = 0x3a -+ IFT_FRAMERELAYMPI = 0x5c -+ IFT_FRDLCIENDPT = 0xc1 -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_FRF16MFRBUNDLE = 0xa3 -+ IFT_FRFORWARD = 0x9e -+ IFT_G703AT2MB = 0x43 -+ IFT_G703AT64K = 0x42 -+ IFT_GIF = 0xf0 -+ IFT_GIGABITETHERNET = 0x75 -+ IFT_GR303IDT = 0xb2 -+ IFT_GR303RDT = 0xb1 -+ IFT_H323GATEKEEPER = 0xa4 -+ IFT_H323PROXY = 0xa5 -+ IFT_HDH1822 = 0x3 -+ IFT_HDLC = 0x76 -+ IFT_HDSL2 = 0xa8 -+ IFT_HIPERLAN2 = 0xb7 -+ IFT_HIPPI = 0x2f -+ IFT_HIPPIINTERFACE = 0x39 -+ IFT_HOSTPAD = 0x5a -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IBM370PARCHAN = 0x48 -+ IFT_IDSL = 0x9a -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE80211 = 0x47 -+ IFT_IEEE80212 = 0x37 -+ IFT_IEEE8023ADLAG = 0xa1 -+ IFT_IFGSN = 0x91 -+ IFT_IMT = 0xbe -+ IFT_INFINIBAND = 0xc7 -+ IFT_INTERLEAVE = 0x7c -+ IFT_IP = 0x7e -+ IFT_IPFORWARD = 0x8e -+ IFT_IPOVERATM = 0x72 -+ IFT_IPOVERCDLC = 0x6d -+ IFT_IPOVERCLAW = 0x6e -+ IFT_IPSWITCH = 0x4e -+ IFT_IPXIP = 0xf9 -+ IFT_ISDN = 0x3f -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISDNS = 0x4b -+ IFT_ISDNU = 0x4c -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88025CRFPINT = 0x62 -+ IFT_ISO88025DTR = 0x56 -+ IFT_ISO88025FIBER = 0x73 -+ IFT_ISO88026 = 0xa -+ IFT_ISUP = 0xb3 -+ IFT_L2VLAN = 0x87 -+ IFT_L3IPVLAN = 0x88 -+ IFT_L3IPXVLAN = 0x89 -+ IFT_LAPB = 0x10 -+ IFT_LAPD = 0x4d -+ IFT_LAPF = 0x77 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MEDIAMAILOVERIP = 0x8b -+ IFT_MFSIGLINK = 0xa7 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_MPC = 0x71 -+ IFT_MPLS = 0xa6 -+ IFT_MPLSTUNNEL = 0x96 -+ IFT_MSDSL = 0x8f -+ IFT_MVL = 0xbf -+ IFT_MYRINET = 0x63 -+ IFT_NFAS = 0xaf -+ IFT_NSIP = 0x1b -+ IFT_OPTICALCHANNEL = 0xc3 -+ IFT_OPTICALTRANSPORT = 0xc4 -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PFLOG = 0xf6 -+ IFT_PFSYNC = 0xf7 -+ IFT_PLC = 0xae -+ IFT_POS = 0xab -+ IFT_PPP = 0x17 -+ IFT_PPPMULTILINKBUNDLE = 0x6c -+ IFT_PROPBWAP2MP = 0xb8 -+ IFT_PROPCNLS = 0x59 -+ IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 -+ IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 -+ IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PROPWIRELESSP2P = 0x9d -+ IFT_PTPSERIAL = 0x16 -+ IFT_PVC = 0xf1 -+ IFT_QLLC = 0x44 -+ IFT_RADIOMAC = 0xbc -+ IFT_RADSL = 0x5f -+ IFT_REACHDSL = 0xc0 -+ IFT_RFC1483 = 0x9f -+ IFT_RS232 = 0x21 -+ IFT_RSRB = 0x4f -+ IFT_SDLC = 0x11 -+ IFT_SDSL = 0x60 -+ IFT_SHDSL = 0xa9 -+ IFT_SIP = 0x1f -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETOVERHEADCHANNEL = 0xb9 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_SRP = 0x97 -+ IFT_SS7SIGLINK = 0x9c -+ IFT_STACKTOSTACK = 0x6f -+ IFT_STARLAN = 0xb -+ IFT_STF = 0xd7 -+ IFT_T1 = 0x12 -+ IFT_TDLC = 0x74 -+ IFT_TERMPAD = 0x5b -+ IFT_TR008 = 0xb0 -+ IFT_TRANSPHDLC = 0x7b -+ IFT_TUNNEL = 0x83 -+ IFT_ULTRA = 0x1d -+ IFT_USB = 0xa0 -+ IFT_V11 = 0x40 -+ IFT_V35 = 0x2d -+ IFT_V36 = 0x41 -+ IFT_V37 = 0x78 -+ IFT_VDSL = 0x61 -+ IFT_VIRTUALIPADDRESS = 0x70 -+ IFT_VOICEEM = 0x64 -+ IFT_VOICEENCAP = 0x67 -+ IFT_VOICEFXO = 0x65 -+ IFT_VOICEFXS = 0x66 -+ IFT_VOICEOVERATM = 0x98 -+ IFT_VOICEOVERFRAMERELAY = 0x99 -+ IFT_VOICEOVERIP = 0x68 -+ IFT_X213 = 0x5d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25HUNTGROUP = 0x7a -+ IFT_X25MLP = 0x79 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LOOPBACKNET = 0x7f -+ IN_RFC3021_MASK = 0xfffffffe -+ IPPROTO_3PC = 0x22 -+ IPPROTO_ADFS = 0x44 -+ IPPROTO_AH = 0x33 -+ IPPROTO_AHIP = 0x3d -+ IPPROTO_APES = 0x63 -+ IPPROTO_ARGUS = 0xd -+ IPPROTO_AX25 = 0x5d -+ IPPROTO_BHA = 0x31 -+ IPPROTO_BLT = 0x1e -+ IPPROTO_BRSATMON = 0x4c -+ IPPROTO_CARP = 0x70 -+ IPPROTO_CFTP = 0x3e -+ IPPROTO_CHAOS = 0x10 -+ IPPROTO_CMTP = 0x26 -+ IPPROTO_CPHB = 0x49 -+ IPPROTO_CPNX = 0x48 -+ IPPROTO_DDP = 0x25 -+ IPPROTO_DGP = 0x56 -+ IPPROTO_DIVERT = 0x102 -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_EMCON = 0xe -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GMTP = 0x64 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HELLO = 0x3f -+ IPPROTO_HIP = 0x8b -+ IPPROTO_HMP = 0x14 -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IDPR = 0x23 -+ IPPROTO_IDRP = 0x2d -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IGP = 0x55 -+ IPPROTO_IGRP = 0x58 -+ IPPROTO_IL = 0x28 -+ IPPROTO_INLSP = 0x34 -+ IPPROTO_INP = 0x20 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPCV = 0x47 -+ IPPROTO_IPEIP = 0x5e -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPPC = 0x43 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IRTP = 0x1c -+ IPPROTO_KRYPTOLAN = 0x41 -+ IPPROTO_LARP = 0x5b -+ IPPROTO_LEAF1 = 0x19 -+ IPPROTO_LEAF2 = 0x1a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MEAS = 0x13 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MHRP = 0x30 -+ IPPROTO_MICP = 0x5f -+ IPPROTO_MOBILE = 0x37 -+ IPPROTO_MPLS = 0x89 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_MUX = 0x12 -+ IPPROTO_ND = 0x4d -+ IPPROTO_NHRP = 0x36 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_NSP = 0x1f -+ IPPROTO_NVPII = 0xb -+ IPPROTO_OLD_DIVERT = 0xfe -+ IPPROTO_OSPFIGP = 0x59 -+ IPPROTO_PFSYNC = 0xf0 -+ IPPROTO_PGM = 0x71 -+ IPPROTO_PIGP = 0x9 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PRM = 0x15 -+ IPPROTO_PUP = 0xc -+ IPPROTO_PVP = 0x4b -+ IPPROTO_RAW = 0xff -+ IPPROTO_RCCMON = 0xa -+ IPPROTO_RDP = 0x1b -+ IPPROTO_RESERVED_253 = 0xfd -+ IPPROTO_RESERVED_254 = 0xfe -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_RVD = 0x42 -+ IPPROTO_SATEXPAK = 0x40 -+ IPPROTO_SATMON = 0x45 -+ IPPROTO_SCCSP = 0x60 -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_SDRP = 0x2a -+ IPPROTO_SEND = 0x103 -+ IPPROTO_SEP = 0x21 -+ IPPROTO_SHIM6 = 0x8c -+ IPPROTO_SKIP = 0x39 -+ IPPROTO_SPACER = 0x7fff -+ IPPROTO_SRPC = 0x5a -+ IPPROTO_ST = 0x7 -+ IPPROTO_SVMTP = 0x52 -+ IPPROTO_SWIPE = 0x35 -+ IPPROTO_TCF = 0x57 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TLSP = 0x38 -+ IPPROTO_TP = 0x1d -+ IPPROTO_TPXX = 0x27 -+ IPPROTO_TRUNK1 = 0x17 -+ IPPROTO_TRUNK2 = 0x18 -+ IPPROTO_TTP = 0x54 -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPPROTO_VINES = 0x53 -+ IPPROTO_VISA = 0x46 -+ IPPROTO_VMTP = 0x51 -+ IPPROTO_WBEXPAK = 0x4f -+ IPPROTO_WBMON = 0x4e -+ IPPROTO_WSN = 0x4a -+ IPPROTO_XNET = 0xf -+ IPPROTO_XTP = 0x24 -+ IPV6_AUTOFLOWLABEL = 0x3b -+ IPV6_BINDANY = 0x40 -+ IPV6_BINDV6ONLY = 0x1b -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DSTOPTS = 0x32 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x78 -+ IPV6_FW_ADD = 0x1e -+ IPV6_FW_DEL = 0x1f -+ IPV6_FW_FLUSH = 0x20 -+ IPV6_FW_GET = 0x22 -+ IPV6_FW_ZERO = 0x21 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_HOPLIMIT = 0x2f -+ IPV6_HOPOPTS = 0x31 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXOPTHDR = 0x800 -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MAX_GROUP_SRC_FILTER = 0x200 -+ IPV6_MAX_MEMBERSHIPS = 0xfff -+ IPV6_MAX_SOCK_SRC_FILTER = 0x80 -+ IPV6_MIN_MEMBERSHIPS = 0x1f -+ IPV6_MMTU = 0x500 -+ IPV6_MSFILTER = 0x4a -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_NEXTHOP = 0x30 -+ IPV6_PATHMTU = 0x2c -+ IPV6_PKTINFO = 0x2e -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_PREFER_TEMPADDR = 0x3f -+ IPV6_RECVDSTOPTS = 0x28 -+ IPV6_RECVHOPLIMIT = 0x25 -+ IPV6_RECVHOPOPTS = 0x27 -+ IPV6_RECVPATHMTU = 0x2b -+ IPV6_RECVPKTINFO = 0x24 -+ IPV6_RECVRTHDR = 0x26 -+ IPV6_RECVTCLASS = 0x39 -+ IPV6_RTHDR = 0x33 -+ IPV6_RTHDRDSTOPTS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x3d -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_USE_MIN_MTU = 0x2a -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_ADD_SOURCE_MEMBERSHIP = 0x46 -+ IP_BINDANY = 0x18 -+ IP_BLOCK_SOURCE = 0x48 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DONTFRAG = 0x43 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_DROP_SOURCE_MEMBERSHIP = 0x47 -+ IP_DUMMYNET3 = 0x31 -+ IP_DUMMYNET_CONFIGURE = 0x3c -+ IP_DUMMYNET_DEL = 0x3d -+ IP_DUMMYNET_FLUSH = 0x3e -+ IP_DUMMYNET_GET = 0x40 -+ IP_FAITH = 0x16 -+ IP_FW3 = 0x30 -+ IP_FW_ADD = 0x32 -+ IP_FW_DEL = 0x33 -+ IP_FW_FLUSH = 0x34 -+ IP_FW_GET = 0x36 -+ IP_FW_NAT_CFG = 0x38 -+ IP_FW_NAT_DEL = 0x39 -+ IP_FW_NAT_GET_CONFIG = 0x3a -+ IP_FW_NAT_GET_LOG = 0x3b -+ IP_FW_RESETLOG = 0x37 -+ IP_FW_TABLE_ADD = 0x28 -+ IP_FW_TABLE_DEL = 0x29 -+ IP_FW_TABLE_FLUSH = 0x2a -+ IP_FW_TABLE_GETSIZE = 0x2b -+ IP_FW_TABLE_LIST = 0x2c -+ IP_FW_ZERO = 0x35 -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x15 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_GROUP_SRC_FILTER = 0x200 -+ IP_MAX_MEMBERSHIPS = 0xfff -+ IP_MAX_SOCK_MUTE_FILTER = 0x80 -+ IP_MAX_SOCK_SRC_FILTER = 0x80 -+ IP_MAX_SOURCE_FILTER = 0x400 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x42 -+ IP_MIN_MEMBERSHIPS = 0x1f -+ IP_MSFILTER = 0x4a -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_MULTICAST_VIF = 0xe -+ IP_OFFMASK = 0x1fff -+ IP_ONESBCAST = 0x17 -+ IP_OPTIONS = 0x1 -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTOS = 0x44 -+ IP_RECVTTL = 0x41 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_RSVP_OFF = 0x10 -+ IP_RSVP_ON = 0xf -+ IP_RSVP_VIF_OFF = 0x12 -+ IP_RSVP_VIF_ON = 0x11 -+ IP_SENDSRCADDR = 0x7 -+ IP_TOS = 0x3 -+ IP_TTL = 0x4 -+ IP_UNBLOCK_SOURCE = 0x49 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_AUTOSYNC = 0x7 -+ MADV_CORE = 0x9 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x5 -+ MADV_NOCORE = 0x8 -+ MADV_NORMAL = 0x0 -+ MADV_NOSYNC = 0x6 -+ MADV_PROTECT = 0xa -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_WILLNEED = 0x3 -+ MAP_ALIGNED_SUPER = 0x1000000 -+ MAP_ALIGNMENT_MASK = -0x1000000 -+ MAP_ALIGNMENT_SHIFT = 0x18 -+ MAP_ANON = 0x1000 -+ MAP_ANONYMOUS = 0x1000 -+ MAP_COPY = 0x2 -+ MAP_EXCL = 0x4000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_NOCORE = 0x20000 -+ MAP_NORESERVE = 0x40 -+ MAP_NOSYNC = 0x800 -+ MAP_PREFAULT_READ = 0x40000 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_RESERVED0080 = 0x80 -+ MAP_RESERVED0100 = 0x100 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x400 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_CMSG_CLOEXEC = 0x40000 -+ MSG_COMPAT = 0x8000 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOF = 0x100 -+ MSG_EOR = 0x8 -+ MSG_NBIO = 0x4000 -+ MSG_NOSIGNAL = 0x20000 -+ MSG_NOTIFICATION = 0x2000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_TRUNC = 0x10 -+ MSG_WAITALL = 0x40 -+ MS_ASYNC = 0x1 -+ MS_INVALIDATE = 0x2 -+ MS_SYNC = 0x0 -+ NAME_MAX = 0xff -+ NET_RT_DUMP = 0x1 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x3 -+ NET_RT_IFLISTL = 0x5 -+ NET_RT_IFMALIST = 0x4 -+ NET_RT_MAXID = 0x6 -+ NOFLSH = 0x80000000 -+ NOTE_ATTRIB = 0x8 -+ NOTE_CHILD = 0x4 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FFAND = 0x40000000 -+ NOTE_FFCOPY = 0xc0000000 -+ NOTE_FFCTRLMASK = 0xc0000000 -+ NOTE_FFLAGSMASK = 0xffffff -+ NOTE_FFNOP = 0x0 -+ NOTE_FFOR = 0x80000000 -+ NOTE_FORK = 0x40000000 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_PCTRLMASK = 0xf0000000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_TRIGGER = 0x1000000 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x100000 -+ O_CREAT = 0x200 -+ O_DIRECT = 0x10000 -+ O_DIRECTORY = 0x20000 -+ O_EXCL = 0x800 -+ O_EXEC = 0x40000 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x8000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_SHLOCK = 0x10 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_TTY_INIT = 0x80000 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ RLIMIT_AS = 0xa -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x8 -+ RTAX_NETMASK = 0x2 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_BROADCAST = 0x400000 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_FMASK = 0x1004d808 -+ RTF_GATEWAY = 0x2 -+ RTF_GWFLAG_COMPAT = 0x80000000 -+ RTF_HOST = 0x4 -+ RTF_LLDATA = 0x400 -+ RTF_LLINFO = 0x400 -+ RTF_LOCAL = 0x200000 -+ RTF_MODIFIED = 0x20 -+ RTF_MULTICAST = 0x800000 -+ RTF_PINNED = 0x100000 -+ RTF_PRCLONING = 0x10000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_PROTO3 = 0x40000 -+ RTF_REJECT = 0x8 -+ RTF_RNH_LOCKED = 0x40000000 -+ RTF_STATIC = 0x800 -+ RTF_STICKY = 0x10000000 -+ RTF_UP = 0x1 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_DELMADDR = 0x10 -+ RTM_GET = 0x4 -+ RTM_IEEE80211 = 0x12 -+ RTM_IFANNOUNCE = 0x11 -+ RTM_IFINFO = 0xe -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_NEWMADDR = 0xf -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_VERSION = 0x5 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RTV_WEIGHT = 0x100 -+ RT_ALL_FIBS = -0x1 -+ RT_CACHING_CONTEXT = 0x1 -+ RT_DEFAULT_FIB = 0x0 -+ RT_NORTREF = 0x2 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_BINTIME = 0x4 -+ SCM_CREDS = 0x3 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x2 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80206931 -+ SIOCADDRT = 0x8030720a -+ SIOCAIFADDR = 0x8040691a -+ SIOCAIFGROUP = 0x80246987 -+ SIOCALIFADDR = 0x8118691b -+ SIOCATMARK = 0x40047307 -+ SIOCDELMULTI = 0x80206932 -+ SIOCDELRT = 0x8030720b -+ SIOCDIFADDR = 0x80206919 -+ SIOCDIFGROUP = 0x80246989 -+ SIOCDIFPHYADDR = 0x80206949 -+ SIOCDLIFADDR = 0x8118691d -+ SIOCGDRVSPEC = 0xc01c697b -+ SIOCGETSGCNT = 0xc0147210 -+ SIOCGETVIFCNT = 0xc014720f -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0206921 -+ SIOCGIFBRDADDR = 0xc0206923 -+ SIOCGIFCAP = 0xc020691f -+ SIOCGIFCONF = 0xc0086924 -+ SIOCGIFDESCR = 0xc020692a -+ SIOCGIFDSTADDR = 0xc0206922 -+ SIOCGIFFIB = 0xc020695c -+ SIOCGIFFLAGS = 0xc0206911 -+ SIOCGIFGENERIC = 0xc020693a -+ SIOCGIFGMEMB = 0xc024698a -+ SIOCGIFGROUP = 0xc0246988 -+ SIOCGIFINDEX = 0xc0206920 -+ SIOCGIFMAC = 0xc0206926 -+ SIOCGIFMEDIA = 0xc0286938 -+ SIOCGIFMETRIC = 0xc0206917 -+ SIOCGIFMTU = 0xc0206933 -+ SIOCGIFNETMASK = 0xc0206925 -+ SIOCGIFPDSTADDR = 0xc0206948 -+ SIOCGIFPHYS = 0xc0206935 -+ SIOCGIFPSRCADDR = 0xc0206947 -+ SIOCGIFSTATUS = 0xc331693b -+ SIOCGLIFADDR = 0xc118691c -+ SIOCGLIFPHYADDR = 0xc118694b -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCGPRIVATE_0 = 0xc0206950 -+ SIOCGPRIVATE_1 = 0xc0206951 -+ SIOCIFCREATE = 0xc020697a -+ SIOCIFCREATE2 = 0xc020697c -+ SIOCIFDESTROY = 0x80206979 -+ SIOCIFGCLONERS = 0xc00c6978 -+ SIOCSDRVSPEC = 0x801c697b -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8020690c -+ SIOCSIFBRDADDR = 0x80206913 -+ SIOCSIFCAP = 0x8020691e -+ SIOCSIFDESCR = 0x80206929 -+ SIOCSIFDSTADDR = 0x8020690e -+ SIOCSIFFIB = 0x8020695d -+ SIOCSIFFLAGS = 0x80206910 -+ SIOCSIFGENERIC = 0x80206939 -+ SIOCSIFLLADDR = 0x8020693c -+ SIOCSIFMAC = 0x80206927 -+ SIOCSIFMEDIA = 0xc0206937 -+ SIOCSIFMETRIC = 0x80206918 -+ SIOCSIFMTU = 0x80206934 -+ SIOCSIFNAME = 0x80206928 -+ SIOCSIFNETMASK = 0x80206916 -+ SIOCSIFPHYADDR = 0x80406946 -+ SIOCSIFPHYS = 0x80206936 -+ SIOCSIFRVNET = 0xc020695b -+ SIOCSIFVNET = 0xc020695a -+ SIOCSLIFPHYADDR = 0x8118694a -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SOCK_CLOEXEC = 0x10000000 -+ SOCK_DGRAM = 0x2 -+ SOCK_MAXADDRLEN = 0xff -+ SOCK_NONBLOCK = 0x20000000 -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_ACCEPTFILTER = 0x1000 -+ SO_BINTIME = 0x2000 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LABEL = 0x1009 -+ SO_LINGER = 0x80 -+ SO_LISTENINCQLEN = 0x1013 -+ SO_LISTENQLEN = 0x1012 -+ SO_LISTENQLIMIT = 0x1011 -+ SO_NOSIGPIPE = 0x800 -+ SO_NO_DDP = 0x8000 -+ SO_NO_OFFLOAD = 0x4000 -+ SO_OOBINLINE = 0x100 -+ SO_PEERLABEL = 0x1010 -+ SO_PROTOCOL = 0x1016 -+ SO_PROTOTYPE = 0x1016 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_SETFIB = 0x1014 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_TIMESTAMP = 0x400 -+ SO_TYPE = 0x1008 -+ SO_USELOOPBACK = 0x40 -+ SO_USER_COOKIE = 0x1015 -+ SO_VENDOR = 0x80000000 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_CA_NAME_MAX = 0x10 -+ TCP_CONGESTION = 0x40 -+ TCP_INFO = 0x20 -+ TCP_KEEPCNT = 0x400 -+ TCP_KEEPIDLE = 0x100 -+ TCP_KEEPINIT = 0x80 -+ TCP_KEEPINTVL = 0x200 -+ TCP_MAXBURST = 0x4 -+ TCP_MAXHLEN = 0x3c -+ TCP_MAXOLEN = 0x28 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_SACK = 0x4 -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0x10 -+ TCP_MINMSS = 0xd8 -+ TCP_MSS = 0x218 -+ TCP_NODELAY = 0x1 -+ TCP_NOOPT = 0x8 -+ TCP_NOPUSH = 0x4 -+ TCP_VENDOR = 0x80000000 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDRAIN = 0x2000745e -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLUSH = 0x80047410 -+ TIOCGDRAINWAIT = 0x40047456 -+ TIOCGETA = 0x402c7413 -+ TIOCGETD = 0x4004741a -+ TIOCGPGRP = 0x40047477 -+ TIOCGPTN = 0x4004740f -+ TIOCGSID = 0x40047463 -+ TIOCGWINSZ = 0x40087468 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGDTRWAIT = 0x4004745a -+ TIOCMGET = 0x4004746a -+ TIOCMSDTRWAIT = 0x8004745b -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DCD = 0x40 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCPTMASTER = 0x2000741c -+ TIOCSBRK = 0x2000747b -+ TIOCSCTTY = 0x20007461 -+ TIOCSDRAINWAIT = 0x80047457 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x802c7414 -+ TIOCSETAF = 0x802c7416 -+ TIOCSETAW = 0x802c7415 -+ TIOCSETD = 0x8004741b -+ TIOCSIG = 0x2004745f -+ TIOCSPGRP = 0x80047476 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x20007465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCTIMESTAMP = 0x40087459 -+ TIOCUCNTL = 0x80047466 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VERASE2 = 0x7 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WCONTINUED = 0x4 -+ WCOREFLAG = 0x80 -+ WEXITED = 0x10 -+ WLINUXCLONE = 0x80000000 -+ WNOHANG = 0x1 -+ WNOWAIT = 0x8 -+ WSTOPPED = 0x2 -+ WTRAPPED = 0x20 -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADF = syscall.Errno(0x9) -+ EBADMSG = syscall.Errno(0x59) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x55) -+ ECAPMODE = syscall.Errno(0x5e) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDOM = syscall.Errno(0x21) -+ EDOOFUS = syscall.Errno(0x58) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x52) -+ EILSEQ = syscall.Errno(0x56) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x60) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5a) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x57) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x5b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x53) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCAPABLE = syscall.Errno(0x5d) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTRECOVERABLE = syscall.Errno(0x5f) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x2d) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x2d) -+ EOVERFLOW = syscall.Errno(0x54) -+ EOWNERDEAD = syscall.Errno(0x60) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x5c) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGLIBRT = syscall.Signal(0x21) -+ SIGLWP = syscall.Signal(0x20) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTHR = syscall.Signal(0x20) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "operation timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "identifier removed", -+ 83: "no message of desired type", -+ 84: "value too large to be stored in data type", -+ 85: "operation canceled", -+ 86: "illegal byte sequence", -+ 87: "attribute not found", -+ 88: "programming error", -+ 89: "bad message", -+ 90: "multihop attempted", -+ 91: "link has been severed", -+ 92: "protocol error", -+ 93: "capabilities insufficient", -+ 94: "not permitted in capability mode", -+ 95: "state not recoverable", -+ 96: "previous owner died", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "suspended (signal)", -+ 18: "suspended", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+ 32: "unknown signal", -+ 33: "unknown signal", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go -new file mode 100644 -index 0000000..e48e779 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go -@@ -0,0 +1,1748 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build amd64,freebsd -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_ARP = 0x23 -+ AF_ATM = 0x1e -+ AF_BLUETOOTH = 0x24 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1a -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x25 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x1c -+ AF_INET6_SDP = 0x2a -+ AF_INET_SDP = 0x28 -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1a -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x2a -+ AF_NATM = 0x1d -+ AF_NETBIOS = 0x6 -+ AF_NETGRAPH = 0x20 -+ AF_OSI = 0x7 -+ AF_PUP = 0x4 -+ AF_ROUTE = 0x11 -+ AF_SCLUSTER = 0x22 -+ AF_SIP = 0x18 -+ AF_SLOW = 0x21 -+ AF_SNA = 0xb -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VENDOR00 = 0x27 -+ AF_VENDOR01 = 0x29 -+ AF_VENDOR02 = 0x2b -+ AF_VENDOR03 = 0x2d -+ AF_VENDOR04 = 0x2f -+ AF_VENDOR05 = 0x31 -+ AF_VENDOR06 = 0x33 -+ AF_VENDOR07 = 0x35 -+ AF_VENDOR08 = 0x37 -+ AF_VENDOR09 = 0x39 -+ AF_VENDOR10 = 0x3b -+ AF_VENDOR11 = 0x3d -+ AF_VENDOR12 = 0x3f -+ AF_VENDOR13 = 0x41 -+ AF_VENDOR14 = 0x43 -+ AF_VENDOR15 = 0x45 -+ AF_VENDOR16 = 0x47 -+ AF_VENDOR17 = 0x49 -+ AF_VENDOR18 = 0x4b -+ AF_VENDOR19 = 0x4d -+ AF_VENDOR20 = 0x4f -+ AF_VENDOR21 = 0x51 -+ AF_VENDOR22 = 0x53 -+ AF_VENDOR23 = 0x55 -+ AF_VENDOR24 = 0x57 -+ AF_VENDOR25 = 0x59 -+ AF_VENDOR26 = 0x5b -+ AF_VENDOR27 = 0x5d -+ AF_VENDOR28 = 0x5f -+ AF_VENDOR29 = 0x61 -+ AF_VENDOR30 = 0x63 -+ AF_VENDOR31 = 0x65 -+ AF_VENDOR32 = 0x67 -+ AF_VENDOR33 = 0x69 -+ AF_VENDOR34 = 0x6b -+ AF_VENDOR35 = 0x6d -+ AF_VENDOR36 = 0x6f -+ AF_VENDOR37 = 0x71 -+ AF_VENDOR38 = 0x73 -+ AF_VENDOR39 = 0x75 -+ AF_VENDOR40 = 0x77 -+ AF_VENDOR41 = 0x79 -+ AF_VENDOR42 = 0x7b -+ AF_VENDOR43 = 0x7d -+ AF_VENDOR44 = 0x7f -+ AF_VENDOR45 = 0x81 -+ AF_VENDOR46 = 0x83 -+ AF_VENDOR47 = 0x85 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B460800 = 0x70800 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B921600 = 0xe1000 -+ B9600 = 0x2580 -+ BIOCFEEDBACK = 0x8004427c -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDIRECTION = 0x40044276 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc0104279 -+ BIOCGETBUFMODE = 0x4004427d -+ BIOCGETIF = 0x4020426b -+ BIOCGETZMAX = 0x4008427f -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRSIG = 0x40044272 -+ BIOCGRTIMEOUT = 0x4010426e -+ BIOCGSEESENT = 0x40044276 -+ BIOCGSTATS = 0x4008426f -+ BIOCGTSTAMP = 0x40044283 -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCLOCK = 0x2000427a -+ BIOCPROMISC = 0x20004269 -+ BIOCROTZBUF = 0x40184280 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDIRECTION = 0x80044277 -+ BIOCSDLT = 0x80044278 -+ BIOCSETBUFMODE = 0x8004427e -+ BIOCSETF = 0x80104267 -+ BIOCSETFNR = 0x80104282 -+ BIOCSETIF = 0x8020426c -+ BIOCSETWF = 0x8010427b -+ BIOCSETZBUF = 0x80184281 -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRSIG = 0x80044273 -+ BIOCSRTIMEOUT = 0x8010426d -+ BIOCSSEESENT = 0x80044277 -+ BIOCSTSTAMP = 0x80044284 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x8 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_BUFMODE_BUFFER = 0x1 -+ BPF_BUFMODE_ZBUF = 0x2 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x80000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_T_BINTIME = 0x2 -+ BPF_T_BINTIME_FAST = 0x102 -+ BPF_T_BINTIME_MONOTONIC = 0x202 -+ BPF_T_BINTIME_MONOTONIC_FAST = 0x302 -+ BPF_T_FAST = 0x100 -+ BPF_T_FLAG_MASK = 0x300 -+ BPF_T_FORMAT_MASK = 0x3 -+ BPF_T_MICROTIME = 0x0 -+ BPF_T_MICROTIME_FAST = 0x100 -+ BPF_T_MICROTIME_MONOTONIC = 0x200 -+ BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 -+ BPF_T_MONOTONIC = 0x200 -+ BPF_T_MONOTONIC_FAST = 0x300 -+ BPF_T_NANOTIME = 0x1 -+ BPF_T_NANOTIME_FAST = 0x101 -+ BPF_T_NANOTIME_MONOTONIC = 0x201 -+ BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 -+ BPF_T_NONE = 0x3 -+ BPF_T_NORMAL = 0x0 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CLOCK_MONOTONIC = 0x4 -+ CLOCK_MONOTONIC_FAST = 0xc -+ CLOCK_MONOTONIC_PRECISE = 0xb -+ CLOCK_PROCESS_CPUTIME_ID = 0xf -+ CLOCK_PROF = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_FAST = 0xa -+ CLOCK_REALTIME_PRECISE = 0x9 -+ CLOCK_SECOND = 0xd -+ CLOCK_THREAD_CPUTIME_ID = 0xe -+ CLOCK_UPTIME = 0x5 -+ CLOCK_UPTIME_FAST = 0x8 -+ CLOCK_UPTIME_PRECISE = 0x7 -+ CLOCK_VIRTUAL = 0x1 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0x18 -+ CTL_NET = 0x4 -+ DLT_A429 = 0xb8 -+ DLT_A653_ICM = 0xb9 -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_AOS = 0xde -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_AX25_KISS = 0xca -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_BLUETOOTH_HCI_H4 = 0xbb -+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 -+ DLT_CAN20B = 0xbe -+ DLT_CAN_SOCKETCAN = 0xe3 -+ DLT_CHAOS = 0x5 -+ DLT_CHDLC = 0x68 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_C_HDLC_WITH_DIR = 0xcd -+ DLT_DBUS = 0xe7 -+ DLT_DECT = 0xdd -+ DLT_DOCSIS = 0x8f -+ DLT_DVB_CI = 0xeb -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF = 0xc5 -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FC_2 = 0xe0 -+ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 -+ DLT_FDDI = 0xa -+ DLT_FLEXRAY = 0xd2 -+ DLT_FRELAY = 0x6b -+ DLT_FRELAY_WITH_DIR = 0xce -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_GSMTAP_ABIS = 0xda -+ DLT_GSMTAP_UM = 0xd9 -+ DLT_HHDLC = 0x79 -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IEEE802_15_4 = 0xc3 -+ DLT_IEEE802_15_4_LINUX = 0xbf -+ DLT_IEEE802_15_4_NOFCS = 0xe6 -+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 -+ DLT_IEEE802_16_MAC_CPS = 0xbc -+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 -+ DLT_IPFILTER = 0x74 -+ DLT_IPMB = 0xc7 -+ DLT_IPMB_LINUX = 0xd1 -+ DLT_IPNET = 0xe2 -+ DLT_IPOIB = 0xf2 -+ DLT_IPV4 = 0xe4 -+ DLT_IPV6 = 0xe5 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_ATM_CEMIC = 0xee -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FIBRECHANNEL = 0xea -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_ISM = 0xc2 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_JUNIPER_SRX_E2E = 0xe9 -+ DLT_JUNIPER_ST = 0xc8 -+ DLT_JUNIPER_VP = 0xb7 -+ DLT_JUNIPER_VS = 0xe8 -+ DLT_LAPB_WITH_DIR = 0xcf -+ DLT_LAPD = 0xcb -+ DLT_LIN = 0xd4 -+ DLT_LINUX_EVDEV = 0xd8 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_PPP_WITHDIRECTION = 0xa6 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MATCHING_MAX = 0xf6 -+ DLT_MATCHING_MIN = 0x68 -+ DLT_MFR = 0xb6 -+ DLT_MOST = 0xd3 -+ DLT_MPEG_2_TS = 0xf3 -+ DLT_MPLS = 0xdb -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_MUX27010 = 0xec -+ DLT_NETANALYZER = 0xf0 -+ DLT_NETANALYZER_TRANSPARENT = 0xf1 -+ DLT_NFC_LLCP = 0xf5 -+ DLT_NFLOG = 0xef -+ DLT_NG40 = 0xf4 -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x79 -+ DLT_PPI = 0xc0 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0x10 -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PPP_WITH_DIR = 0xcc -+ DLT_PPP_WITH_DIRECTION = 0xa6 -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAIF1 = 0xc6 -+ DLT_RAW = 0xc -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SITA = 0xc4 -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xf -+ DLT_STANAG_5066_D_PDU = 0xed -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ DLT_USB = 0xba -+ DLT_USB_LINUX = 0xbd -+ DLT_USB_LINUX_MMAPPED = 0xdc -+ DLT_USER0 = 0x93 -+ DLT_USER1 = 0x94 -+ DLT_USER10 = 0x9d -+ DLT_USER11 = 0x9e -+ DLT_USER12 = 0x9f -+ DLT_USER13 = 0xa0 -+ DLT_USER14 = 0xa1 -+ DLT_USER15 = 0xa2 -+ DLT_USER2 = 0x95 -+ DLT_USER3 = 0x96 -+ DLT_USER4 = 0x97 -+ DLT_USER5 = 0x98 -+ DLT_USER6 = 0x99 -+ DLT_USER7 = 0x9a -+ DLT_USER8 = 0x9b -+ DLT_USER9 = 0x9c -+ DLT_WIHART = 0xdf -+ DLT_X2E_SERIAL = 0xd5 -+ DLT_X2E_XORAYA = 0xd6 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EVFILT_AIO = -0x3 -+ EVFILT_FS = -0x9 -+ EVFILT_LIO = -0xa -+ EVFILT_PROC = -0x5 -+ EVFILT_READ = -0x1 -+ EVFILT_SIGNAL = -0x6 -+ EVFILT_SYSCOUNT = 0xb -+ EVFILT_TIMER = -0x7 -+ EVFILT_USER = -0xb -+ EVFILT_VNODE = -0x4 -+ EVFILT_WRITE = -0x2 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_DISPATCH = 0x80 -+ EV_DROP = 0x1000 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_RECEIPT = 0x40 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTATTR_NAMESPACE_EMPTY = 0x0 -+ EXTATTR_NAMESPACE_SYSTEM = 0x2 -+ EXTATTR_NAMESPACE_USER = 0x1 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x800000 -+ F_CANCEL = 0x5 -+ F_DUP2FD = 0xa -+ F_DUP2FD_CLOEXEC = 0x12 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x11 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0xb -+ F_GETOWN = 0x5 -+ F_OGETLK = 0x7 -+ F_OK = 0x0 -+ F_OSETLK = 0x8 -+ F_OSETLKW = 0x9 -+ F_RDAHEAD = 0x10 -+ F_RDLCK = 0x1 -+ F_READAHEAD = 0xf -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0xc -+ F_SETLKW = 0xd -+ F_SETLK_REMOTE = 0xe -+ F_SETOWN = 0x6 -+ F_UNLCK = 0x2 -+ F_UNLCKSYS = 0x4 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFAN_ARRIVAL = 0x0 -+ IFAN_DEPARTURE = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_ALTPHYS = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_CANTCHANGE = 0x218f72 -+ IFF_CANTCONFIG = 0x10000 -+ IFF_DEBUG = 0x4 -+ IFF_DRV_OACTIVE = 0x400 -+ IFF_DRV_RUNNING = 0x40 -+ IFF_DYING = 0x200000 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MONITOR = 0x40000 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PPROMISC = 0x20000 -+ IFF_PROMISC = 0x100 -+ IFF_RENAMING = 0x400000 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_SMART = 0x20 -+ IFF_STATICARP = 0x80000 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_A12MPPSWITCH = 0x82 -+ IFT_AAL2 = 0xbb -+ IFT_AAL5 = 0x31 -+ IFT_ADSL = 0x5e -+ IFT_AFLANE8023 = 0x3b -+ IFT_AFLANE8025 = 0x3c -+ IFT_ARAP = 0x58 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ASYNC = 0x54 -+ IFT_ATM = 0x25 -+ IFT_ATMDXI = 0x69 -+ IFT_ATMFUNI = 0x6a -+ IFT_ATMIMA = 0x6b -+ IFT_ATMLOGICAL = 0x50 -+ IFT_ATMRADIO = 0xbd -+ IFT_ATMSUBINTERFACE = 0x86 -+ IFT_ATMVCIENDPT = 0xc2 -+ IFT_ATMVIRTUAL = 0x95 -+ IFT_BGPPOLICYACCOUNTING = 0xa2 -+ IFT_BRIDGE = 0xd1 -+ IFT_BSC = 0x53 -+ IFT_CARP = 0xf8 -+ IFT_CCTEMUL = 0x3d -+ IFT_CEPT = 0x13 -+ IFT_CES = 0x85 -+ IFT_CHANNEL = 0x46 -+ IFT_CNR = 0x55 -+ IFT_COFFEE = 0x84 -+ IFT_COMPOSITELINK = 0x9b -+ IFT_DCN = 0x8d -+ IFT_DIGITALPOWERLINE = 0x8a -+ IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba -+ IFT_DLSW = 0x4a -+ IFT_DOCSCABLEDOWNSTREAM = 0x80 -+ IFT_DOCSCABLEMACLAYER = 0x7f -+ IFT_DOCSCABLEUPSTREAM = 0x81 -+ IFT_DS0 = 0x51 -+ IFT_DS0BUNDLE = 0x52 -+ IFT_DS1FDL = 0xaa -+ IFT_DS3 = 0x1e -+ IFT_DTM = 0x8c -+ IFT_DVBASILN = 0xac -+ IFT_DVBASIOUT = 0xad -+ IFT_DVBRCCDOWNSTREAM = 0x93 -+ IFT_DVBRCCMACLAYER = 0x92 -+ IFT_DVBRCCUPSTREAM = 0x94 -+ IFT_ENC = 0xf4 -+ IFT_EON = 0x19 -+ IFT_EPLRS = 0x57 -+ IFT_ESCON = 0x49 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0xf2 -+ IFT_FAST = 0x7d -+ IFT_FASTETHER = 0x3e -+ IFT_FASTETHERFX = 0x45 -+ IFT_FDDI = 0xf -+ IFT_FIBRECHANNEL = 0x38 -+ IFT_FRAMERELAYINTERCONNECT = 0x3a -+ IFT_FRAMERELAYMPI = 0x5c -+ IFT_FRDLCIENDPT = 0xc1 -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_FRF16MFRBUNDLE = 0xa3 -+ IFT_FRFORWARD = 0x9e -+ IFT_G703AT2MB = 0x43 -+ IFT_G703AT64K = 0x42 -+ IFT_GIF = 0xf0 -+ IFT_GIGABITETHERNET = 0x75 -+ IFT_GR303IDT = 0xb2 -+ IFT_GR303RDT = 0xb1 -+ IFT_H323GATEKEEPER = 0xa4 -+ IFT_H323PROXY = 0xa5 -+ IFT_HDH1822 = 0x3 -+ IFT_HDLC = 0x76 -+ IFT_HDSL2 = 0xa8 -+ IFT_HIPERLAN2 = 0xb7 -+ IFT_HIPPI = 0x2f -+ IFT_HIPPIINTERFACE = 0x39 -+ IFT_HOSTPAD = 0x5a -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IBM370PARCHAN = 0x48 -+ IFT_IDSL = 0x9a -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE80211 = 0x47 -+ IFT_IEEE80212 = 0x37 -+ IFT_IEEE8023ADLAG = 0xa1 -+ IFT_IFGSN = 0x91 -+ IFT_IMT = 0xbe -+ IFT_INFINIBAND = 0xc7 -+ IFT_INTERLEAVE = 0x7c -+ IFT_IP = 0x7e -+ IFT_IPFORWARD = 0x8e -+ IFT_IPOVERATM = 0x72 -+ IFT_IPOVERCDLC = 0x6d -+ IFT_IPOVERCLAW = 0x6e -+ IFT_IPSWITCH = 0x4e -+ IFT_IPXIP = 0xf9 -+ IFT_ISDN = 0x3f -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISDNS = 0x4b -+ IFT_ISDNU = 0x4c -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88025CRFPINT = 0x62 -+ IFT_ISO88025DTR = 0x56 -+ IFT_ISO88025FIBER = 0x73 -+ IFT_ISO88026 = 0xa -+ IFT_ISUP = 0xb3 -+ IFT_L2VLAN = 0x87 -+ IFT_L3IPVLAN = 0x88 -+ IFT_L3IPXVLAN = 0x89 -+ IFT_LAPB = 0x10 -+ IFT_LAPD = 0x4d -+ IFT_LAPF = 0x77 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MEDIAMAILOVERIP = 0x8b -+ IFT_MFSIGLINK = 0xa7 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_MPC = 0x71 -+ IFT_MPLS = 0xa6 -+ IFT_MPLSTUNNEL = 0x96 -+ IFT_MSDSL = 0x8f -+ IFT_MVL = 0xbf -+ IFT_MYRINET = 0x63 -+ IFT_NFAS = 0xaf -+ IFT_NSIP = 0x1b -+ IFT_OPTICALCHANNEL = 0xc3 -+ IFT_OPTICALTRANSPORT = 0xc4 -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PFLOG = 0xf6 -+ IFT_PFSYNC = 0xf7 -+ IFT_PLC = 0xae -+ IFT_POS = 0xab -+ IFT_PPP = 0x17 -+ IFT_PPPMULTILINKBUNDLE = 0x6c -+ IFT_PROPBWAP2MP = 0xb8 -+ IFT_PROPCNLS = 0x59 -+ IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 -+ IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 -+ IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PROPWIRELESSP2P = 0x9d -+ IFT_PTPSERIAL = 0x16 -+ IFT_PVC = 0xf1 -+ IFT_QLLC = 0x44 -+ IFT_RADIOMAC = 0xbc -+ IFT_RADSL = 0x5f -+ IFT_REACHDSL = 0xc0 -+ IFT_RFC1483 = 0x9f -+ IFT_RS232 = 0x21 -+ IFT_RSRB = 0x4f -+ IFT_SDLC = 0x11 -+ IFT_SDSL = 0x60 -+ IFT_SHDSL = 0xa9 -+ IFT_SIP = 0x1f -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETOVERHEADCHANNEL = 0xb9 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_SRP = 0x97 -+ IFT_SS7SIGLINK = 0x9c -+ IFT_STACKTOSTACK = 0x6f -+ IFT_STARLAN = 0xb -+ IFT_STF = 0xd7 -+ IFT_T1 = 0x12 -+ IFT_TDLC = 0x74 -+ IFT_TERMPAD = 0x5b -+ IFT_TR008 = 0xb0 -+ IFT_TRANSPHDLC = 0x7b -+ IFT_TUNNEL = 0x83 -+ IFT_ULTRA = 0x1d -+ IFT_USB = 0xa0 -+ IFT_V11 = 0x40 -+ IFT_V35 = 0x2d -+ IFT_V36 = 0x41 -+ IFT_V37 = 0x78 -+ IFT_VDSL = 0x61 -+ IFT_VIRTUALIPADDRESS = 0x70 -+ IFT_VOICEEM = 0x64 -+ IFT_VOICEENCAP = 0x67 -+ IFT_VOICEFXO = 0x65 -+ IFT_VOICEFXS = 0x66 -+ IFT_VOICEOVERATM = 0x98 -+ IFT_VOICEOVERFRAMERELAY = 0x99 -+ IFT_VOICEOVERIP = 0x68 -+ IFT_X213 = 0x5d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25HUNTGROUP = 0x7a -+ IFT_X25MLP = 0x79 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LOOPBACKNET = 0x7f -+ IN_RFC3021_MASK = 0xfffffffe -+ IPPROTO_3PC = 0x22 -+ IPPROTO_ADFS = 0x44 -+ IPPROTO_AH = 0x33 -+ IPPROTO_AHIP = 0x3d -+ IPPROTO_APES = 0x63 -+ IPPROTO_ARGUS = 0xd -+ IPPROTO_AX25 = 0x5d -+ IPPROTO_BHA = 0x31 -+ IPPROTO_BLT = 0x1e -+ IPPROTO_BRSATMON = 0x4c -+ IPPROTO_CARP = 0x70 -+ IPPROTO_CFTP = 0x3e -+ IPPROTO_CHAOS = 0x10 -+ IPPROTO_CMTP = 0x26 -+ IPPROTO_CPHB = 0x49 -+ IPPROTO_CPNX = 0x48 -+ IPPROTO_DDP = 0x25 -+ IPPROTO_DGP = 0x56 -+ IPPROTO_DIVERT = 0x102 -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_EMCON = 0xe -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GMTP = 0x64 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HELLO = 0x3f -+ IPPROTO_HIP = 0x8b -+ IPPROTO_HMP = 0x14 -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IDPR = 0x23 -+ IPPROTO_IDRP = 0x2d -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IGP = 0x55 -+ IPPROTO_IGRP = 0x58 -+ IPPROTO_IL = 0x28 -+ IPPROTO_INLSP = 0x34 -+ IPPROTO_INP = 0x20 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPCV = 0x47 -+ IPPROTO_IPEIP = 0x5e -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPPC = 0x43 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IRTP = 0x1c -+ IPPROTO_KRYPTOLAN = 0x41 -+ IPPROTO_LARP = 0x5b -+ IPPROTO_LEAF1 = 0x19 -+ IPPROTO_LEAF2 = 0x1a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MEAS = 0x13 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MHRP = 0x30 -+ IPPROTO_MICP = 0x5f -+ IPPROTO_MOBILE = 0x37 -+ IPPROTO_MPLS = 0x89 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_MUX = 0x12 -+ IPPROTO_ND = 0x4d -+ IPPROTO_NHRP = 0x36 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_NSP = 0x1f -+ IPPROTO_NVPII = 0xb -+ IPPROTO_OLD_DIVERT = 0xfe -+ IPPROTO_OSPFIGP = 0x59 -+ IPPROTO_PFSYNC = 0xf0 -+ IPPROTO_PGM = 0x71 -+ IPPROTO_PIGP = 0x9 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PRM = 0x15 -+ IPPROTO_PUP = 0xc -+ IPPROTO_PVP = 0x4b -+ IPPROTO_RAW = 0xff -+ IPPROTO_RCCMON = 0xa -+ IPPROTO_RDP = 0x1b -+ IPPROTO_RESERVED_253 = 0xfd -+ IPPROTO_RESERVED_254 = 0xfe -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_RVD = 0x42 -+ IPPROTO_SATEXPAK = 0x40 -+ IPPROTO_SATMON = 0x45 -+ IPPROTO_SCCSP = 0x60 -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_SDRP = 0x2a -+ IPPROTO_SEND = 0x103 -+ IPPROTO_SEP = 0x21 -+ IPPROTO_SHIM6 = 0x8c -+ IPPROTO_SKIP = 0x39 -+ IPPROTO_SPACER = 0x7fff -+ IPPROTO_SRPC = 0x5a -+ IPPROTO_ST = 0x7 -+ IPPROTO_SVMTP = 0x52 -+ IPPROTO_SWIPE = 0x35 -+ IPPROTO_TCF = 0x57 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TLSP = 0x38 -+ IPPROTO_TP = 0x1d -+ IPPROTO_TPXX = 0x27 -+ IPPROTO_TRUNK1 = 0x17 -+ IPPROTO_TRUNK2 = 0x18 -+ IPPROTO_TTP = 0x54 -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPPROTO_VINES = 0x53 -+ IPPROTO_VISA = 0x46 -+ IPPROTO_VMTP = 0x51 -+ IPPROTO_WBEXPAK = 0x4f -+ IPPROTO_WBMON = 0x4e -+ IPPROTO_WSN = 0x4a -+ IPPROTO_XNET = 0xf -+ IPPROTO_XTP = 0x24 -+ IPV6_AUTOFLOWLABEL = 0x3b -+ IPV6_BINDANY = 0x40 -+ IPV6_BINDV6ONLY = 0x1b -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DSTOPTS = 0x32 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x78 -+ IPV6_FW_ADD = 0x1e -+ IPV6_FW_DEL = 0x1f -+ IPV6_FW_FLUSH = 0x20 -+ IPV6_FW_GET = 0x22 -+ IPV6_FW_ZERO = 0x21 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_HOPLIMIT = 0x2f -+ IPV6_HOPOPTS = 0x31 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXOPTHDR = 0x800 -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MAX_GROUP_SRC_FILTER = 0x200 -+ IPV6_MAX_MEMBERSHIPS = 0xfff -+ IPV6_MAX_SOCK_SRC_FILTER = 0x80 -+ IPV6_MIN_MEMBERSHIPS = 0x1f -+ IPV6_MMTU = 0x500 -+ IPV6_MSFILTER = 0x4a -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_NEXTHOP = 0x30 -+ IPV6_PATHMTU = 0x2c -+ IPV6_PKTINFO = 0x2e -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_PREFER_TEMPADDR = 0x3f -+ IPV6_RECVDSTOPTS = 0x28 -+ IPV6_RECVHOPLIMIT = 0x25 -+ IPV6_RECVHOPOPTS = 0x27 -+ IPV6_RECVPATHMTU = 0x2b -+ IPV6_RECVPKTINFO = 0x24 -+ IPV6_RECVRTHDR = 0x26 -+ IPV6_RECVTCLASS = 0x39 -+ IPV6_RTHDR = 0x33 -+ IPV6_RTHDRDSTOPTS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x3d -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_USE_MIN_MTU = 0x2a -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_ADD_SOURCE_MEMBERSHIP = 0x46 -+ IP_BINDANY = 0x18 -+ IP_BLOCK_SOURCE = 0x48 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DONTFRAG = 0x43 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_DROP_SOURCE_MEMBERSHIP = 0x47 -+ IP_DUMMYNET3 = 0x31 -+ IP_DUMMYNET_CONFIGURE = 0x3c -+ IP_DUMMYNET_DEL = 0x3d -+ IP_DUMMYNET_FLUSH = 0x3e -+ IP_DUMMYNET_GET = 0x40 -+ IP_FAITH = 0x16 -+ IP_FW3 = 0x30 -+ IP_FW_ADD = 0x32 -+ IP_FW_DEL = 0x33 -+ IP_FW_FLUSH = 0x34 -+ IP_FW_GET = 0x36 -+ IP_FW_NAT_CFG = 0x38 -+ IP_FW_NAT_DEL = 0x39 -+ IP_FW_NAT_GET_CONFIG = 0x3a -+ IP_FW_NAT_GET_LOG = 0x3b -+ IP_FW_RESETLOG = 0x37 -+ IP_FW_TABLE_ADD = 0x28 -+ IP_FW_TABLE_DEL = 0x29 -+ IP_FW_TABLE_FLUSH = 0x2a -+ IP_FW_TABLE_GETSIZE = 0x2b -+ IP_FW_TABLE_LIST = 0x2c -+ IP_FW_ZERO = 0x35 -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x15 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_GROUP_SRC_FILTER = 0x200 -+ IP_MAX_MEMBERSHIPS = 0xfff -+ IP_MAX_SOCK_MUTE_FILTER = 0x80 -+ IP_MAX_SOCK_SRC_FILTER = 0x80 -+ IP_MAX_SOURCE_FILTER = 0x400 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x42 -+ IP_MIN_MEMBERSHIPS = 0x1f -+ IP_MSFILTER = 0x4a -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_MULTICAST_VIF = 0xe -+ IP_OFFMASK = 0x1fff -+ IP_ONESBCAST = 0x17 -+ IP_OPTIONS = 0x1 -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTOS = 0x44 -+ IP_RECVTTL = 0x41 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_RSVP_OFF = 0x10 -+ IP_RSVP_ON = 0xf -+ IP_RSVP_VIF_OFF = 0x12 -+ IP_RSVP_VIF_ON = 0x11 -+ IP_SENDSRCADDR = 0x7 -+ IP_TOS = 0x3 -+ IP_TTL = 0x4 -+ IP_UNBLOCK_SOURCE = 0x49 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_AUTOSYNC = 0x7 -+ MADV_CORE = 0x9 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x5 -+ MADV_NOCORE = 0x8 -+ MADV_NORMAL = 0x0 -+ MADV_NOSYNC = 0x6 -+ MADV_PROTECT = 0xa -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_WILLNEED = 0x3 -+ MAP_32BIT = 0x80000 -+ MAP_ALIGNED_SUPER = 0x1000000 -+ MAP_ALIGNMENT_MASK = -0x1000000 -+ MAP_ALIGNMENT_SHIFT = 0x18 -+ MAP_ANON = 0x1000 -+ MAP_ANONYMOUS = 0x1000 -+ MAP_COPY = 0x2 -+ MAP_EXCL = 0x4000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_NOCORE = 0x20000 -+ MAP_NORESERVE = 0x40 -+ MAP_NOSYNC = 0x800 -+ MAP_PREFAULT_READ = 0x40000 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_RESERVED0080 = 0x80 -+ MAP_RESERVED0100 = 0x100 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x400 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_CMSG_CLOEXEC = 0x40000 -+ MSG_COMPAT = 0x8000 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOF = 0x100 -+ MSG_EOR = 0x8 -+ MSG_NBIO = 0x4000 -+ MSG_NOSIGNAL = 0x20000 -+ MSG_NOTIFICATION = 0x2000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_TRUNC = 0x10 -+ MSG_WAITALL = 0x40 -+ MS_ASYNC = 0x1 -+ MS_INVALIDATE = 0x2 -+ MS_SYNC = 0x0 -+ NAME_MAX = 0xff -+ NET_RT_DUMP = 0x1 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x3 -+ NET_RT_IFLISTL = 0x5 -+ NET_RT_IFMALIST = 0x4 -+ NET_RT_MAXID = 0x6 -+ NOFLSH = 0x80000000 -+ NOTE_ATTRIB = 0x8 -+ NOTE_CHILD = 0x4 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FFAND = 0x40000000 -+ NOTE_FFCOPY = 0xc0000000 -+ NOTE_FFCTRLMASK = 0xc0000000 -+ NOTE_FFLAGSMASK = 0xffffff -+ NOTE_FFNOP = 0x0 -+ NOTE_FFOR = 0x80000000 -+ NOTE_FORK = 0x40000000 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_MSECONDS = 0x2 -+ NOTE_NSECONDS = 0x8 -+ NOTE_PCTRLMASK = 0xf0000000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_SECONDS = 0x1 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_TRIGGER = 0x1000000 -+ NOTE_USECONDS = 0x4 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x100000 -+ O_CREAT = 0x200 -+ O_DIRECT = 0x10000 -+ O_DIRECTORY = 0x20000 -+ O_EXCL = 0x800 -+ O_EXEC = 0x40000 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x8000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_SHLOCK = 0x10 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_TTY_INIT = 0x80000 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ RLIMIT_AS = 0xa -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x8 -+ RTAX_NETMASK = 0x2 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_BROADCAST = 0x400000 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_FMASK = 0x1004d808 -+ RTF_GATEWAY = 0x2 -+ RTF_GWFLAG_COMPAT = 0x80000000 -+ RTF_HOST = 0x4 -+ RTF_LLDATA = 0x400 -+ RTF_LLINFO = 0x400 -+ RTF_LOCAL = 0x200000 -+ RTF_MODIFIED = 0x20 -+ RTF_MULTICAST = 0x800000 -+ RTF_PINNED = 0x100000 -+ RTF_PRCLONING = 0x10000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_PROTO3 = 0x40000 -+ RTF_REJECT = 0x8 -+ RTF_RNH_LOCKED = 0x40000000 -+ RTF_STATIC = 0x800 -+ RTF_STICKY = 0x10000000 -+ RTF_UP = 0x1 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_DELMADDR = 0x10 -+ RTM_GET = 0x4 -+ RTM_IEEE80211 = 0x12 -+ RTM_IFANNOUNCE = 0x11 -+ RTM_IFINFO = 0xe -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_NEWMADDR = 0xf -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_VERSION = 0x5 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RTV_WEIGHT = 0x100 -+ RT_ALL_FIBS = -0x1 -+ RT_CACHING_CONTEXT = 0x1 -+ RT_DEFAULT_FIB = 0x0 -+ RT_NORTREF = 0x2 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_BINTIME = 0x4 -+ SCM_CREDS = 0x3 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x2 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80206931 -+ SIOCADDRT = 0x8040720a -+ SIOCAIFADDR = 0x8040691a -+ SIOCAIFGROUP = 0x80286987 -+ SIOCALIFADDR = 0x8118691b -+ SIOCATMARK = 0x40047307 -+ SIOCDELMULTI = 0x80206932 -+ SIOCDELRT = 0x8040720b -+ SIOCDIFADDR = 0x80206919 -+ SIOCDIFGROUP = 0x80286989 -+ SIOCDIFPHYADDR = 0x80206949 -+ SIOCDLIFADDR = 0x8118691d -+ SIOCGDRVSPEC = 0xc028697b -+ SIOCGETSGCNT = 0xc0207210 -+ SIOCGETVIFCNT = 0xc028720f -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0206921 -+ SIOCGIFBRDADDR = 0xc0206923 -+ SIOCGIFCAP = 0xc020691f -+ SIOCGIFCONF = 0xc0106924 -+ SIOCGIFDESCR = 0xc020692a -+ SIOCGIFDSTADDR = 0xc0206922 -+ SIOCGIFFIB = 0xc020695c -+ SIOCGIFFLAGS = 0xc0206911 -+ SIOCGIFGENERIC = 0xc020693a -+ SIOCGIFGMEMB = 0xc028698a -+ SIOCGIFGROUP = 0xc0286988 -+ SIOCGIFINDEX = 0xc0206920 -+ SIOCGIFMAC = 0xc0206926 -+ SIOCGIFMEDIA = 0xc0306938 -+ SIOCGIFMETRIC = 0xc0206917 -+ SIOCGIFMTU = 0xc0206933 -+ SIOCGIFNETMASK = 0xc0206925 -+ SIOCGIFPDSTADDR = 0xc0206948 -+ SIOCGIFPHYS = 0xc0206935 -+ SIOCGIFPSRCADDR = 0xc0206947 -+ SIOCGIFSTATUS = 0xc331693b -+ SIOCGLIFADDR = 0xc118691c -+ SIOCGLIFPHYADDR = 0xc118694b -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCGPRIVATE_0 = 0xc0206950 -+ SIOCGPRIVATE_1 = 0xc0206951 -+ SIOCIFCREATE = 0xc020697a -+ SIOCIFCREATE2 = 0xc020697c -+ SIOCIFDESTROY = 0x80206979 -+ SIOCIFGCLONERS = 0xc0106978 -+ SIOCSDRVSPEC = 0x8028697b -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8020690c -+ SIOCSIFBRDADDR = 0x80206913 -+ SIOCSIFCAP = 0x8020691e -+ SIOCSIFDESCR = 0x80206929 -+ SIOCSIFDSTADDR = 0x8020690e -+ SIOCSIFFIB = 0x8020695d -+ SIOCSIFFLAGS = 0x80206910 -+ SIOCSIFGENERIC = 0x80206939 -+ SIOCSIFLLADDR = 0x8020693c -+ SIOCSIFMAC = 0x80206927 -+ SIOCSIFMEDIA = 0xc0206937 -+ SIOCSIFMETRIC = 0x80206918 -+ SIOCSIFMTU = 0x80206934 -+ SIOCSIFNAME = 0x80206928 -+ SIOCSIFNETMASK = 0x80206916 -+ SIOCSIFPHYADDR = 0x80406946 -+ SIOCSIFPHYS = 0x80206936 -+ SIOCSIFRVNET = 0xc020695b -+ SIOCSIFVNET = 0xc020695a -+ SIOCSLIFPHYADDR = 0x8118694a -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SOCK_CLOEXEC = 0x10000000 -+ SOCK_DGRAM = 0x2 -+ SOCK_MAXADDRLEN = 0xff -+ SOCK_NONBLOCK = 0x20000000 -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_ACCEPTFILTER = 0x1000 -+ SO_BINTIME = 0x2000 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LABEL = 0x1009 -+ SO_LINGER = 0x80 -+ SO_LISTENINCQLEN = 0x1013 -+ SO_LISTENQLEN = 0x1012 -+ SO_LISTENQLIMIT = 0x1011 -+ SO_NOSIGPIPE = 0x800 -+ SO_NO_DDP = 0x8000 -+ SO_NO_OFFLOAD = 0x4000 -+ SO_OOBINLINE = 0x100 -+ SO_PEERLABEL = 0x1010 -+ SO_PROTOCOL = 0x1016 -+ SO_PROTOTYPE = 0x1016 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_SETFIB = 0x1014 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_TIMESTAMP = 0x400 -+ SO_TYPE = 0x1008 -+ SO_USELOOPBACK = 0x40 -+ SO_USER_COOKIE = 0x1015 -+ SO_VENDOR = 0x80000000 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_CA_NAME_MAX = 0x10 -+ TCP_CONGESTION = 0x40 -+ TCP_INFO = 0x20 -+ TCP_KEEPCNT = 0x400 -+ TCP_KEEPIDLE = 0x100 -+ TCP_KEEPINIT = 0x80 -+ TCP_KEEPINTVL = 0x200 -+ TCP_MAXBURST = 0x4 -+ TCP_MAXHLEN = 0x3c -+ TCP_MAXOLEN = 0x28 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_SACK = 0x4 -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0x10 -+ TCP_MINMSS = 0xd8 -+ TCP_MSS = 0x218 -+ TCP_NODELAY = 0x1 -+ TCP_NOOPT = 0x8 -+ TCP_NOPUSH = 0x4 -+ TCP_VENDOR = 0x80000000 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDRAIN = 0x2000745e -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLUSH = 0x80047410 -+ TIOCGDRAINWAIT = 0x40047456 -+ TIOCGETA = 0x402c7413 -+ TIOCGETD = 0x4004741a -+ TIOCGPGRP = 0x40047477 -+ TIOCGPTN = 0x4004740f -+ TIOCGSID = 0x40047463 -+ TIOCGWINSZ = 0x40087468 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGDTRWAIT = 0x4004745a -+ TIOCMGET = 0x4004746a -+ TIOCMSDTRWAIT = 0x8004745b -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DCD = 0x40 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCPTMASTER = 0x2000741c -+ TIOCSBRK = 0x2000747b -+ TIOCSCTTY = 0x20007461 -+ TIOCSDRAINWAIT = 0x80047457 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x802c7414 -+ TIOCSETAF = 0x802c7416 -+ TIOCSETAW = 0x802c7415 -+ TIOCSETD = 0x8004741b -+ TIOCSIG = 0x2004745f -+ TIOCSPGRP = 0x80047476 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x20007465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCTIMESTAMP = 0x40107459 -+ TIOCUCNTL = 0x80047466 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VERASE2 = 0x7 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WCONTINUED = 0x4 -+ WCOREFLAG = 0x80 -+ WEXITED = 0x10 -+ WLINUXCLONE = 0x80000000 -+ WNOHANG = 0x1 -+ WNOWAIT = 0x8 -+ WSTOPPED = 0x2 -+ WTRAPPED = 0x20 -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADF = syscall.Errno(0x9) -+ EBADMSG = syscall.Errno(0x59) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x55) -+ ECAPMODE = syscall.Errno(0x5e) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDOM = syscall.Errno(0x21) -+ EDOOFUS = syscall.Errno(0x58) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x52) -+ EILSEQ = syscall.Errno(0x56) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x60) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5a) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x57) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x5b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x53) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCAPABLE = syscall.Errno(0x5d) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTRECOVERABLE = syscall.Errno(0x5f) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x2d) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x2d) -+ EOVERFLOW = syscall.Errno(0x54) -+ EOWNERDEAD = syscall.Errno(0x60) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x5c) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGLIBRT = syscall.Signal(0x21) -+ SIGLWP = syscall.Signal(0x20) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTHR = syscall.Signal(0x20) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "operation timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "identifier removed", -+ 83: "no message of desired type", -+ 84: "value too large to be stored in data type", -+ 85: "operation canceled", -+ 86: "illegal byte sequence", -+ 87: "attribute not found", -+ 88: "programming error", -+ 89: "bad message", -+ 90: "multihop attempted", -+ 91: "link has been severed", -+ 92: "protocol error", -+ 93: "capabilities insufficient", -+ 94: "not permitted in capability mode", -+ 95: "state not recoverable", -+ 96: "previous owner died", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "suspended (signal)", -+ 18: "suspended", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+ 32: "unknown signal", -+ 33: "unknown signal", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go -new file mode 100644 -index 0000000..2afbe2d ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go -@@ -0,0 +1,1729 @@ -+// mkerrors.sh -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build arm,freebsd -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_ARP = 0x23 -+ AF_ATM = 0x1e -+ AF_BLUETOOTH = 0x24 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1a -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x25 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x1c -+ AF_INET6_SDP = 0x2a -+ AF_INET_SDP = 0x28 -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1a -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x2a -+ AF_NATM = 0x1d -+ AF_NETBIOS = 0x6 -+ AF_NETGRAPH = 0x20 -+ AF_OSI = 0x7 -+ AF_PUP = 0x4 -+ AF_ROUTE = 0x11 -+ AF_SCLUSTER = 0x22 -+ AF_SIP = 0x18 -+ AF_SLOW = 0x21 -+ AF_SNA = 0xb -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VENDOR00 = 0x27 -+ AF_VENDOR01 = 0x29 -+ AF_VENDOR02 = 0x2b -+ AF_VENDOR03 = 0x2d -+ AF_VENDOR04 = 0x2f -+ AF_VENDOR05 = 0x31 -+ AF_VENDOR06 = 0x33 -+ AF_VENDOR07 = 0x35 -+ AF_VENDOR08 = 0x37 -+ AF_VENDOR09 = 0x39 -+ AF_VENDOR10 = 0x3b -+ AF_VENDOR11 = 0x3d -+ AF_VENDOR12 = 0x3f -+ AF_VENDOR13 = 0x41 -+ AF_VENDOR14 = 0x43 -+ AF_VENDOR15 = 0x45 -+ AF_VENDOR16 = 0x47 -+ AF_VENDOR17 = 0x49 -+ AF_VENDOR18 = 0x4b -+ AF_VENDOR19 = 0x4d -+ AF_VENDOR20 = 0x4f -+ AF_VENDOR21 = 0x51 -+ AF_VENDOR22 = 0x53 -+ AF_VENDOR23 = 0x55 -+ AF_VENDOR24 = 0x57 -+ AF_VENDOR25 = 0x59 -+ AF_VENDOR26 = 0x5b -+ AF_VENDOR27 = 0x5d -+ AF_VENDOR28 = 0x5f -+ AF_VENDOR29 = 0x61 -+ AF_VENDOR30 = 0x63 -+ AF_VENDOR31 = 0x65 -+ AF_VENDOR32 = 0x67 -+ AF_VENDOR33 = 0x69 -+ AF_VENDOR34 = 0x6b -+ AF_VENDOR35 = 0x6d -+ AF_VENDOR36 = 0x6f -+ AF_VENDOR37 = 0x71 -+ AF_VENDOR38 = 0x73 -+ AF_VENDOR39 = 0x75 -+ AF_VENDOR40 = 0x77 -+ AF_VENDOR41 = 0x79 -+ AF_VENDOR42 = 0x7b -+ AF_VENDOR43 = 0x7d -+ AF_VENDOR44 = 0x7f -+ AF_VENDOR45 = 0x81 -+ AF_VENDOR46 = 0x83 -+ AF_VENDOR47 = 0x85 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B460800 = 0x70800 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B921600 = 0xe1000 -+ B9600 = 0x2580 -+ BIOCFEEDBACK = 0x8004427c -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDIRECTION = 0x40044276 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc0084279 -+ BIOCGETBUFMODE = 0x4004427d -+ BIOCGETIF = 0x4020426b -+ BIOCGETZMAX = 0x4004427f -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRSIG = 0x40044272 -+ BIOCGRTIMEOUT = 0x4008426e -+ BIOCGSEESENT = 0x40044276 -+ BIOCGSTATS = 0x4008426f -+ BIOCGTSTAMP = 0x40044283 -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCLOCK = 0x2000427a -+ BIOCPROMISC = 0x20004269 -+ BIOCROTZBUF = 0x400c4280 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDIRECTION = 0x80044277 -+ BIOCSDLT = 0x80044278 -+ BIOCSETBUFMODE = 0x8004427e -+ BIOCSETF = 0x80084267 -+ BIOCSETFNR = 0x80084282 -+ BIOCSETIF = 0x8020426c -+ BIOCSETWF = 0x8008427b -+ BIOCSETZBUF = 0x800c4281 -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRSIG = 0x80044273 -+ BIOCSRTIMEOUT = 0x8008426d -+ BIOCSSEESENT = 0x80044277 -+ BIOCSTSTAMP = 0x80044284 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_BUFMODE_BUFFER = 0x1 -+ BPF_BUFMODE_ZBUF = 0x2 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x80000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_T_BINTIME = 0x2 -+ BPF_T_BINTIME_FAST = 0x102 -+ BPF_T_BINTIME_MONOTONIC = 0x202 -+ BPF_T_BINTIME_MONOTONIC_FAST = 0x302 -+ BPF_T_FAST = 0x100 -+ BPF_T_FLAG_MASK = 0x300 -+ BPF_T_FORMAT_MASK = 0x3 -+ BPF_T_MICROTIME = 0x0 -+ BPF_T_MICROTIME_FAST = 0x100 -+ BPF_T_MICROTIME_MONOTONIC = 0x200 -+ BPF_T_MICROTIME_MONOTONIC_FAST = 0x300 -+ BPF_T_MONOTONIC = 0x200 -+ BPF_T_MONOTONIC_FAST = 0x300 -+ BPF_T_NANOTIME = 0x1 -+ BPF_T_NANOTIME_FAST = 0x101 -+ BPF_T_NANOTIME_MONOTONIC = 0x201 -+ BPF_T_NANOTIME_MONOTONIC_FAST = 0x301 -+ BPF_T_NONE = 0x3 -+ BPF_T_NORMAL = 0x0 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0x18 -+ CTL_NET = 0x4 -+ DLT_A429 = 0xb8 -+ DLT_A653_ICM = 0xb9 -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_AOS = 0xde -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_AX25_KISS = 0xca -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_BLUETOOTH_HCI_H4 = 0xbb -+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 -+ DLT_CAN20B = 0xbe -+ DLT_CAN_SOCKETCAN = 0xe3 -+ DLT_CHAOS = 0x5 -+ DLT_CHDLC = 0x68 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_C_HDLC_WITH_DIR = 0xcd -+ DLT_DBUS = 0xe7 -+ DLT_DECT = 0xdd -+ DLT_DOCSIS = 0x8f -+ DLT_DVB_CI = 0xeb -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF = 0xc5 -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FC_2 = 0xe0 -+ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 -+ DLT_FDDI = 0xa -+ DLT_FLEXRAY = 0xd2 -+ DLT_FRELAY = 0x6b -+ DLT_FRELAY_WITH_DIR = 0xce -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_GSMTAP_ABIS = 0xda -+ DLT_GSMTAP_UM = 0xd9 -+ DLT_HHDLC = 0x79 -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IEEE802_15_4 = 0xc3 -+ DLT_IEEE802_15_4_LINUX = 0xbf -+ DLT_IEEE802_15_4_NOFCS = 0xe6 -+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 -+ DLT_IEEE802_16_MAC_CPS = 0xbc -+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 -+ DLT_IPFILTER = 0x74 -+ DLT_IPMB = 0xc7 -+ DLT_IPMB_LINUX = 0xd1 -+ DLT_IPNET = 0xe2 -+ DLT_IPOIB = 0xf2 -+ DLT_IPV4 = 0xe4 -+ DLT_IPV6 = 0xe5 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_ATM_CEMIC = 0xee -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FIBRECHANNEL = 0xea -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_ISM = 0xc2 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_JUNIPER_SRX_E2E = 0xe9 -+ DLT_JUNIPER_ST = 0xc8 -+ DLT_JUNIPER_VP = 0xb7 -+ DLT_JUNIPER_VS = 0xe8 -+ DLT_LAPB_WITH_DIR = 0xcf -+ DLT_LAPD = 0xcb -+ DLT_LIN = 0xd4 -+ DLT_LINUX_EVDEV = 0xd8 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_PPP_WITHDIRECTION = 0xa6 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MATCHING_MAX = 0xf6 -+ DLT_MATCHING_MIN = 0x68 -+ DLT_MFR = 0xb6 -+ DLT_MOST = 0xd3 -+ DLT_MPEG_2_TS = 0xf3 -+ DLT_MPLS = 0xdb -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_MUX27010 = 0xec -+ DLT_NETANALYZER = 0xf0 -+ DLT_NETANALYZER_TRANSPARENT = 0xf1 -+ DLT_NFC_LLCP = 0xf5 -+ DLT_NFLOG = 0xef -+ DLT_NG40 = 0xf4 -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x79 -+ DLT_PPI = 0xc0 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0x10 -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PPP_WITH_DIR = 0xcc -+ DLT_PPP_WITH_DIRECTION = 0xa6 -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAIF1 = 0xc6 -+ DLT_RAW = 0xc -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SITA = 0xc4 -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xf -+ DLT_STANAG_5066_D_PDU = 0xed -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ DLT_USB = 0xba -+ DLT_USB_LINUX = 0xbd -+ DLT_USB_LINUX_MMAPPED = 0xdc -+ DLT_USER0 = 0x93 -+ DLT_USER1 = 0x94 -+ DLT_USER10 = 0x9d -+ DLT_USER11 = 0x9e -+ DLT_USER12 = 0x9f -+ DLT_USER13 = 0xa0 -+ DLT_USER14 = 0xa1 -+ DLT_USER15 = 0xa2 -+ DLT_USER2 = 0x95 -+ DLT_USER3 = 0x96 -+ DLT_USER4 = 0x97 -+ DLT_USER5 = 0x98 -+ DLT_USER6 = 0x99 -+ DLT_USER7 = 0x9a -+ DLT_USER8 = 0x9b -+ DLT_USER9 = 0x9c -+ DLT_WIHART = 0xdf -+ DLT_X2E_SERIAL = 0xd5 -+ DLT_X2E_XORAYA = 0xd6 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EVFILT_AIO = -0x3 -+ EVFILT_FS = -0x9 -+ EVFILT_LIO = -0xa -+ EVFILT_PROC = -0x5 -+ EVFILT_READ = -0x1 -+ EVFILT_SIGNAL = -0x6 -+ EVFILT_SYSCOUNT = 0xb -+ EVFILT_TIMER = -0x7 -+ EVFILT_USER = -0xb -+ EVFILT_VNODE = -0x4 -+ EVFILT_WRITE = -0x2 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_DISPATCH = 0x80 -+ EV_DROP = 0x1000 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_RECEIPT = 0x40 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTATTR_NAMESPACE_EMPTY = 0x0 -+ EXTATTR_NAMESPACE_SYSTEM = 0x2 -+ EXTATTR_NAMESPACE_USER = 0x1 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x800000 -+ F_CANCEL = 0x5 -+ F_DUP2FD = 0xa -+ F_DUP2FD_CLOEXEC = 0x12 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x11 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0xb -+ F_GETOWN = 0x5 -+ F_OGETLK = 0x7 -+ F_OK = 0x0 -+ F_OSETLK = 0x8 -+ F_OSETLKW = 0x9 -+ F_RDAHEAD = 0x10 -+ F_RDLCK = 0x1 -+ F_READAHEAD = 0xf -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0xc -+ F_SETLKW = 0xd -+ F_SETLK_REMOTE = 0xe -+ F_SETOWN = 0x6 -+ F_UNLCK = 0x2 -+ F_UNLCKSYS = 0x4 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFAN_ARRIVAL = 0x0 -+ IFAN_DEPARTURE = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_ALTPHYS = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_CANTCHANGE = 0x218f72 -+ IFF_CANTCONFIG = 0x10000 -+ IFF_DEBUG = 0x4 -+ IFF_DRV_OACTIVE = 0x400 -+ IFF_DRV_RUNNING = 0x40 -+ IFF_DYING = 0x200000 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MONITOR = 0x40000 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PPROMISC = 0x20000 -+ IFF_PROMISC = 0x100 -+ IFF_RENAMING = 0x400000 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_SMART = 0x20 -+ IFF_STATICARP = 0x80000 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_A12MPPSWITCH = 0x82 -+ IFT_AAL2 = 0xbb -+ IFT_AAL5 = 0x31 -+ IFT_ADSL = 0x5e -+ IFT_AFLANE8023 = 0x3b -+ IFT_AFLANE8025 = 0x3c -+ IFT_ARAP = 0x58 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ASYNC = 0x54 -+ IFT_ATM = 0x25 -+ IFT_ATMDXI = 0x69 -+ IFT_ATMFUNI = 0x6a -+ IFT_ATMIMA = 0x6b -+ IFT_ATMLOGICAL = 0x50 -+ IFT_ATMRADIO = 0xbd -+ IFT_ATMSUBINTERFACE = 0x86 -+ IFT_ATMVCIENDPT = 0xc2 -+ IFT_ATMVIRTUAL = 0x95 -+ IFT_BGPPOLICYACCOUNTING = 0xa2 -+ IFT_BRIDGE = 0xd1 -+ IFT_BSC = 0x53 -+ IFT_CARP = 0xf8 -+ IFT_CCTEMUL = 0x3d -+ IFT_CEPT = 0x13 -+ IFT_CES = 0x85 -+ IFT_CHANNEL = 0x46 -+ IFT_CNR = 0x55 -+ IFT_COFFEE = 0x84 -+ IFT_COMPOSITELINK = 0x9b -+ IFT_DCN = 0x8d -+ IFT_DIGITALPOWERLINE = 0x8a -+ IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba -+ IFT_DLSW = 0x4a -+ IFT_DOCSCABLEDOWNSTREAM = 0x80 -+ IFT_DOCSCABLEMACLAYER = 0x7f -+ IFT_DOCSCABLEUPSTREAM = 0x81 -+ IFT_DS0 = 0x51 -+ IFT_DS0BUNDLE = 0x52 -+ IFT_DS1FDL = 0xaa -+ IFT_DS3 = 0x1e -+ IFT_DTM = 0x8c -+ IFT_DVBASILN = 0xac -+ IFT_DVBASIOUT = 0xad -+ IFT_DVBRCCDOWNSTREAM = 0x93 -+ IFT_DVBRCCMACLAYER = 0x92 -+ IFT_DVBRCCUPSTREAM = 0x94 -+ IFT_ENC = 0xf4 -+ IFT_EON = 0x19 -+ IFT_EPLRS = 0x57 -+ IFT_ESCON = 0x49 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0xf2 -+ IFT_FAST = 0x7d -+ IFT_FASTETHER = 0x3e -+ IFT_FASTETHERFX = 0x45 -+ IFT_FDDI = 0xf -+ IFT_FIBRECHANNEL = 0x38 -+ IFT_FRAMERELAYINTERCONNECT = 0x3a -+ IFT_FRAMERELAYMPI = 0x5c -+ IFT_FRDLCIENDPT = 0xc1 -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_FRF16MFRBUNDLE = 0xa3 -+ IFT_FRFORWARD = 0x9e -+ IFT_G703AT2MB = 0x43 -+ IFT_G703AT64K = 0x42 -+ IFT_GIF = 0xf0 -+ IFT_GIGABITETHERNET = 0x75 -+ IFT_GR303IDT = 0xb2 -+ IFT_GR303RDT = 0xb1 -+ IFT_H323GATEKEEPER = 0xa4 -+ IFT_H323PROXY = 0xa5 -+ IFT_HDH1822 = 0x3 -+ IFT_HDLC = 0x76 -+ IFT_HDSL2 = 0xa8 -+ IFT_HIPERLAN2 = 0xb7 -+ IFT_HIPPI = 0x2f -+ IFT_HIPPIINTERFACE = 0x39 -+ IFT_HOSTPAD = 0x5a -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IBM370PARCHAN = 0x48 -+ IFT_IDSL = 0x9a -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE80211 = 0x47 -+ IFT_IEEE80212 = 0x37 -+ IFT_IEEE8023ADLAG = 0xa1 -+ IFT_IFGSN = 0x91 -+ IFT_IMT = 0xbe -+ IFT_INFINIBAND = 0xc7 -+ IFT_INTERLEAVE = 0x7c -+ IFT_IP = 0x7e -+ IFT_IPFORWARD = 0x8e -+ IFT_IPOVERATM = 0x72 -+ IFT_IPOVERCDLC = 0x6d -+ IFT_IPOVERCLAW = 0x6e -+ IFT_IPSWITCH = 0x4e -+ IFT_IPXIP = 0xf9 -+ IFT_ISDN = 0x3f -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISDNS = 0x4b -+ IFT_ISDNU = 0x4c -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88025CRFPINT = 0x62 -+ IFT_ISO88025DTR = 0x56 -+ IFT_ISO88025FIBER = 0x73 -+ IFT_ISO88026 = 0xa -+ IFT_ISUP = 0xb3 -+ IFT_L2VLAN = 0x87 -+ IFT_L3IPVLAN = 0x88 -+ IFT_L3IPXVLAN = 0x89 -+ IFT_LAPB = 0x10 -+ IFT_LAPD = 0x4d -+ IFT_LAPF = 0x77 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MEDIAMAILOVERIP = 0x8b -+ IFT_MFSIGLINK = 0xa7 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_MPC = 0x71 -+ IFT_MPLS = 0xa6 -+ IFT_MPLSTUNNEL = 0x96 -+ IFT_MSDSL = 0x8f -+ IFT_MVL = 0xbf -+ IFT_MYRINET = 0x63 -+ IFT_NFAS = 0xaf -+ IFT_NSIP = 0x1b -+ IFT_OPTICALCHANNEL = 0xc3 -+ IFT_OPTICALTRANSPORT = 0xc4 -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PFLOG = 0xf6 -+ IFT_PFSYNC = 0xf7 -+ IFT_PLC = 0xae -+ IFT_POS = 0xab -+ IFT_PPP = 0x17 -+ IFT_PPPMULTILINKBUNDLE = 0x6c -+ IFT_PROPBWAP2MP = 0xb8 -+ IFT_PROPCNLS = 0x59 -+ IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 -+ IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 -+ IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PROPWIRELESSP2P = 0x9d -+ IFT_PTPSERIAL = 0x16 -+ IFT_PVC = 0xf1 -+ IFT_QLLC = 0x44 -+ IFT_RADIOMAC = 0xbc -+ IFT_RADSL = 0x5f -+ IFT_REACHDSL = 0xc0 -+ IFT_RFC1483 = 0x9f -+ IFT_RS232 = 0x21 -+ IFT_RSRB = 0x4f -+ IFT_SDLC = 0x11 -+ IFT_SDSL = 0x60 -+ IFT_SHDSL = 0xa9 -+ IFT_SIP = 0x1f -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETOVERHEADCHANNEL = 0xb9 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_SRP = 0x97 -+ IFT_SS7SIGLINK = 0x9c -+ IFT_STACKTOSTACK = 0x6f -+ IFT_STARLAN = 0xb -+ IFT_STF = 0xd7 -+ IFT_T1 = 0x12 -+ IFT_TDLC = 0x74 -+ IFT_TERMPAD = 0x5b -+ IFT_TR008 = 0xb0 -+ IFT_TRANSPHDLC = 0x7b -+ IFT_TUNNEL = 0x83 -+ IFT_ULTRA = 0x1d -+ IFT_USB = 0xa0 -+ IFT_V11 = 0x40 -+ IFT_V35 = 0x2d -+ IFT_V36 = 0x41 -+ IFT_V37 = 0x78 -+ IFT_VDSL = 0x61 -+ IFT_VIRTUALIPADDRESS = 0x70 -+ IFT_VOICEEM = 0x64 -+ IFT_VOICEENCAP = 0x67 -+ IFT_VOICEFXO = 0x65 -+ IFT_VOICEFXS = 0x66 -+ IFT_VOICEOVERATM = 0x98 -+ IFT_VOICEOVERFRAMERELAY = 0x99 -+ IFT_VOICEOVERIP = 0x68 -+ IFT_X213 = 0x5d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25HUNTGROUP = 0x7a -+ IFT_X25MLP = 0x79 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LOOPBACKNET = 0x7f -+ IN_RFC3021_MASK = 0xfffffffe -+ IPPROTO_3PC = 0x22 -+ IPPROTO_ADFS = 0x44 -+ IPPROTO_AH = 0x33 -+ IPPROTO_AHIP = 0x3d -+ IPPROTO_APES = 0x63 -+ IPPROTO_ARGUS = 0xd -+ IPPROTO_AX25 = 0x5d -+ IPPROTO_BHA = 0x31 -+ IPPROTO_BLT = 0x1e -+ IPPROTO_BRSATMON = 0x4c -+ IPPROTO_CARP = 0x70 -+ IPPROTO_CFTP = 0x3e -+ IPPROTO_CHAOS = 0x10 -+ IPPROTO_CMTP = 0x26 -+ IPPROTO_CPHB = 0x49 -+ IPPROTO_CPNX = 0x48 -+ IPPROTO_DDP = 0x25 -+ IPPROTO_DGP = 0x56 -+ IPPROTO_DIVERT = 0x102 -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_EMCON = 0xe -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GMTP = 0x64 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HELLO = 0x3f -+ IPPROTO_HIP = 0x8b -+ IPPROTO_HMP = 0x14 -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IDPR = 0x23 -+ IPPROTO_IDRP = 0x2d -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IGP = 0x55 -+ IPPROTO_IGRP = 0x58 -+ IPPROTO_IL = 0x28 -+ IPPROTO_INLSP = 0x34 -+ IPPROTO_INP = 0x20 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPCV = 0x47 -+ IPPROTO_IPEIP = 0x5e -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPPC = 0x43 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IRTP = 0x1c -+ IPPROTO_KRYPTOLAN = 0x41 -+ IPPROTO_LARP = 0x5b -+ IPPROTO_LEAF1 = 0x19 -+ IPPROTO_LEAF2 = 0x1a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MEAS = 0x13 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MHRP = 0x30 -+ IPPROTO_MICP = 0x5f -+ IPPROTO_MOBILE = 0x37 -+ IPPROTO_MPLS = 0x89 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_MUX = 0x12 -+ IPPROTO_ND = 0x4d -+ IPPROTO_NHRP = 0x36 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_NSP = 0x1f -+ IPPROTO_NVPII = 0xb -+ IPPROTO_OLD_DIVERT = 0xfe -+ IPPROTO_OSPFIGP = 0x59 -+ IPPROTO_PFSYNC = 0xf0 -+ IPPROTO_PGM = 0x71 -+ IPPROTO_PIGP = 0x9 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PRM = 0x15 -+ IPPROTO_PUP = 0xc -+ IPPROTO_PVP = 0x4b -+ IPPROTO_RAW = 0xff -+ IPPROTO_RCCMON = 0xa -+ IPPROTO_RDP = 0x1b -+ IPPROTO_RESERVED_253 = 0xfd -+ IPPROTO_RESERVED_254 = 0xfe -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_RVD = 0x42 -+ IPPROTO_SATEXPAK = 0x40 -+ IPPROTO_SATMON = 0x45 -+ IPPROTO_SCCSP = 0x60 -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_SDRP = 0x2a -+ IPPROTO_SEND = 0x103 -+ IPPROTO_SEP = 0x21 -+ IPPROTO_SHIM6 = 0x8c -+ IPPROTO_SKIP = 0x39 -+ IPPROTO_SPACER = 0x7fff -+ IPPROTO_SRPC = 0x5a -+ IPPROTO_ST = 0x7 -+ IPPROTO_SVMTP = 0x52 -+ IPPROTO_SWIPE = 0x35 -+ IPPROTO_TCF = 0x57 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TLSP = 0x38 -+ IPPROTO_TP = 0x1d -+ IPPROTO_TPXX = 0x27 -+ IPPROTO_TRUNK1 = 0x17 -+ IPPROTO_TRUNK2 = 0x18 -+ IPPROTO_TTP = 0x54 -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPPROTO_VINES = 0x53 -+ IPPROTO_VISA = 0x46 -+ IPPROTO_VMTP = 0x51 -+ IPPROTO_WBEXPAK = 0x4f -+ IPPROTO_WBMON = 0x4e -+ IPPROTO_WSN = 0x4a -+ IPPROTO_XNET = 0xf -+ IPPROTO_XTP = 0x24 -+ IPV6_AUTOFLOWLABEL = 0x3b -+ IPV6_BINDANY = 0x40 -+ IPV6_BINDV6ONLY = 0x1b -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DSTOPTS = 0x32 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x78 -+ IPV6_FW_ADD = 0x1e -+ IPV6_FW_DEL = 0x1f -+ IPV6_FW_FLUSH = 0x20 -+ IPV6_FW_GET = 0x22 -+ IPV6_FW_ZERO = 0x21 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_HOPLIMIT = 0x2f -+ IPV6_HOPOPTS = 0x31 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXOPTHDR = 0x800 -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MAX_GROUP_SRC_FILTER = 0x200 -+ IPV6_MAX_MEMBERSHIPS = 0xfff -+ IPV6_MAX_SOCK_SRC_FILTER = 0x80 -+ IPV6_MIN_MEMBERSHIPS = 0x1f -+ IPV6_MMTU = 0x500 -+ IPV6_MSFILTER = 0x4a -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_NEXTHOP = 0x30 -+ IPV6_PATHMTU = 0x2c -+ IPV6_PKTINFO = 0x2e -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_PREFER_TEMPADDR = 0x3f -+ IPV6_RECVDSTOPTS = 0x28 -+ IPV6_RECVHOPLIMIT = 0x25 -+ IPV6_RECVHOPOPTS = 0x27 -+ IPV6_RECVPATHMTU = 0x2b -+ IPV6_RECVPKTINFO = 0x24 -+ IPV6_RECVRTHDR = 0x26 -+ IPV6_RECVTCLASS = 0x39 -+ IPV6_RTHDR = 0x33 -+ IPV6_RTHDRDSTOPTS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x3d -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_USE_MIN_MTU = 0x2a -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_ADD_SOURCE_MEMBERSHIP = 0x46 -+ IP_BINDANY = 0x18 -+ IP_BLOCK_SOURCE = 0x48 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DONTFRAG = 0x43 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_DROP_SOURCE_MEMBERSHIP = 0x47 -+ IP_DUMMYNET3 = 0x31 -+ IP_DUMMYNET_CONFIGURE = 0x3c -+ IP_DUMMYNET_DEL = 0x3d -+ IP_DUMMYNET_FLUSH = 0x3e -+ IP_DUMMYNET_GET = 0x40 -+ IP_FAITH = 0x16 -+ IP_FW3 = 0x30 -+ IP_FW_ADD = 0x32 -+ IP_FW_DEL = 0x33 -+ IP_FW_FLUSH = 0x34 -+ IP_FW_GET = 0x36 -+ IP_FW_NAT_CFG = 0x38 -+ IP_FW_NAT_DEL = 0x39 -+ IP_FW_NAT_GET_CONFIG = 0x3a -+ IP_FW_NAT_GET_LOG = 0x3b -+ IP_FW_RESETLOG = 0x37 -+ IP_FW_TABLE_ADD = 0x28 -+ IP_FW_TABLE_DEL = 0x29 -+ IP_FW_TABLE_FLUSH = 0x2a -+ IP_FW_TABLE_GETSIZE = 0x2b -+ IP_FW_TABLE_LIST = 0x2c -+ IP_FW_ZERO = 0x35 -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x15 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_GROUP_SRC_FILTER = 0x200 -+ IP_MAX_MEMBERSHIPS = 0xfff -+ IP_MAX_SOCK_MUTE_FILTER = 0x80 -+ IP_MAX_SOCK_SRC_FILTER = 0x80 -+ IP_MAX_SOURCE_FILTER = 0x400 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x42 -+ IP_MIN_MEMBERSHIPS = 0x1f -+ IP_MSFILTER = 0x4a -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_MULTICAST_VIF = 0xe -+ IP_OFFMASK = 0x1fff -+ IP_ONESBCAST = 0x17 -+ IP_OPTIONS = 0x1 -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTOS = 0x44 -+ IP_RECVTTL = 0x41 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_RSVP_OFF = 0x10 -+ IP_RSVP_ON = 0xf -+ IP_RSVP_VIF_OFF = 0x12 -+ IP_RSVP_VIF_ON = 0x11 -+ IP_SENDSRCADDR = 0x7 -+ IP_TOS = 0x3 -+ IP_TTL = 0x4 -+ IP_UNBLOCK_SOURCE = 0x49 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_AUTOSYNC = 0x7 -+ MADV_CORE = 0x9 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x5 -+ MADV_NOCORE = 0x8 -+ MADV_NORMAL = 0x0 -+ MADV_NOSYNC = 0x6 -+ MADV_PROTECT = 0xa -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_WILLNEED = 0x3 -+ MAP_ALIGNED_SUPER = 0x1000000 -+ MAP_ALIGNMENT_MASK = -0x1000000 -+ MAP_ALIGNMENT_SHIFT = 0x18 -+ MAP_ANON = 0x1000 -+ MAP_ANONYMOUS = 0x1000 -+ MAP_COPY = 0x2 -+ MAP_EXCL = 0x4000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_NOCORE = 0x20000 -+ MAP_NORESERVE = 0x40 -+ MAP_NOSYNC = 0x800 -+ MAP_PREFAULT_READ = 0x40000 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_RESERVED0080 = 0x80 -+ MAP_RESERVED0100 = 0x100 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x400 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_CMSG_CLOEXEC = 0x40000 -+ MSG_COMPAT = 0x8000 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOF = 0x100 -+ MSG_EOR = 0x8 -+ MSG_NBIO = 0x4000 -+ MSG_NOSIGNAL = 0x20000 -+ MSG_NOTIFICATION = 0x2000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_TRUNC = 0x10 -+ MSG_WAITALL = 0x40 -+ MS_ASYNC = 0x1 -+ MS_INVALIDATE = 0x2 -+ MS_SYNC = 0x0 -+ NAME_MAX = 0xff -+ NET_RT_DUMP = 0x1 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x3 -+ NET_RT_IFLISTL = 0x5 -+ NET_RT_IFMALIST = 0x4 -+ NET_RT_MAXID = 0x6 -+ NOFLSH = 0x80000000 -+ NOTE_ATTRIB = 0x8 -+ NOTE_CHILD = 0x4 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FFAND = 0x40000000 -+ NOTE_FFCOPY = 0xc0000000 -+ NOTE_FFCTRLMASK = 0xc0000000 -+ NOTE_FFLAGSMASK = 0xffffff -+ NOTE_FFNOP = 0x0 -+ NOTE_FFOR = 0x80000000 -+ NOTE_FORK = 0x40000000 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_PCTRLMASK = 0xf0000000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_TRIGGER = 0x1000000 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x100000 -+ O_CREAT = 0x200 -+ O_DIRECT = 0x10000 -+ O_DIRECTORY = 0x20000 -+ O_EXCL = 0x800 -+ O_EXEC = 0x40000 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x8000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_SHLOCK = 0x10 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_TTY_INIT = 0x80000 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ RLIMIT_AS = 0xa -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x8 -+ RTAX_NETMASK = 0x2 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_BROADCAST = 0x400000 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_FMASK = 0x1004d808 -+ RTF_GATEWAY = 0x2 -+ RTF_GWFLAG_COMPAT = 0x80000000 -+ RTF_HOST = 0x4 -+ RTF_LLDATA = 0x400 -+ RTF_LLINFO = 0x400 -+ RTF_LOCAL = 0x200000 -+ RTF_MODIFIED = 0x20 -+ RTF_MULTICAST = 0x800000 -+ RTF_PINNED = 0x100000 -+ RTF_PRCLONING = 0x10000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_PROTO3 = 0x40000 -+ RTF_REJECT = 0x8 -+ RTF_RNH_LOCKED = 0x40000000 -+ RTF_STATIC = 0x800 -+ RTF_STICKY = 0x10000000 -+ RTF_UP = 0x1 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_DELMADDR = 0x10 -+ RTM_GET = 0x4 -+ RTM_IEEE80211 = 0x12 -+ RTM_IFANNOUNCE = 0x11 -+ RTM_IFINFO = 0xe -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_NEWMADDR = 0xf -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_VERSION = 0x5 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RTV_WEIGHT = 0x100 -+ RT_ALL_FIBS = -0x1 -+ RT_CACHING_CONTEXT = 0x1 -+ RT_DEFAULT_FIB = 0x0 -+ RT_NORTREF = 0x2 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_BINTIME = 0x4 -+ SCM_CREDS = 0x3 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x2 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80206931 -+ SIOCADDRT = 0x8030720a -+ SIOCAIFADDR = 0x8040691a -+ SIOCAIFGROUP = 0x80246987 -+ SIOCALIFADDR = 0x8118691b -+ SIOCATMARK = 0x40047307 -+ SIOCDELMULTI = 0x80206932 -+ SIOCDELRT = 0x8030720b -+ SIOCDIFADDR = 0x80206919 -+ SIOCDIFGROUP = 0x80246989 -+ SIOCDIFPHYADDR = 0x80206949 -+ SIOCDLIFADDR = 0x8118691d -+ SIOCGDRVSPEC = 0xc01c697b -+ SIOCGETSGCNT = 0xc0147210 -+ SIOCGETVIFCNT = 0xc014720f -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0206921 -+ SIOCGIFBRDADDR = 0xc0206923 -+ SIOCGIFCAP = 0xc020691f -+ SIOCGIFCONF = 0xc0086924 -+ SIOCGIFDESCR = 0xc020692a -+ SIOCGIFDSTADDR = 0xc0206922 -+ SIOCGIFFIB = 0xc020695c -+ SIOCGIFFLAGS = 0xc0206911 -+ SIOCGIFGENERIC = 0xc020693a -+ SIOCGIFGMEMB = 0xc024698a -+ SIOCGIFGROUP = 0xc0246988 -+ SIOCGIFINDEX = 0xc0206920 -+ SIOCGIFMAC = 0xc0206926 -+ SIOCGIFMEDIA = 0xc0286938 -+ SIOCGIFMETRIC = 0xc0206917 -+ SIOCGIFMTU = 0xc0206933 -+ SIOCGIFNETMASK = 0xc0206925 -+ SIOCGIFPDSTADDR = 0xc0206948 -+ SIOCGIFPHYS = 0xc0206935 -+ SIOCGIFPSRCADDR = 0xc0206947 -+ SIOCGIFSTATUS = 0xc331693b -+ SIOCGLIFADDR = 0xc118691c -+ SIOCGLIFPHYADDR = 0xc118694b -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCGPRIVATE_0 = 0xc0206950 -+ SIOCGPRIVATE_1 = 0xc0206951 -+ SIOCIFCREATE = 0xc020697a -+ SIOCIFCREATE2 = 0xc020697c -+ SIOCIFDESTROY = 0x80206979 -+ SIOCIFGCLONERS = 0xc00c6978 -+ SIOCSDRVSPEC = 0x801c697b -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8020690c -+ SIOCSIFBRDADDR = 0x80206913 -+ SIOCSIFCAP = 0x8020691e -+ SIOCSIFDESCR = 0x80206929 -+ SIOCSIFDSTADDR = 0x8020690e -+ SIOCSIFFIB = 0x8020695d -+ SIOCSIFFLAGS = 0x80206910 -+ SIOCSIFGENERIC = 0x80206939 -+ SIOCSIFLLADDR = 0x8020693c -+ SIOCSIFMAC = 0x80206927 -+ SIOCSIFMEDIA = 0xc0206937 -+ SIOCSIFMETRIC = 0x80206918 -+ SIOCSIFMTU = 0x80206934 -+ SIOCSIFNAME = 0x80206928 -+ SIOCSIFNETMASK = 0x80206916 -+ SIOCSIFPHYADDR = 0x80406946 -+ SIOCSIFPHYS = 0x80206936 -+ SIOCSIFRVNET = 0xc020695b -+ SIOCSIFVNET = 0xc020695a -+ SIOCSLIFPHYADDR = 0x8118694a -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SOCK_CLOEXEC = 0x10000000 -+ SOCK_DGRAM = 0x2 -+ SOCK_MAXADDRLEN = 0xff -+ SOCK_NONBLOCK = 0x20000000 -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_ACCEPTFILTER = 0x1000 -+ SO_BINTIME = 0x2000 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LABEL = 0x1009 -+ SO_LINGER = 0x80 -+ SO_LISTENINCQLEN = 0x1013 -+ SO_LISTENQLEN = 0x1012 -+ SO_LISTENQLIMIT = 0x1011 -+ SO_NOSIGPIPE = 0x800 -+ SO_NO_DDP = 0x8000 -+ SO_NO_OFFLOAD = 0x4000 -+ SO_OOBINLINE = 0x100 -+ SO_PEERLABEL = 0x1010 -+ SO_PROTOCOL = 0x1016 -+ SO_PROTOTYPE = 0x1016 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_SETFIB = 0x1014 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_TIMESTAMP = 0x400 -+ SO_TYPE = 0x1008 -+ SO_USELOOPBACK = 0x40 -+ SO_USER_COOKIE = 0x1015 -+ SO_VENDOR = 0x80000000 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_CA_NAME_MAX = 0x10 -+ TCP_CONGESTION = 0x40 -+ TCP_INFO = 0x20 -+ TCP_KEEPCNT = 0x400 -+ TCP_KEEPIDLE = 0x100 -+ TCP_KEEPINIT = 0x80 -+ TCP_KEEPINTVL = 0x200 -+ TCP_MAXBURST = 0x4 -+ TCP_MAXHLEN = 0x3c -+ TCP_MAXOLEN = 0x28 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_SACK = 0x4 -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0x10 -+ TCP_MINMSS = 0xd8 -+ TCP_MSS = 0x218 -+ TCP_NODELAY = 0x1 -+ TCP_NOOPT = 0x8 -+ TCP_NOPUSH = 0x4 -+ TCP_VENDOR = 0x80000000 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDRAIN = 0x2000745e -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLUSH = 0x80047410 -+ TIOCGDRAINWAIT = 0x40047456 -+ TIOCGETA = 0x402c7413 -+ TIOCGETD = 0x4004741a -+ TIOCGPGRP = 0x40047477 -+ TIOCGPTN = 0x4004740f -+ TIOCGSID = 0x40047463 -+ TIOCGWINSZ = 0x40087468 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGDTRWAIT = 0x4004745a -+ TIOCMGET = 0x4004746a -+ TIOCMSDTRWAIT = 0x8004745b -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DCD = 0x40 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCPTMASTER = 0x2000741c -+ TIOCSBRK = 0x2000747b -+ TIOCSCTTY = 0x20007461 -+ TIOCSDRAINWAIT = 0x80047457 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x802c7414 -+ TIOCSETAF = 0x802c7416 -+ TIOCSETAW = 0x802c7415 -+ TIOCSETD = 0x8004741b -+ TIOCSIG = 0x2004745f -+ TIOCSPGRP = 0x80047476 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x20007465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCTIMESTAMP = 0x40087459 -+ TIOCUCNTL = 0x80047466 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VERASE2 = 0x7 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WCONTINUED = 0x4 -+ WCOREFLAG = 0x80 -+ WEXITED = 0x10 -+ WLINUXCLONE = 0x80000000 -+ WNOHANG = 0x1 -+ WNOWAIT = 0x8 -+ WSTOPPED = 0x2 -+ WTRAPPED = 0x20 -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADF = syscall.Errno(0x9) -+ EBADMSG = syscall.Errno(0x59) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x55) -+ ECAPMODE = syscall.Errno(0x5e) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDOM = syscall.Errno(0x21) -+ EDOOFUS = syscall.Errno(0x58) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x52) -+ EILSEQ = syscall.Errno(0x56) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x60) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5a) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x57) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x5b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x53) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCAPABLE = syscall.Errno(0x5d) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTRECOVERABLE = syscall.Errno(0x5f) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x2d) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x2d) -+ EOVERFLOW = syscall.Errno(0x54) -+ EOWNERDEAD = syscall.Errno(0x60) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x5c) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGLIBRT = syscall.Signal(0x21) -+ SIGLWP = syscall.Signal(0x20) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTHR = syscall.Signal(0x20) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "operation timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "identifier removed", -+ 83: "no message of desired type", -+ 84: "value too large to be stored in data type", -+ 85: "operation canceled", -+ 86: "illegal byte sequence", -+ 87: "attribute not found", -+ 88: "programming error", -+ 89: "bad message", -+ 90: "multihop attempted", -+ 91: "link has been severed", -+ 92: "protocol error", -+ 93: "capabilities insufficient", -+ 94: "not permitted in capability mode", -+ 95: "state not recoverable", -+ 96: "previous owner died", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "suspended (signal)", -+ 18: "suspended", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+ 32: "unknown signal", -+ 33: "unknown signal", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go -new file mode 100644 -index 0000000..2d02caf ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go -@@ -0,0 +1,1887 @@ -+// mkerrors.sh -m32 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build 386,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m32 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x28 -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x1008 -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x1009 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100a -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100b -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B2500000 = 0x100c -+ B300 = 0x7 -+ B3000000 = 0x100d -+ B3500000 = 0x100e -+ B38400 = 0xf -+ B4000000 = 0x100f -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x1005 -+ B57600 = 0x1001 -+ B576000 = 0x1006 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x1007 -+ B9600 = 0xd -+ BLKBSZGET = 0x80041270 -+ BLKBSZSET = 0x40041271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80041272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1000 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x2000 -+ BSDLY = 0x2000 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_ID_BITS = 0x1d -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_ID_BITS = 0xb -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0x100f -+ CBAUDEX = 0x1000 -+ CFLUSH = 0xf -+ CIBAUD = 0x100f0000 -+ CLOCAL = 0x800 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CR0 = 0x0 -+ CR1 = 0x200 -+ CR2 = 0x400 -+ CR3 = 0x600 -+ CRDLY = 0x600 -+ CREAD = 0x80 -+ CRTSCTS = 0x80000000 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ EPOLL_NONBLOCK = 0x800 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x1000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0xc -+ F_GETLK64 = 0xc -+ F_GETOWN = 0x9 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0xd -+ F_SETLK64 = 0xd -+ F_SETLKW = 0xe -+ F_SETLKW64 = 0xe -+ F_SETOWN = 0x8 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x400 -+ IBSHIFT = 0x10 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x8000 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_NODAD = 0x2 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x7 -+ IFF_802_1Q_VLAN = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BONDING = 0x20 -+ IFF_BRIDGE_PORT = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DISABLE_NETPOLL = 0x1000 -+ IFF_DONT_BRIDGE = 0x800 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_EBRIDGE = 0x2 -+ IFF_ECHO = 0x40000 -+ IFF_ISATAP = 0x80 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MACVLAN_PORT = 0x2000 -+ IFF_MASTER = 0x400 -+ IFF_MASTER_8023AD = 0x8 -+ IFF_MASTER_ALB = 0x10 -+ IFF_MASTER_ARPMON = 0x100 -+ IFF_MULTICAST = 0x1000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_OVS_DATAPATH = 0x8000 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_SLAVE_INACTIVE = 0x4 -+ IFF_SLAVE_NEEDARP = 0x40 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_TX_SKB_SHARING = 0x10000 -+ IFF_UNICAST_FLT = 0x20000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFF_WAN_HDLC = 0x200 -+ IFF_XMIT_DST_RELEASE = 0x400 -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x800 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IUCLC = 0x200 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DOFORK = 0xb -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_32BIT = 0x40 -+ MAP_ANON = 0x20 -+ MAP_ANONYMOUS = 0x20 -+ MAP_DENYWRITE = 0x800 -+ MAP_EXECUTABLE = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x100 -+ MAP_HUGETLB = 0x40000 -+ MAP_LOCKED = 0x2000 -+ MAP_NONBLOCK = 0x10000 -+ MAP_NORESERVE = 0x4000 -+ MAP_POPULATE = 0x8000 -+ MAP_PRIVATE = 0x2 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x20000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x100 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x2 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x400 -+ O_ASYNC = 0x2000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x40 -+ O_DIRECT = 0x4000 -+ O_DIRECTORY = 0x10000 -+ O_DSYNC = 0x1000 -+ O_EXCL = 0x80 -+ O_FSYNC = 0x101000 -+ O_LARGEFILE = 0x8000 -+ O_NDELAY = 0x800 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x100 -+ O_NOFOLLOW = 0x20000 -+ O_NONBLOCK = 0x800 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x101000 -+ O_SYNC = 0x101000 -+ O_TMPFILE = 0x410000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x100 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = 0xffffffff -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETFPREGS = 0xe -+ PTRACE_GETFPXREGS = 0x12 -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GET_THREAD_AREA = 0x19 -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_OLDSETOPTIONS = 0x15 -+ PTRACE_O_MASK = 0xff -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SEIZE_DEVEL = 0x80000000 -+ PTRACE_SETFPREGS = 0xf -+ PTRACE_SETFPXREGS = 0x13 -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SET_THREAD_AREA = 0x1a -+ PTRACE_SINGLEBLOCK = 0x21 -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_SYSEMU = 0x1f -+ PTRACE_SYSEMU_SINGLESTEP = 0x20 -+ PTRACE_TRACEME = 0x0 -+ RLIMIT_AS = 0x9 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x7 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0xe -+ RTAX_MTU = 0x2 -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x10 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x4f -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x10 -+ RTM_NR_MSGTYPES = 0x40 -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x8905 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x8904 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x8902 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x2 -+ SOCK_NONBLOCK = 0x800 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_AAL = 0x109 -+ SOL_ATM = 0x108 -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_NETLINK = 0x10e -+ SOL_PACKET = 0x107 -+ SOL_RAW = 0xff -+ SOL_SOCKET = 0x1 -+ SOL_TCP = 0x6 -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1e -+ SO_ATTACH_FILTER = 0x1a -+ SO_BINDTODEVICE = 0x19 -+ SO_BROADCAST = 0x6 -+ SO_BSDCOMPAT = 0xe -+ SO_DEBUG = 0x1 -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x27 -+ SO_DONTROUTE = 0x5 -+ SO_ERROR = 0x4 -+ SO_KEEPALIVE = 0x9 -+ SO_LINGER = 0xd -+ SO_MARK = 0x24 -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0xa -+ SO_PASSCRED = 0x10 -+ SO_PASSSEC = 0x22 -+ SO_PEERCRED = 0x11 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1f -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x26 -+ SO_RCVBUF = 0x8 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x12 -+ SO_RCVTIMEO = 0x14 -+ SO_REUSEADDR = 0x2 -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SNDBUF = 0x7 -+ SO_SNDBUFFORCE = 0x20 -+ SO_SNDLOWAT = 0x13 -+ SO_SNDTIMEO = 0x15 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x3 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x800 -+ TAB2 = 0x1000 -+ TAB3 = 0x1800 -+ TABDLY = 0x1800 -+ TCFLSH = 0x540b -+ TCGETA = 0x5405 -+ TCGETS = 0x5401 -+ TCGETS2 = 0x802c542a -+ TCGETX = 0x5432 -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CONGESTION = 0xd -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_QUICKACK = 0xc -+ TCP_SYNCNT = 0x7 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x2 -+ TCSBRK = 0x5409 -+ TCSBRKP = 0x5425 -+ TCSETA = 0x5406 -+ TCSETAF = 0x5408 -+ TCSETAW = 0x5407 -+ TCSETS = 0x5402 -+ TCSETS2 = 0x402c542b -+ TCSETSF = 0x5404 -+ TCSETSF2 = 0x402c542d -+ TCSETSW = 0x5403 -+ TCSETSW2 = 0x402c542c -+ TCSETX = 0x5433 -+ TCSETXF = 0x5434 -+ TCSETXW = 0x5435 -+ TCXONC = 0x540a -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x541d -+ TIOCEXCL = 0x540c -+ TIOCGDEV = 0x80045432 -+ TIOCGETD = 0x5424 -+ TIOCGEXCL = 0x80045440 -+ TIOCGICOUNT = 0x545d -+ TIOCGLCKTRMIOS = 0x5456 -+ TIOCGPGRP = 0x540f -+ TIOCGPKT = 0x80045438 -+ TIOCGPTLCK = 0x80045439 -+ TIOCGPTN = 0x80045430 -+ TIOCGRS485 = 0x542e -+ TIOCGSERIAL = 0x541e -+ TIOCGSID = 0x5429 -+ TIOCGSOFTCAR = 0x5419 -+ TIOCGWINSZ = 0x5413 -+ TIOCINQ = 0x541b -+ TIOCLINUX = 0x541c -+ TIOCMBIC = 0x5417 -+ TIOCMBIS = 0x5416 -+ TIOCMGET = 0x5415 -+ TIOCMIWAIT = 0x545c -+ TIOCMSET = 0x5418 -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x5422 -+ TIOCNXCL = 0x540d -+ TIOCOUTQ = 0x5411 -+ TIOCPKT = 0x5420 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x540e -+ TIOCSERCONFIG = 0x5453 -+ TIOCSERGETLSR = 0x5459 -+ TIOCSERGETMULTI = 0x545a -+ TIOCSERGSTRUCT = 0x5458 -+ TIOCSERGWILD = 0x5454 -+ TIOCSERSETMULTI = 0x545b -+ TIOCSERSWILD = 0x5455 -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x5423 -+ TIOCSIG = 0x40045436 -+ TIOCSLCKTRMIOS = 0x5457 -+ TIOCSPGRP = 0x5410 -+ TIOCSPTLCK = 0x40045431 -+ TIOCSRS485 = 0x542f -+ TIOCSSERIAL = 0x541f -+ TIOCSSOFTCAR = 0x541a -+ TIOCSTI = 0x5412 -+ TIOCSWINSZ = 0x5414 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x100 -+ TUNATTACHFILTER = 0x400854d5 -+ TUNDETACHFILTER = 0x400854d6 -+ TUNGETFEATURES = 0x800454cf -+ TUNGETIFF = 0x800454d2 -+ TUNGETSNDBUF = 0x800454d3 -+ TUNGETVNETHDRSZ = 0x800454d7 -+ TUNSETDEBUG = 0x400454c9 -+ TUNSETGROUP = 0x400454ce -+ TUNSETIFF = 0x400454ca -+ TUNSETLINK = 0x400454cd -+ TUNSETNOCSUM = 0x400454c8 -+ TUNSETOFFLOAD = 0x400454d0 -+ TUNSETOWNER = 0x400454cc -+ TUNSETPERSIST = 0x400454cb -+ TUNSETSNDBUF = 0x400454d4 -+ TUNSETTXFILTER = 0x400454d1 -+ TUNSETVNETHDRSZ = 0x400454d8 -+ VDISCARD = 0xd -+ VEOF = 0x4 -+ VEOL = 0xb -+ VEOL2 = 0x10 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x6 -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x20 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XCASE = 0x4 -+ XTABS = 0x1800 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x62) -+ EADDRNOTAVAIL = syscall.Errno(0x63) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x61) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x72) -+ EBADE = syscall.Errno(0x34) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x4d) -+ EBADMSG = syscall.Errno(0x4a) -+ EBADR = syscall.Errno(0x35) -+ EBADRQC = syscall.Errno(0x38) -+ EBADSLT = syscall.Errno(0x39) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x7d) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x2c) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x67) -+ ECONNREFUSED = syscall.Errno(0x6f) -+ ECONNRESET = syscall.Errno(0x68) -+ EDEADLK = syscall.Errno(0x23) -+ EDEADLOCK = syscall.Errno(0x23) -+ EDESTADDRREQ = syscall.Errno(0x59) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x7a) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x70) -+ EHOSTUNREACH = syscall.Errno(0x71) -+ EHWPOISON = syscall.Errno(0x85) -+ EIDRM = syscall.Errno(0x2b) -+ EILSEQ = syscall.Errno(0x54) -+ EINPROGRESS = syscall.Errno(0x73) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x6a) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x78) -+ EKEYEXPIRED = syscall.Errno(0x7f) -+ EKEYREJECTED = syscall.Errno(0x81) -+ EKEYREVOKED = syscall.Errno(0x80) -+ EL2HLT = syscall.Errno(0x33) -+ EL2NSYNC = syscall.Errno(0x2d) -+ EL3HLT = syscall.Errno(0x2e) -+ EL3RST = syscall.Errno(0x2f) -+ ELIBACC = syscall.Errno(0x4f) -+ ELIBBAD = syscall.Errno(0x50) -+ ELIBEXEC = syscall.Errno(0x53) -+ ELIBMAX = syscall.Errno(0x52) -+ ELIBSCN = syscall.Errno(0x51) -+ ELNRNG = syscall.Errno(0x30) -+ ELOOP = syscall.Errno(0x28) -+ EMEDIUMTYPE = syscall.Errno(0x7c) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x5a) -+ EMULTIHOP = syscall.Errno(0x48) -+ ENAMETOOLONG = syscall.Errno(0x24) -+ ENAVAIL = syscall.Errno(0x77) -+ ENETDOWN = syscall.Errno(0x64) -+ ENETRESET = syscall.Errno(0x66) -+ ENETUNREACH = syscall.Errno(0x65) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x37) -+ ENOBUFS = syscall.Errno(0x69) -+ ENOCSI = syscall.Errno(0x32) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0x7e) -+ ENOLCK = syscall.Errno(0x25) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x7b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x2a) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x5c) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x26) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x6b) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x27) -+ ENOTNAM = syscall.Errno(0x76) -+ ENOTRECOVERABLE = syscall.Errno(0x83) -+ ENOTSOCK = syscall.Errno(0x58) -+ ENOTSUP = syscall.Errno(0x5f) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x4c) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x5f) -+ EOVERFLOW = syscall.Errno(0x4b) -+ EOWNERDEAD = syscall.Errno(0x82) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x60) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x5d) -+ EPROTOTYPE = syscall.Errno(0x5b) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x4e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x79) -+ ERESTART = syscall.Errno(0x55) -+ ERFKILL = syscall.Errno(0x84) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x6c) -+ ESOCKTNOSUPPORT = syscall.Errno(0x5e) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x74) -+ ESTRPIPE = syscall.Errno(0x56) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x6e) -+ ETOOMANYREFS = syscall.Errno(0x6d) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x75) -+ EUNATCH = syscall.Errno(0x31) -+ EUSERS = syscall.Errno(0x57) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x36) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0x7) -+ SIGCHLD = syscall.Signal(0x11) -+ SIGCLD = syscall.Signal(0x11) -+ SIGCONT = syscall.Signal(0x12) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x1d) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x1d) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x1e) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTKFLT = syscall.Signal(0x10) -+ SIGSTOP = syscall.Signal(0x13) -+ SIGSYS = syscall.Signal(0x1f) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x14) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGUNUSED = syscall.Signal(0x1f) -+ SIGURG = syscall.Signal(0x17) -+ SIGUSR1 = syscall.Signal(0xa) -+ SIGUSR2 = syscall.Signal(0xc) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "resource deadlock avoided", -+ 36: "file name too long", -+ 37: "no locks available", -+ 38: "function not implemented", -+ 39: "directory not empty", -+ 40: "too many levels of symbolic links", -+ 42: "no message of desired type", -+ 43: "identifier removed", -+ 44: "channel number out of range", -+ 45: "level 2 not synchronized", -+ 46: "level 3 halted", -+ 47: "level 3 reset", -+ 48: "link number out of range", -+ 49: "protocol driver not attached", -+ 50: "no CSI structure available", -+ 51: "level 2 halted", -+ 52: "invalid exchange", -+ 53: "invalid request descriptor", -+ 54: "exchange full", -+ 55: "no anode", -+ 56: "invalid request code", -+ 57: "invalid slot", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 72: "multihop attempted", -+ 73: "RFS specific error", -+ 74: "bad message", -+ 75: "value too large for defined data type", -+ 76: "name not unique on network", -+ 77: "file descriptor in bad state", -+ 78: "remote address changed", -+ 79: "can not access a needed shared library", -+ 80: "accessing a corrupted shared library", -+ 81: ".lib section in a.out corrupted", -+ 82: "attempting to link in too many shared libraries", -+ 83: "cannot exec a shared library directly", -+ 84: "invalid or incomplete multibyte or wide character", -+ 85: "interrupted system call should be restarted", -+ 86: "streams pipe error", -+ 87: "too many users", -+ 88: "socket operation on non-socket", -+ 89: "destination address required", -+ 90: "message too long", -+ 91: "protocol wrong type for socket", -+ 92: "protocol not available", -+ 93: "protocol not supported", -+ 94: "socket type not supported", -+ 95: "operation not supported", -+ 96: "protocol family not supported", -+ 97: "address family not supported by protocol", -+ 98: "address already in use", -+ 99: "cannot assign requested address", -+ 100: "network is down", -+ 101: "network is unreachable", -+ 102: "network dropped connection on reset", -+ 103: "software caused connection abort", -+ 104: "connection reset by peer", -+ 105: "no buffer space available", -+ 106: "transport endpoint is already connected", -+ 107: "transport endpoint is not connected", -+ 108: "cannot send after transport endpoint shutdown", -+ 109: "too many references: cannot splice", -+ 110: "connection timed out", -+ 111: "connection refused", -+ 112: "host is down", -+ 113: "no route to host", -+ 114: "operation already in progress", -+ 115: "operation now in progress", -+ 116: "stale NFS file handle", -+ 117: "structure needs cleaning", -+ 118: "not a XENIX named type file", -+ 119: "no XENIX semaphores available", -+ 120: "is a named type file", -+ 121: "remote I/O error", -+ 122: "disk quota exceeded", -+ 123: "no medium found", -+ 124: "wrong medium type", -+ 125: "operation canceled", -+ 126: "required key not available", -+ 127: "key has expired", -+ 128: "key has been revoked", -+ 129: "key was rejected by service", -+ 130: "owner died", -+ 131: "state not recoverable", -+ 132: "operation not possible due to RF-kill", -+ 133: "unknown error 133", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "bus error", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "user defined signal 1", -+ 11: "segmentation fault", -+ 12: "user defined signal 2", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "stack fault", -+ 17: "child exited", -+ 18: "continued", -+ 19: "stopped (signal)", -+ 20: "stopped", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "urgent I/O condition", -+ 24: "CPU time limit exceeded", -+ 25: "file size limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window changed", -+ 29: "I/O possible", -+ 30: "power failure", -+ 31: "bad system call", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go -new file mode 100644 -index 0000000..f21dcd9 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go -@@ -0,0 +1,1895 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build amd64,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x28 -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x1008 -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x1009 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100a -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100b -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B2500000 = 0x100c -+ B300 = 0x7 -+ B3000000 = 0x100d -+ B3500000 = 0x100e -+ B38400 = 0xf -+ B4000000 = 0x100f -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x1005 -+ B57600 = 0x1001 -+ B576000 = 0x1006 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x1007 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1000 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x2000 -+ BSDLY = 0x2000 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_ID_BITS = 0x1d -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_ID_BITS = 0xb -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0x100f -+ CBAUDEX = 0x1000 -+ CFLUSH = 0xf -+ CIBAUD = 0x100f0000 -+ CLOCAL = 0x800 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CR0 = 0x0 -+ CR1 = 0x200 -+ CR2 = 0x400 -+ CR3 = 0x600 -+ CRDLY = 0x600 -+ CREAD = 0x80 -+ CRTSCTS = 0x80000000 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ EPOLL_NONBLOCK = 0x800 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x1000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0x5 -+ F_GETLK64 = 0x5 -+ F_GETOWN = 0x9 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x6 -+ F_SETLK64 = 0x6 -+ F_SETLKW = 0x7 -+ F_SETLKW64 = 0x7 -+ F_SETOWN = 0x8 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x400 -+ IBSHIFT = 0x10 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x8000 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_NODAD = 0x2 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x7 -+ IFF_802_1Q_VLAN = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BONDING = 0x20 -+ IFF_BRIDGE_PORT = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DISABLE_NETPOLL = 0x1000 -+ IFF_DONT_BRIDGE = 0x800 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_EBRIDGE = 0x2 -+ IFF_ECHO = 0x40000 -+ IFF_ISATAP = 0x80 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MACVLAN_PORT = 0x2000 -+ IFF_MASTER = 0x400 -+ IFF_MASTER_8023AD = 0x8 -+ IFF_MASTER_ALB = 0x10 -+ IFF_MASTER_ARPMON = 0x100 -+ IFF_MULTICAST = 0x1000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_OVS_DATAPATH = 0x8000 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_SLAVE_INACTIVE = 0x4 -+ IFF_SLAVE_NEEDARP = 0x40 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_TX_SKB_SHARING = 0x10000 -+ IFF_UNICAST_FLT = 0x20000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFF_WAN_HDLC = 0x200 -+ IFF_XMIT_DST_RELEASE = 0x400 -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x800 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IUCLC = 0x200 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DOFORK = 0xb -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_32BIT = 0x40 -+ MAP_ANON = 0x20 -+ MAP_ANONYMOUS = 0x20 -+ MAP_DENYWRITE = 0x800 -+ MAP_EXECUTABLE = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x100 -+ MAP_HUGETLB = 0x40000 -+ MAP_LOCKED = 0x2000 -+ MAP_NONBLOCK = 0x10000 -+ MAP_NORESERVE = 0x4000 -+ MAP_POPULATE = 0x8000 -+ MAP_PRIVATE = 0x2 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x20000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CAP_ACK = 0xa -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_LISTEN_ALL_NSID = 0x8 -+ NETLINK_LIST_MEMBERSHIPS = 0x9 -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x100 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x2 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x400 -+ O_ASYNC = 0x2000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x40 -+ O_DIRECT = 0x4000 -+ O_DIRECTORY = 0x10000 -+ O_DSYNC = 0x1000 -+ O_EXCL = 0x80 -+ O_FSYNC = 0x101000 -+ O_LARGEFILE = 0x0 -+ O_NDELAY = 0x800 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x100 -+ O_NOFOLLOW = 0x20000 -+ O_NONBLOCK = 0x800 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x101000 -+ O_SYNC = 0x101000 -+ O_TMPFILE = 0x410000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x100 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = -0x1 -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ARCH_PRCTL = 0x1e -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETFPREGS = 0xe -+ PTRACE_GETFPXREGS = 0x12 -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GET_THREAD_AREA = 0x19 -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_OLDSETOPTIONS = 0x15 -+ PTRACE_O_MASK = 0xff -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SEIZE_DEVEL = 0x80000000 -+ PTRACE_SETFPREGS = 0xf -+ PTRACE_SETFPXREGS = 0x13 -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SET_THREAD_AREA = 0x1a -+ PTRACE_SINGLEBLOCK = 0x21 -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_SYSEMU = 0x1f -+ PTRACE_SYSEMU_SINGLESTEP = 0x20 -+ PTRACE_TRACEME = 0x0 -+ RLIMIT_AS = 0x9 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x7 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0xe -+ RTAX_MTU = 0x2 -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x10 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x4f -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x10 -+ RTM_NR_MSGTYPES = 0x40 -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x8905 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x8904 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x8902 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x2 -+ SOCK_NONBLOCK = 0x800 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_AAL = 0x109 -+ SOL_ATM = 0x108 -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_NETLINK = 0x10e -+ SOL_PACKET = 0x107 -+ SOL_RAW = 0xff -+ SOL_SOCKET = 0x1 -+ SOL_TCP = 0x6 -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1e -+ SO_ATTACH_FILTER = 0x1a -+ SO_BINDTODEVICE = 0x19 -+ SO_BROADCAST = 0x6 -+ SO_BSDCOMPAT = 0xe -+ SO_DEBUG = 0x1 -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x27 -+ SO_DONTROUTE = 0x5 -+ SO_ERROR = 0x4 -+ SO_KEEPALIVE = 0x9 -+ SO_LINGER = 0xd -+ SO_MARK = 0x24 -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0xa -+ SO_PASSCRED = 0x10 -+ SO_PASSSEC = 0x22 -+ SO_PEERCRED = 0x11 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1f -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x26 -+ SO_RCVBUF = 0x8 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x12 -+ SO_RCVTIMEO = 0x14 -+ SO_REUSEADDR = 0x2 -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SNDBUF = 0x7 -+ SO_SNDBUFFORCE = 0x20 -+ SO_SNDLOWAT = 0x13 -+ SO_SNDTIMEO = 0x15 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x3 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x800 -+ TAB2 = 0x1000 -+ TAB3 = 0x1800 -+ TABDLY = 0x1800 -+ TCFLSH = 0x540b -+ TCGETA = 0x5405 -+ TCGETS = 0x5401 -+ TCGETS2 = 0x802c542a -+ TCGETX = 0x5432 -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CONGESTION = 0xd -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_QUICKACK = 0xc -+ TCP_SYNCNT = 0x7 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x2 -+ TCSBRK = 0x5409 -+ TCSBRKP = 0x5425 -+ TCSETA = 0x5406 -+ TCSETAF = 0x5408 -+ TCSETAW = 0x5407 -+ TCSETS = 0x5402 -+ TCSETS2 = 0x402c542b -+ TCSETSF = 0x5404 -+ TCSETSF2 = 0x402c542d -+ TCSETSW = 0x5403 -+ TCSETSW2 = 0x402c542c -+ TCSETX = 0x5433 -+ TCSETXF = 0x5434 -+ TCSETXW = 0x5435 -+ TCXONC = 0x540a -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x541d -+ TIOCEXCL = 0x540c -+ TIOCGDEV = 0x80045432 -+ TIOCGETD = 0x5424 -+ TIOCGEXCL = 0x80045440 -+ TIOCGICOUNT = 0x545d -+ TIOCGLCKTRMIOS = 0x5456 -+ TIOCGPGRP = 0x540f -+ TIOCGPKT = 0x80045438 -+ TIOCGPTLCK = 0x80045439 -+ TIOCGPTN = 0x80045430 -+ TIOCGRS485 = 0x542e -+ TIOCGSERIAL = 0x541e -+ TIOCGSID = 0x5429 -+ TIOCGSOFTCAR = 0x5419 -+ TIOCGWINSZ = 0x5413 -+ TIOCINQ = 0x541b -+ TIOCLINUX = 0x541c -+ TIOCMBIC = 0x5417 -+ TIOCMBIS = 0x5416 -+ TIOCMGET = 0x5415 -+ TIOCMIWAIT = 0x545c -+ TIOCMSET = 0x5418 -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x5422 -+ TIOCNXCL = 0x540d -+ TIOCOUTQ = 0x5411 -+ TIOCPKT = 0x5420 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x540e -+ TIOCSERCONFIG = 0x5453 -+ TIOCSERGETLSR = 0x5459 -+ TIOCSERGETMULTI = 0x545a -+ TIOCSERGSTRUCT = 0x5458 -+ TIOCSERGWILD = 0x5454 -+ TIOCSERSETMULTI = 0x545b -+ TIOCSERSWILD = 0x5455 -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x5423 -+ TIOCSIG = 0x40045436 -+ TIOCSLCKTRMIOS = 0x5457 -+ TIOCSPGRP = 0x5410 -+ TIOCSPTLCK = 0x40045431 -+ TIOCSRS485 = 0x542f -+ TIOCSSERIAL = 0x541f -+ TIOCSSOFTCAR = 0x541a -+ TIOCSTI = 0x5412 -+ TIOCSWINSZ = 0x5414 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x100 -+ TUNATTACHFILTER = 0x401054d5 -+ TUNDETACHFILTER = 0x401054d6 -+ TUNGETFEATURES = 0x800454cf -+ TUNGETIFF = 0x800454d2 -+ TUNGETSNDBUF = 0x800454d3 -+ TUNGETVNETHDRSZ = 0x800454d7 -+ TUNSETDEBUG = 0x400454c9 -+ TUNSETGROUP = 0x400454ce -+ TUNSETIFF = 0x400454ca -+ TUNSETLINK = 0x400454cd -+ TUNSETNOCSUM = 0x400454c8 -+ TUNSETOFFLOAD = 0x400454d0 -+ TUNSETOWNER = 0x400454cc -+ TUNSETPERSIST = 0x400454cb -+ TUNSETSNDBUF = 0x400454d4 -+ TUNSETTXFILTER = 0x400454d1 -+ TUNSETVNETHDRSZ = 0x400454d8 -+ VDISCARD = 0xd -+ VEOF = 0x4 -+ VEOL = 0xb -+ VEOL2 = 0x10 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x6 -+ VM_SOCKETS_INVALID_VERSION = 0xffffffff -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XCASE = 0x4 -+ XTABS = 0x1800 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x62) -+ EADDRNOTAVAIL = syscall.Errno(0x63) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x61) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x72) -+ EBADE = syscall.Errno(0x34) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x4d) -+ EBADMSG = syscall.Errno(0x4a) -+ EBADR = syscall.Errno(0x35) -+ EBADRQC = syscall.Errno(0x38) -+ EBADSLT = syscall.Errno(0x39) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x7d) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x2c) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x67) -+ ECONNREFUSED = syscall.Errno(0x6f) -+ ECONNRESET = syscall.Errno(0x68) -+ EDEADLK = syscall.Errno(0x23) -+ EDEADLOCK = syscall.Errno(0x23) -+ EDESTADDRREQ = syscall.Errno(0x59) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x7a) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x70) -+ EHOSTUNREACH = syscall.Errno(0x71) -+ EHWPOISON = syscall.Errno(0x85) -+ EIDRM = syscall.Errno(0x2b) -+ EILSEQ = syscall.Errno(0x54) -+ EINPROGRESS = syscall.Errno(0x73) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x6a) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x78) -+ EKEYEXPIRED = syscall.Errno(0x7f) -+ EKEYREJECTED = syscall.Errno(0x81) -+ EKEYREVOKED = syscall.Errno(0x80) -+ EL2HLT = syscall.Errno(0x33) -+ EL2NSYNC = syscall.Errno(0x2d) -+ EL3HLT = syscall.Errno(0x2e) -+ EL3RST = syscall.Errno(0x2f) -+ ELIBACC = syscall.Errno(0x4f) -+ ELIBBAD = syscall.Errno(0x50) -+ ELIBEXEC = syscall.Errno(0x53) -+ ELIBMAX = syscall.Errno(0x52) -+ ELIBSCN = syscall.Errno(0x51) -+ ELNRNG = syscall.Errno(0x30) -+ ELOOP = syscall.Errno(0x28) -+ EMEDIUMTYPE = syscall.Errno(0x7c) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x5a) -+ EMULTIHOP = syscall.Errno(0x48) -+ ENAMETOOLONG = syscall.Errno(0x24) -+ ENAVAIL = syscall.Errno(0x77) -+ ENETDOWN = syscall.Errno(0x64) -+ ENETRESET = syscall.Errno(0x66) -+ ENETUNREACH = syscall.Errno(0x65) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x37) -+ ENOBUFS = syscall.Errno(0x69) -+ ENOCSI = syscall.Errno(0x32) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0x7e) -+ ENOLCK = syscall.Errno(0x25) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x7b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x2a) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x5c) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x26) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x6b) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x27) -+ ENOTNAM = syscall.Errno(0x76) -+ ENOTRECOVERABLE = syscall.Errno(0x83) -+ ENOTSOCK = syscall.Errno(0x58) -+ ENOTSUP = syscall.Errno(0x5f) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x4c) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x5f) -+ EOVERFLOW = syscall.Errno(0x4b) -+ EOWNERDEAD = syscall.Errno(0x82) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x60) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x5d) -+ EPROTOTYPE = syscall.Errno(0x5b) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x4e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x79) -+ ERESTART = syscall.Errno(0x55) -+ ERFKILL = syscall.Errno(0x84) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x6c) -+ ESOCKTNOSUPPORT = syscall.Errno(0x5e) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x74) -+ ESTRPIPE = syscall.Errno(0x56) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x6e) -+ ETOOMANYREFS = syscall.Errno(0x6d) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x75) -+ EUNATCH = syscall.Errno(0x31) -+ EUSERS = syscall.Errno(0x57) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x36) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0x7) -+ SIGCHLD = syscall.Signal(0x11) -+ SIGCLD = syscall.Signal(0x11) -+ SIGCONT = syscall.Signal(0x12) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x1d) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x1d) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x1e) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTKFLT = syscall.Signal(0x10) -+ SIGSTOP = syscall.Signal(0x13) -+ SIGSYS = syscall.Signal(0x1f) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x14) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGUNUSED = syscall.Signal(0x1f) -+ SIGURG = syscall.Signal(0x17) -+ SIGUSR1 = syscall.Signal(0xa) -+ SIGUSR2 = syscall.Signal(0xc) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "resource deadlock avoided", -+ 36: "file name too long", -+ 37: "no locks available", -+ 38: "function not implemented", -+ 39: "directory not empty", -+ 40: "too many levels of symbolic links", -+ 42: "no message of desired type", -+ 43: "identifier removed", -+ 44: "channel number out of range", -+ 45: "level 2 not synchronized", -+ 46: "level 3 halted", -+ 47: "level 3 reset", -+ 48: "link number out of range", -+ 49: "protocol driver not attached", -+ 50: "no CSI structure available", -+ 51: "level 2 halted", -+ 52: "invalid exchange", -+ 53: "invalid request descriptor", -+ 54: "exchange full", -+ 55: "no anode", -+ 56: "invalid request code", -+ 57: "invalid slot", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 72: "multihop attempted", -+ 73: "RFS specific error", -+ 74: "bad message", -+ 75: "value too large for defined data type", -+ 76: "name not unique on network", -+ 77: "file descriptor in bad state", -+ 78: "remote address changed", -+ 79: "can not access a needed shared library", -+ 80: "accessing a corrupted shared library", -+ 81: ".lib section in a.out corrupted", -+ 82: "attempting to link in too many shared libraries", -+ 83: "cannot exec a shared library directly", -+ 84: "invalid or incomplete multibyte or wide character", -+ 85: "interrupted system call should be restarted", -+ 86: "streams pipe error", -+ 87: "too many users", -+ 88: "socket operation on non-socket", -+ 89: "destination address required", -+ 90: "message too long", -+ 91: "protocol wrong type for socket", -+ 92: "protocol not available", -+ 93: "protocol not supported", -+ 94: "socket type not supported", -+ 95: "operation not supported", -+ 96: "protocol family not supported", -+ 97: "address family not supported by protocol", -+ 98: "address already in use", -+ 99: "cannot assign requested address", -+ 100: "network is down", -+ 101: "network is unreachable", -+ 102: "network dropped connection on reset", -+ 103: "software caused connection abort", -+ 104: "connection reset by peer", -+ 105: "no buffer space available", -+ 106: "transport endpoint is already connected", -+ 107: "transport endpoint is not connected", -+ 108: "cannot send after transport endpoint shutdown", -+ 109: "too many references: cannot splice", -+ 110: "connection timed out", -+ 111: "connection refused", -+ 112: "host is down", -+ 113: "no route to host", -+ 114: "operation already in progress", -+ 115: "operation now in progress", -+ 116: "stale NFS file handle", -+ 117: "structure needs cleaning", -+ 118: "not a XENIX named type file", -+ 119: "no XENIX semaphores available", -+ 120: "is a named type file", -+ 121: "remote I/O error", -+ 122: "disk quota exceeded", -+ 123: "no medium found", -+ 124: "wrong medium type", -+ 125: "operation canceled", -+ 126: "required key not available", -+ 127: "key has expired", -+ 128: "key has been revoked", -+ 129: "key was rejected by service", -+ 130: "owner died", -+ 131: "state not recoverable", -+ 132: "operation not possible due to RF-kill", -+ 133: "unknown error 133", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "bus error", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "user defined signal 1", -+ 11: "segmentation fault", -+ 12: "user defined signal 2", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "stack fault", -+ 17: "child exited", -+ 18: "continued", -+ 19: "stopped (signal)", -+ 20: "stopped", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "urgent I/O condition", -+ 24: "CPU time limit exceeded", -+ 25: "file size limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window changed", -+ 29: "I/O possible", -+ 30: "power failure", -+ 31: "bad system call", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go -new file mode 100644 -index 0000000..7889e64 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go -@@ -0,0 +1,1815 @@ -+// mkerrors.sh -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build arm,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x27 -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802154_PHY = 0x325 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x1008 -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x1009 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100a -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100b -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B2500000 = 0x100c -+ B300 = 0x7 -+ B3000000 = 0x100d -+ B3500000 = 0x100e -+ B38400 = 0xf -+ B4000000 = 0x100f -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x1005 -+ B57600 = 0x1001 -+ B576000 = 0x1006 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x1007 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1000 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x2000 -+ BSDLY = 0x2000 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_ID_BITS = 0x1d -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_ID_BITS = 0xb -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0x100f -+ CBAUDEX = 0x1000 -+ CFLUSH = 0xf -+ CIBAUD = 0x100f0000 -+ CLOCAL = 0x800 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CR0 = 0x0 -+ CR1 = 0x200 -+ CR2 = 0x400 -+ CR3 = 0x600 -+ CRDLY = 0x600 -+ CREAD = 0x80 -+ CRTSCTS = 0x80000000 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ELF_NGREG = 0x12 -+ ELF_PRARGSZ = 0x50 -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ EPOLLERR = 0x8 -+ EPOLLET = -0x80000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ EPOLL_NONBLOCK = 0x800 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x1000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0xc -+ F_GETLK64 = 0xc -+ F_GETOWN = 0x9 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0xd -+ F_SETLK64 = 0xd -+ F_SETLKW = 0xe -+ F_SETLKW64 = 0xe -+ F_SETOWN = 0x8 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x400 -+ IBSHIFT = 0x10 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x8000 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_NODAD = 0x2 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x7 -+ IFF_ALLMULTI = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DYNAMIC = 0x8000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MASTER = 0x400 -+ IFF_MULTICAST = 0x1000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x800 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IUCLC = 0x200 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DOFORK = 0xb -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x20 -+ MAP_ANONYMOUS = 0x20 -+ MAP_DENYWRITE = 0x800 -+ MAP_EXECUTABLE = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x100 -+ MAP_LOCKED = 0x2000 -+ MAP_NONBLOCK = 0x10000 -+ MAP_NORESERVE = 0x4000 -+ MAP_POPULATE = 0x8000 -+ MAP_PRIVATE = 0x2 -+ MAP_SHARED = 0x1 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x100 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x2 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x400 -+ O_ASYNC = 0x2000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x40 -+ O_DIRECT = 0x10000 -+ O_DIRECTORY = 0x4000 -+ O_DSYNC = 0x1000 -+ O_EXCL = 0x80 -+ O_FSYNC = 0x1000 -+ O_LARGEFILE = 0x20000 -+ O_NDELAY = 0x800 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x100 -+ O_NOFOLLOW = 0x8000 -+ O_NONBLOCK = 0x800 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x1000 -+ O_SYNC = 0x1000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_BROADCAST = 0x1 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HOST = 0x0 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MULTICAST = 0x2 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PARENB = 0x100 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_CLEAR_SECCOMP_FILTER = 0x25 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECCOMP_FILTER = 0x23 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_SECCOMP_FILTER_EVENT = 0x1 -+ PR_SECCOMP_FILTER_SYSCALL = 0x0 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_NAME = 0xf -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECCOMP_FILTER = 0x24 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETCRUNCHREGS = 0x19 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETFPREGS = 0xe -+ PTRACE_GETHBPREGS = 0x1d -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GETVFPREGS = 0x1b -+ PTRACE_GETWMMXREGS = 0x12 -+ PTRACE_GET_THREAD_AREA = 0x16 -+ PTRACE_KILL = 0x8 -+ PTRACE_OLDSETOPTIONS = 0x15 -+ PTRACE_O_MASK = 0x7f -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SETCRUNCHREGS = 0x1a -+ PTRACE_SETFPREGS = 0xf -+ PTRACE_SETHBPREGS = 0x1e -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SETVFPREGS = 0x1c -+ PTRACE_SETWMMXREGS = 0x13 -+ PTRACE_SET_SYSCALL = 0x17 -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TRACEME = 0x0 -+ PT_DATA_ADDR = 0x10004 -+ PT_TEXT_ADDR = 0x10000 -+ PT_TEXT_END_ADDR = 0x10008 -+ RLIMIT_AS = 0x9 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x7 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0xe -+ RTAX_MTU = 0x2 -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x10 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x4f -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x10 -+ RTM_NR_MSGTYPES = 0x40 -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x8905 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x8904 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x8902 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x2 -+ SOCK_NONBLOCK = 0x800 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_AAL = 0x109 -+ SOL_ATM = 0x108 -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_NETLINK = 0x10e -+ SOL_PACKET = 0x107 -+ SOL_RAW = 0xff -+ SOL_SOCKET = 0x1 -+ SOL_TCP = 0x6 -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1e -+ SO_ATTACH_FILTER = 0x1a -+ SO_BINDTODEVICE = 0x19 -+ SO_BROADCAST = 0x6 -+ SO_BSDCOMPAT = 0xe -+ SO_DEBUG = 0x1 -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x27 -+ SO_DONTROUTE = 0x5 -+ SO_ERROR = 0x4 -+ SO_KEEPALIVE = 0x9 -+ SO_LINGER = 0xd -+ SO_MARK = 0x24 -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0xa -+ SO_PASSCRED = 0x10 -+ SO_PASSSEC = 0x22 -+ SO_PEERCRED = 0x11 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1f -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x26 -+ SO_RCVBUF = 0x8 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x12 -+ SO_RCVTIMEO = 0x14 -+ SO_REUSEADDR = 0x2 -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SNDBUF = 0x7 -+ SO_SNDBUFFORCE = 0x20 -+ SO_SNDLOWAT = 0x13 -+ SO_SNDTIMEO = 0x15 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x3 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x800 -+ TAB2 = 0x1000 -+ TAB3 = 0x1800 -+ TABDLY = 0x1800 -+ TCFLSH = 0x540b -+ TCGETA = 0x5405 -+ TCGETS = 0x5401 -+ TCGETS2 = 0x802c542a -+ TCGETX = 0x5432 -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CONGESTION = 0xd -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_QUICKACK = 0xc -+ TCP_SYNCNT = 0x7 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x2 -+ TCSBRK = 0x5409 -+ TCSBRKP = 0x5425 -+ TCSETA = 0x5406 -+ TCSETAF = 0x5408 -+ TCSETAW = 0x5407 -+ TCSETS = 0x5402 -+ TCSETS2 = 0x402c542b -+ TCSETSF = 0x5404 -+ TCSETSF2 = 0x402c542d -+ TCSETSW = 0x5403 -+ TCSETSW2 = 0x402c542c -+ TCSETX = 0x5433 -+ TCSETXF = 0x5434 -+ TCSETXW = 0x5435 -+ TCXONC = 0x540a -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x541d -+ TIOCEXCL = 0x540c -+ TIOCGDEV = 0x80045432 -+ TIOCGETD = 0x5424 -+ TIOCGEXCL = 0x80045440 -+ TIOCGICOUNT = 0x545d -+ TIOCGLCKTRMIOS = 0x5456 -+ TIOCGPGRP = 0x540f -+ TIOCGPKT = 0x80045438 -+ TIOCGPTLCK = 0x80045439 -+ TIOCGPTN = 0x80045430 -+ TIOCGRS485 = 0x542e -+ TIOCGSERIAL = 0x541e -+ TIOCGSID = 0x5429 -+ TIOCGSOFTCAR = 0x5419 -+ TIOCGWINSZ = 0x5413 -+ TIOCINQ = 0x541b -+ TIOCLINUX = 0x541c -+ TIOCMBIC = 0x5417 -+ TIOCMBIS = 0x5416 -+ TIOCMGET = 0x5415 -+ TIOCMIWAIT = 0x545c -+ TIOCMSET = 0x5418 -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x5422 -+ TIOCNXCL = 0x540d -+ TIOCOUTQ = 0x5411 -+ TIOCPKT = 0x5420 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x540e -+ TIOCSERCONFIG = 0x5453 -+ TIOCSERGETLSR = 0x5459 -+ TIOCSERGETMULTI = 0x545a -+ TIOCSERGSTRUCT = 0x5458 -+ TIOCSERGWILD = 0x5454 -+ TIOCSERSETMULTI = 0x545b -+ TIOCSERSWILD = 0x5455 -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x5423 -+ TIOCSIG = 0x40045436 -+ TIOCSLCKTRMIOS = 0x5457 -+ TIOCSPGRP = 0x5410 -+ TIOCSPTLCK = 0x40045431 -+ TIOCSRS485 = 0x542f -+ TIOCSSERIAL = 0x541f -+ TIOCSSOFTCAR = 0x541a -+ TIOCSTI = 0x5412 -+ TIOCSWINSZ = 0x5414 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x100 -+ TUNATTACHFILTER = 0x400854d5 -+ TUNDETACHFILTER = 0x400854d6 -+ TUNGETFEATURES = 0x800454cf -+ TUNGETIFF = 0x800454d2 -+ TUNGETSNDBUF = 0x800454d3 -+ TUNGETVNETHDRSZ = 0x800454d7 -+ TUNSETDEBUG = 0x400454c9 -+ TUNSETGROUP = 0x400454ce -+ TUNSETIFF = 0x400454ca -+ TUNSETLINK = 0x400454cd -+ TUNSETNOCSUM = 0x400454c8 -+ TUNSETOFFLOAD = 0x400454d0 -+ TUNSETOWNER = 0x400454cc -+ TUNSETPERSIST = 0x400454cb -+ TUNSETSNDBUF = 0x400454d4 -+ TUNSETTXFILTER = 0x400454d1 -+ TUNSETVNETHDRSZ = 0x400454d8 -+ VDISCARD = 0xd -+ VEOF = 0x4 -+ VEOL = 0xb -+ VEOL2 = 0x10 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x6 -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x20 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XCASE = 0x4 -+ XTABS = 0x1800 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x62) -+ EADDRNOTAVAIL = syscall.Errno(0x63) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x61) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x72) -+ EBADE = syscall.Errno(0x34) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x4d) -+ EBADMSG = syscall.Errno(0x4a) -+ EBADR = syscall.Errno(0x35) -+ EBADRQC = syscall.Errno(0x38) -+ EBADSLT = syscall.Errno(0x39) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x7d) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x2c) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x67) -+ ECONNREFUSED = syscall.Errno(0x6f) -+ ECONNRESET = syscall.Errno(0x68) -+ EDEADLK = syscall.Errno(0x23) -+ EDEADLOCK = syscall.Errno(0x23) -+ EDESTADDRREQ = syscall.Errno(0x59) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x7a) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x70) -+ EHOSTUNREACH = syscall.Errno(0x71) -+ EHWPOISON = syscall.Errno(0x85) -+ EIDRM = syscall.Errno(0x2b) -+ EILSEQ = syscall.Errno(0x54) -+ EINPROGRESS = syscall.Errno(0x73) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x6a) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x78) -+ EKEYEXPIRED = syscall.Errno(0x7f) -+ EKEYREJECTED = syscall.Errno(0x81) -+ EKEYREVOKED = syscall.Errno(0x80) -+ EL2HLT = syscall.Errno(0x33) -+ EL2NSYNC = syscall.Errno(0x2d) -+ EL3HLT = syscall.Errno(0x2e) -+ EL3RST = syscall.Errno(0x2f) -+ ELIBACC = syscall.Errno(0x4f) -+ ELIBBAD = syscall.Errno(0x50) -+ ELIBEXEC = syscall.Errno(0x53) -+ ELIBMAX = syscall.Errno(0x52) -+ ELIBSCN = syscall.Errno(0x51) -+ ELNRNG = syscall.Errno(0x30) -+ ELOOP = syscall.Errno(0x28) -+ EMEDIUMTYPE = syscall.Errno(0x7c) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x5a) -+ EMULTIHOP = syscall.Errno(0x48) -+ ENAMETOOLONG = syscall.Errno(0x24) -+ ENAVAIL = syscall.Errno(0x77) -+ ENETDOWN = syscall.Errno(0x64) -+ ENETRESET = syscall.Errno(0x66) -+ ENETUNREACH = syscall.Errno(0x65) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x37) -+ ENOBUFS = syscall.Errno(0x69) -+ ENOCSI = syscall.Errno(0x32) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0x7e) -+ ENOLCK = syscall.Errno(0x25) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x7b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x2a) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x5c) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x26) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x6b) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x27) -+ ENOTNAM = syscall.Errno(0x76) -+ ENOTRECOVERABLE = syscall.Errno(0x83) -+ ENOTSOCK = syscall.Errno(0x58) -+ ENOTSUP = syscall.Errno(0x5f) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x4c) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x5f) -+ EOVERFLOW = syscall.Errno(0x4b) -+ EOWNERDEAD = syscall.Errno(0x82) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x60) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x5d) -+ EPROTOTYPE = syscall.Errno(0x5b) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x4e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x79) -+ ERESTART = syscall.Errno(0x55) -+ ERFKILL = syscall.Errno(0x84) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x6c) -+ ESOCKTNOSUPPORT = syscall.Errno(0x5e) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x74) -+ ESTRPIPE = syscall.Errno(0x56) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x6e) -+ ETOOMANYREFS = syscall.Errno(0x6d) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x75) -+ EUNATCH = syscall.Errno(0x31) -+ EUSERS = syscall.Errno(0x57) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x36) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0x7) -+ SIGCHLD = syscall.Signal(0x11) -+ SIGCLD = syscall.Signal(0x11) -+ SIGCONT = syscall.Signal(0x12) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x1d) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x1d) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x1e) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTKFLT = syscall.Signal(0x10) -+ SIGSTOP = syscall.Signal(0x13) -+ SIGSYS = syscall.Signal(0x1f) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x14) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGUNUSED = syscall.Signal(0x1f) -+ SIGURG = syscall.Signal(0x17) -+ SIGUSR1 = syscall.Signal(0xa) -+ SIGUSR2 = syscall.Signal(0xc) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "resource deadlock avoided", -+ 36: "file name too long", -+ 37: "no locks available", -+ 38: "function not implemented", -+ 39: "directory not empty", -+ 40: "too many levels of symbolic links", -+ 42: "no message of desired type", -+ 43: "identifier removed", -+ 44: "channel number out of range", -+ 45: "level 2 not synchronized", -+ 46: "level 3 halted", -+ 47: "level 3 reset", -+ 48: "link number out of range", -+ 49: "protocol driver not attached", -+ 50: "no CSI structure available", -+ 51: "level 2 halted", -+ 52: "invalid exchange", -+ 53: "invalid request descriptor", -+ 54: "exchange full", -+ 55: "no anode", -+ 56: "invalid request code", -+ 57: "invalid slot", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 72: "multihop attempted", -+ 73: "RFS specific error", -+ 74: "bad message", -+ 75: "value too large for defined data type", -+ 76: "name not unique on network", -+ 77: "file descriptor in bad state", -+ 78: "remote address changed", -+ 79: "can not access a needed shared library", -+ 80: "accessing a corrupted shared library", -+ 81: ".lib section in a.out corrupted", -+ 82: "attempting to link in too many shared libraries", -+ 83: "cannot exec a shared library directly", -+ 84: "invalid or incomplete multibyte or wide character", -+ 85: "interrupted system call should be restarted", -+ 86: "streams pipe error", -+ 87: "too many users", -+ 88: "socket operation on non-socket", -+ 89: "destination address required", -+ 90: "message too long", -+ 91: "protocol wrong type for socket", -+ 92: "protocol not available", -+ 93: "protocol not supported", -+ 94: "socket type not supported", -+ 95: "operation not supported", -+ 96: "protocol family not supported", -+ 97: "address family not supported by protocol", -+ 98: "address already in use", -+ 99: "cannot assign requested address", -+ 100: "network is down", -+ 101: "network is unreachable", -+ 102: "network dropped connection on reset", -+ 103: "software caused connection abort", -+ 104: "connection reset by peer", -+ 105: "no buffer space available", -+ 106: "transport endpoint is already connected", -+ 107: "transport endpoint is not connected", -+ 108: "cannot send after transport endpoint shutdown", -+ 109: "too many references: cannot splice", -+ 110: "connection timed out", -+ 111: "connection refused", -+ 112: "host is down", -+ 113: "no route to host", -+ 114: "operation already in progress", -+ 115: "operation now in progress", -+ 116: "stale NFS file handle", -+ 117: "structure needs cleaning", -+ 118: "not a XENIX named type file", -+ 119: "no XENIX semaphores available", -+ 120: "is a named type file", -+ 121: "remote I/O error", -+ 122: "disk quota exceeded", -+ 123: "no medium found", -+ 124: "wrong medium type", -+ 125: "operation canceled", -+ 126: "required key not available", -+ 127: "key has expired", -+ 128: "key has been revoked", -+ 129: "key was rejected by service", -+ 130: "owner died", -+ 131: "state not recoverable", -+ 132: "operation not possible due to RF-kill", -+ 133: "unknown error 133", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "bus error", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "user defined signal 1", -+ 11: "segmentation fault", -+ 12: "user defined signal 2", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "stack fault", -+ 17: "child exited", -+ 18: "continued", -+ 19: "stopped (signal)", -+ 20: "stopped", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "urgent I/O condition", -+ 24: "CPU time limit exceeded", -+ 25: "file size limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window changed", -+ 29: "I/O possible", -+ 30: "power failure", -+ 31: "bad system call", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go -new file mode 100644 -index 0000000..16a18f5 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go -@@ -0,0 +1,1967 @@ -+// mkerrors.sh -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build arm64,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x29 -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802154_MONITOR = 0x325 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IP6GRE = 0x337 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETLINK = 0x338 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x1008 -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x1009 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100a -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100b -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B2500000 = 0x100c -+ B300 = 0x7 -+ B3000000 = 0x100d -+ B3500000 = 0x100e -+ B38400 = 0xf -+ B4000000 = 0x100f -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x1005 -+ B57600 = 0x1001 -+ B576000 = 0x1006 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x1007 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1000 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MOD = 0x90 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XOR = 0xa0 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x2000 -+ BSDLY = 0x2000 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_ID_BITS = 0x1d -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_ID_BITS = 0xb -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0x100f -+ CBAUDEX = 0x1000 -+ CFLUSH = 0xf -+ CIBAUD = 0x100f0000 -+ CLOCAL = 0x800 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CR0 = 0x0 -+ CR1 = 0x200 -+ CR2 = 0x400 -+ CR3 = 0x600 -+ CRDLY = 0x600 -+ CREAD = 0x80 -+ CRTSCTS = 0x80000000 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ ELF_NGREG = 0x22 -+ ELF_PRARGSZ = 0x50 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWAKEUP = 0x20000000 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_802_3_MIN = 0x600 -+ ETH_P_802_EX1 = 0x88b5 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BATMAN = 0x4305 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CANFD = 0xd -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_MVRP = 0x88f5 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PRP = 0x88fb -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x1000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0x5 -+ F_GETLK64 = 0x5 -+ F_GETOWN = 0x9 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x6 -+ F_SETLK64 = 0x6 -+ F_SETLKW = 0x7 -+ F_SETLKW64 = 0x7 -+ F_SETOWN = 0x8 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x400 -+ IBSHIFT = 0x10 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x8000 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_NODAD = 0x2 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x7 -+ IFF_802_1Q_VLAN = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_ATTACH_QUEUE = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BONDING = 0x20 -+ IFF_BRIDGE_PORT = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DETACH_QUEUE = 0x400 -+ IFF_DISABLE_NETPOLL = 0x1000 -+ IFF_DONT_BRIDGE = 0x800 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_EBRIDGE = 0x2 -+ IFF_ECHO = 0x40000 -+ IFF_ISATAP = 0x80 -+ IFF_LIVE_ADDR_CHANGE = 0x100000 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MACVLAN = 0x200000 -+ IFF_MACVLAN_PORT = 0x2000 -+ IFF_MASTER = 0x400 -+ IFF_MASTER_8023AD = 0x8 -+ IFF_MASTER_ALB = 0x10 -+ IFF_MASTER_ARPMON = 0x100 -+ IFF_MULTICAST = 0x1000 -+ IFF_MULTI_QUEUE = 0x100 -+ IFF_NOARP = 0x80 -+ IFF_NOFILTER = 0x1000 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_OVS_DATAPATH = 0x8000 -+ IFF_PERSIST = 0x800 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_SLAVE_INACTIVE = 0x4 -+ IFF_SLAVE_NEEDARP = 0x40 -+ IFF_SUPP_NOFCS = 0x80000 -+ IFF_TAP = 0x2 -+ IFF_TEAM_PORT = 0x40000 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_TX_SKB_SHARING = 0x10000 -+ IFF_UNICAST_FLT = 0x20000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFF_WAN_HDLC = 0x200 -+ IFF_XMIT_DST_RELEASE = 0x400 -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x800 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_BEETPH = 0x5e -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_UNICAST_IF = 0x32 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IUCLC = 0x200 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DODUMP = 0x11 -+ MADV_DOFORK = 0xb -+ MADV_DONTDUMP = 0x10 -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x20 -+ MAP_ANONYMOUS = 0x20 -+ MAP_DENYWRITE = 0x800 -+ MAP_EXECUTABLE = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x100 -+ MAP_HUGETLB = 0x40000 -+ MAP_HUGE_MASK = 0x3f -+ MAP_HUGE_SHIFT = 0x1a -+ MAP_LOCKED = 0x2000 -+ MAP_NONBLOCK = 0x10000 -+ MAP_NORESERVE = 0x4000 -+ MAP_POPULATE = 0x8000 -+ MAP_PRIVATE = 0x2 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x20000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CAP_ACK = 0xa -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_LISTEN_ALL_NSID = 0x8 -+ NETLINK_LIST_MEMBERSHIPS = 0x9 -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x100 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x2 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x400 -+ O_ASYNC = 0x2000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x40 -+ O_DIRECT = 0x10000 -+ O_DIRECTORY = 0x4000 -+ O_DSYNC = 0x1000 -+ O_EXCL = 0x80 -+ O_FSYNC = 0x101000 -+ O_LARGEFILE = 0x0 -+ O_NDELAY = 0x800 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x100 -+ O_NOFOLLOW = 0x8000 -+ O_NONBLOCK = 0x800 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x101000 -+ O_SYNC = 0x101000 -+ O_TMPFILE = 0x410000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FANOUT_RND = 0x4 -+ PACKET_FANOUT_ROLLOVER = 0x3 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_HAS_OFF = 0x13 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x100 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_GET_CHILD_SUBREAPER = 0x25 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_TID_ADDRESS = 0x28 -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_SET_CHILD_SUBREAPER = 0x24 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_ARG_END = 0x9 -+ PR_SET_MM_ARG_START = 0x8 -+ PR_SET_MM_AUXV = 0xc -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_ENV_END = 0xb -+ PR_SET_MM_ENV_START = 0xa -+ PR_SET_MM_EXE_FILE = 0xd -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = -0x1 -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GETSIGMASK = 0x420a -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_O_EXITKILL = 0x100000 -+ PTRACE_O_MASK = 0x1000ff -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKSIGINFO = 0x4209 -+ PTRACE_PEEKSIGINFO_SHARED = 0x1 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SETSIGMASK = 0x420b -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TRACEME = 0x0 -+ RLIMIT_AS = 0x9 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x7 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0xf -+ RTAX_MTU = 0x2 -+ RTAX_QUICKACK = 0xf -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x11 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELMDB = 0x55 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMDB = 0x56 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETNETCONF = 0x52 -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x57 -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWMDB = 0x54 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWNETCONF = 0x50 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x12 -+ RTM_NR_MSGTYPES = 0x48 -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MROUTED = 0x11 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SCM_WIFI_STATUS = 0x29 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x8905 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x8904 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x8902 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x2 -+ SOCK_NONBLOCK = 0x800 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_AAL = 0x109 -+ SOL_ATM = 0x108 -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_NETLINK = 0x10e -+ SOL_PACKET = 0x107 -+ SOL_RAW = 0xff -+ SOL_SOCKET = 0x1 -+ SOL_TCP = 0x6 -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1e -+ SO_ATTACH_FILTER = 0x1a -+ SO_BINDTODEVICE = 0x19 -+ SO_BROADCAST = 0x6 -+ SO_BSDCOMPAT = 0xe -+ SO_BUSY_POLL = 0x2e -+ SO_DEBUG = 0x1 -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x27 -+ SO_DONTROUTE = 0x5 -+ SO_ERROR = 0x4 -+ SO_GET_FILTER = 0x1a -+ SO_KEEPALIVE = 0x9 -+ SO_LINGER = 0xd -+ SO_LOCK_FILTER = 0x2c -+ SO_MARK = 0x24 -+ SO_MAX_PACING_RATE = 0x2f -+ SO_NOFCS = 0x2b -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0xa -+ SO_PASSCRED = 0x10 -+ SO_PASSSEC = 0x22 -+ SO_PEEK_OFF = 0x2a -+ SO_PEERCRED = 0x11 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1f -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x26 -+ SO_RCVBUF = 0x8 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x12 -+ SO_RCVTIMEO = 0x14 -+ SO_REUSEADDR = 0x2 -+ SO_REUSEPORT = 0xf -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SELECT_ERR_QUEUE = 0x2d -+ SO_SNDBUF = 0x7 -+ SO_SNDBUFFORCE = 0x20 -+ SO_SNDLOWAT = 0x13 -+ SO_SNDTIMEO = 0x15 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x3 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SO_WIFI_STATUS = 0x29 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x800 -+ TAB2 = 0x1000 -+ TAB3 = 0x1800 -+ TABDLY = 0x1800 -+ TCFLSH = 0x540b -+ TCGETA = 0x5405 -+ TCGETS = 0x5401 -+ TCGETS2 = 0x802c542a -+ TCGETX = 0x5432 -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CONGESTION = 0xd -+ TCP_COOKIE_IN_ALWAYS = 0x1 -+ TCP_COOKIE_MAX = 0x10 -+ TCP_COOKIE_MIN = 0x8 -+ TCP_COOKIE_OUT_NEVER = 0x2 -+ TCP_COOKIE_PAIR_SIZE = 0x20 -+ TCP_COOKIE_TRANSACTIONS = 0xf -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_FASTOPEN = 0x17 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_MSS_DEFAULT = 0x218 -+ TCP_MSS_DESIRED = 0x4c4 -+ TCP_NODELAY = 0x1 -+ TCP_QUEUE_SEQ = 0x15 -+ TCP_QUICKACK = 0xc -+ TCP_REPAIR = 0x13 -+ TCP_REPAIR_OPTIONS = 0x16 -+ TCP_REPAIR_QUEUE = 0x14 -+ TCP_SYNCNT = 0x7 -+ TCP_S_DATA_IN = 0x4 -+ TCP_S_DATA_OUT = 0x8 -+ TCP_THIN_DUPACK = 0x11 -+ TCP_THIN_LINEAR_TIMEOUTS = 0x10 -+ TCP_TIMESTAMP = 0x18 -+ TCP_USER_TIMEOUT = 0x12 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x2 -+ TCSBRK = 0x5409 -+ TCSBRKP = 0x5425 -+ TCSETA = 0x5406 -+ TCSETAF = 0x5408 -+ TCSETAW = 0x5407 -+ TCSETS = 0x5402 -+ TCSETS2 = 0x402c542b -+ TCSETSF = 0x5404 -+ TCSETSF2 = 0x402c542d -+ TCSETSW = 0x5403 -+ TCSETSW2 = 0x402c542c -+ TCSETX = 0x5433 -+ TCSETXF = 0x5434 -+ TCSETXW = 0x5435 -+ TCXONC = 0x540a -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x541d -+ TIOCEXCL = 0x540c -+ TIOCGDEV = 0x80045432 -+ TIOCGETD = 0x5424 -+ TIOCGEXCL = 0x80045440 -+ TIOCGICOUNT = 0x545d -+ TIOCGLCKTRMIOS = 0x5456 -+ TIOCGPGRP = 0x540f -+ TIOCGPKT = 0x80045438 -+ TIOCGPTLCK = 0x80045439 -+ TIOCGPTN = 0x80045430 -+ TIOCGRS485 = 0x542e -+ TIOCGSERIAL = 0x541e -+ TIOCGSID = 0x5429 -+ TIOCGSOFTCAR = 0x5419 -+ TIOCGWINSZ = 0x5413 -+ TIOCINQ = 0x541b -+ TIOCLINUX = 0x541c -+ TIOCMBIC = 0x5417 -+ TIOCMBIS = 0x5416 -+ TIOCMGET = 0x5415 -+ TIOCMIWAIT = 0x545c -+ TIOCMSET = 0x5418 -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x5422 -+ TIOCNXCL = 0x540d -+ TIOCOUTQ = 0x5411 -+ TIOCPKT = 0x5420 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x540e -+ TIOCSERCONFIG = 0x5453 -+ TIOCSERGETLSR = 0x5459 -+ TIOCSERGETMULTI = 0x545a -+ TIOCSERGSTRUCT = 0x5458 -+ TIOCSERGWILD = 0x5454 -+ TIOCSERSETMULTI = 0x545b -+ TIOCSERSWILD = 0x5455 -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x5423 -+ TIOCSIG = 0x40045436 -+ TIOCSLCKTRMIOS = 0x5457 -+ TIOCSPGRP = 0x5410 -+ TIOCSPTLCK = 0x40045431 -+ TIOCSRS485 = 0x542f -+ TIOCSSERIAL = 0x541f -+ TIOCSSOFTCAR = 0x541a -+ TIOCSTI = 0x5412 -+ TIOCSWINSZ = 0x5414 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x100 -+ TUNATTACHFILTER = 0x401054d5 -+ TUNDETACHFILTER = 0x401054d6 -+ TUNGETFEATURES = 0x800454cf -+ TUNGETFILTER = 0x801054db -+ TUNGETIFF = 0x800454d2 -+ TUNGETSNDBUF = 0x800454d3 -+ TUNGETVNETHDRSZ = 0x800454d7 -+ TUNSETDEBUG = 0x400454c9 -+ TUNSETGROUP = 0x400454ce -+ TUNSETIFF = 0x400454ca -+ TUNSETIFINDEX = 0x400454da -+ TUNSETLINK = 0x400454cd -+ TUNSETNOCSUM = 0x400454c8 -+ TUNSETOFFLOAD = 0x400454d0 -+ TUNSETOWNER = 0x400454cc -+ TUNSETPERSIST = 0x400454cb -+ TUNSETQUEUE = 0x400454d9 -+ TUNSETSNDBUF = 0x400454d4 -+ TUNSETTXFILTER = 0x400454d1 -+ TUNSETVNETHDRSZ = 0x400454d8 -+ VDISCARD = 0xd -+ VEOF = 0x4 -+ VEOL = 0xb -+ VEOL2 = 0x10 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x6 -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XCASE = 0x4 -+ XTABS = 0x1800 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x62) -+ EADDRNOTAVAIL = syscall.Errno(0x63) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x61) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x72) -+ EBADE = syscall.Errno(0x34) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x4d) -+ EBADMSG = syscall.Errno(0x4a) -+ EBADR = syscall.Errno(0x35) -+ EBADRQC = syscall.Errno(0x38) -+ EBADSLT = syscall.Errno(0x39) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x7d) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x2c) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x67) -+ ECONNREFUSED = syscall.Errno(0x6f) -+ ECONNRESET = syscall.Errno(0x68) -+ EDEADLK = syscall.Errno(0x23) -+ EDEADLOCK = syscall.Errno(0x23) -+ EDESTADDRREQ = syscall.Errno(0x59) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x7a) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x70) -+ EHOSTUNREACH = syscall.Errno(0x71) -+ EHWPOISON = syscall.Errno(0x85) -+ EIDRM = syscall.Errno(0x2b) -+ EILSEQ = syscall.Errno(0x54) -+ EINPROGRESS = syscall.Errno(0x73) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x6a) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x78) -+ EKEYEXPIRED = syscall.Errno(0x7f) -+ EKEYREJECTED = syscall.Errno(0x81) -+ EKEYREVOKED = syscall.Errno(0x80) -+ EL2HLT = syscall.Errno(0x33) -+ EL2NSYNC = syscall.Errno(0x2d) -+ EL3HLT = syscall.Errno(0x2e) -+ EL3RST = syscall.Errno(0x2f) -+ ELIBACC = syscall.Errno(0x4f) -+ ELIBBAD = syscall.Errno(0x50) -+ ELIBEXEC = syscall.Errno(0x53) -+ ELIBMAX = syscall.Errno(0x52) -+ ELIBSCN = syscall.Errno(0x51) -+ ELNRNG = syscall.Errno(0x30) -+ ELOOP = syscall.Errno(0x28) -+ EMEDIUMTYPE = syscall.Errno(0x7c) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x5a) -+ EMULTIHOP = syscall.Errno(0x48) -+ ENAMETOOLONG = syscall.Errno(0x24) -+ ENAVAIL = syscall.Errno(0x77) -+ ENETDOWN = syscall.Errno(0x64) -+ ENETRESET = syscall.Errno(0x66) -+ ENETUNREACH = syscall.Errno(0x65) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x37) -+ ENOBUFS = syscall.Errno(0x69) -+ ENOCSI = syscall.Errno(0x32) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0x7e) -+ ENOLCK = syscall.Errno(0x25) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x7b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x2a) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x5c) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x26) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x6b) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x27) -+ ENOTNAM = syscall.Errno(0x76) -+ ENOTRECOVERABLE = syscall.Errno(0x83) -+ ENOTSOCK = syscall.Errno(0x58) -+ ENOTSUP = syscall.Errno(0x5f) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x4c) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x5f) -+ EOVERFLOW = syscall.Errno(0x4b) -+ EOWNERDEAD = syscall.Errno(0x82) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x60) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x5d) -+ EPROTOTYPE = syscall.Errno(0x5b) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x4e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x79) -+ ERESTART = syscall.Errno(0x55) -+ ERFKILL = syscall.Errno(0x84) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x6c) -+ ESOCKTNOSUPPORT = syscall.Errno(0x5e) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x74) -+ ESTRPIPE = syscall.Errno(0x56) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x6e) -+ ETOOMANYREFS = syscall.Errno(0x6d) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x75) -+ EUNATCH = syscall.Errno(0x31) -+ EUSERS = syscall.Errno(0x57) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x36) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0x7) -+ SIGCHLD = syscall.Signal(0x11) -+ SIGCLD = syscall.Signal(0x11) -+ SIGCONT = syscall.Signal(0x12) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x1d) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x1d) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x1e) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTKFLT = syscall.Signal(0x10) -+ SIGSTOP = syscall.Signal(0x13) -+ SIGSYS = syscall.Signal(0x1f) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x14) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGUNUSED = syscall.Signal(0x1f) -+ SIGURG = syscall.Signal(0x17) -+ SIGUSR1 = syscall.Signal(0xa) -+ SIGUSR2 = syscall.Signal(0xc) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "resource deadlock avoided", -+ 36: "file name too long", -+ 37: "no locks available", -+ 38: "function not implemented", -+ 39: "directory not empty", -+ 40: "too many levels of symbolic links", -+ 42: "no message of desired type", -+ 43: "identifier removed", -+ 44: "channel number out of range", -+ 45: "level 2 not synchronized", -+ 46: "level 3 halted", -+ 47: "level 3 reset", -+ 48: "link number out of range", -+ 49: "protocol driver not attached", -+ 50: "no CSI structure available", -+ 51: "level 2 halted", -+ 52: "invalid exchange", -+ 53: "invalid request descriptor", -+ 54: "exchange full", -+ 55: "no anode", -+ 56: "invalid request code", -+ 57: "invalid slot", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 72: "multihop attempted", -+ 73: "RFS specific error", -+ 74: "bad message", -+ 75: "value too large for defined data type", -+ 76: "name not unique on network", -+ 77: "file descriptor in bad state", -+ 78: "remote address changed", -+ 79: "can not access a needed shared library", -+ 80: "accessing a corrupted shared library", -+ 81: ".lib section in a.out corrupted", -+ 82: "attempting to link in too many shared libraries", -+ 83: "cannot exec a shared library directly", -+ 84: "invalid or incomplete multibyte or wide character", -+ 85: "interrupted system call should be restarted", -+ 86: "streams pipe error", -+ 87: "too many users", -+ 88: "socket operation on non-socket", -+ 89: "destination address required", -+ 90: "message too long", -+ 91: "protocol wrong type for socket", -+ 92: "protocol not available", -+ 93: "protocol not supported", -+ 94: "socket type not supported", -+ 95: "operation not supported", -+ 96: "protocol family not supported", -+ 97: "address family not supported by protocol", -+ 98: "address already in use", -+ 99: "cannot assign requested address", -+ 100: "network is down", -+ 101: "network is unreachable", -+ 102: "network dropped connection on reset", -+ 103: "software caused connection abort", -+ 104: "connection reset by peer", -+ 105: "no buffer space available", -+ 106: "transport endpoint is already connected", -+ 107: "transport endpoint is not connected", -+ 108: "cannot send after transport endpoint shutdown", -+ 109: "too many references: cannot splice", -+ 110: "connection timed out", -+ 111: "connection refused", -+ 112: "host is down", -+ 113: "no route to host", -+ 114: "operation already in progress", -+ 115: "operation now in progress", -+ 116: "stale file handle", -+ 117: "structure needs cleaning", -+ 118: "not a XENIX named type file", -+ 119: "no XENIX semaphores available", -+ 120: "is a named type file", -+ 121: "remote I/O error", -+ 122: "disk quota exceeded", -+ 123: "no medium found", -+ 124: "wrong medium type", -+ 125: "operation canceled", -+ 126: "required key not available", -+ 127: "key has expired", -+ 128: "key has been revoked", -+ 129: "key was rejected by service", -+ 130: "owner died", -+ 131: "state not recoverable", -+ 132: "operation not possible due to RF-kill", -+ 133: "memory page has hardware error", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "bus error", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "user defined signal 1", -+ 11: "segmentation fault", -+ 12: "user defined signal 2", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "stack fault", -+ 17: "child exited", -+ 18: "continued", -+ 19: "stopped (signal)", -+ 20: "stopped", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "urgent I/O condition", -+ 24: "CPU time limit exceeded", -+ 25: "file size limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window changed", -+ 29: "I/O possible", -+ 30: "power failure", -+ 31: "bad system call", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go -new file mode 100644 -index 0000000..80e69e4 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go -@@ -0,0 +1,1869 @@ -+// mkerrors.sh -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build mips,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x27 -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x1008 -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x1009 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100a -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100b -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B2500000 = 0x100c -+ B300 = 0x7 -+ B3000000 = 0x100d -+ B3500000 = 0x100e -+ B38400 = 0xf -+ B4000000 = 0x100f -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x1005 -+ B57600 = 0x1001 -+ B576000 = 0x1006 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x1007 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1000 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x2000 -+ BSDLY = 0x2000 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MCNET = 0x5 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0x100f -+ CBAUDEX = 0x1000 -+ CFLUSH = 0xf -+ CIBAUD = 0x100f0000 -+ CLOCAL = 0x800 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CR0 = 0x0 -+ CR1 = 0x200 -+ CR2 = 0x400 -+ CR3 = 0x600 -+ CRDLY = 0x600 -+ CREAD = 0x80 -+ CRTSCTS = 0x80000000 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = -0x80000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ EPOLL_NONBLOCK = 0x80 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x2000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0x21 -+ F_GETLK64 = 0x21 -+ F_GETOWN = 0x17 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x22 -+ F_SETLK64 = 0x22 -+ F_SETLKW = 0x23 -+ F_SETLKW64 = 0x23 -+ F_SETOWN = 0x18 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x400 -+ IBSHIFT = 0x10 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x100 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_NODAD = 0x2 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x7 -+ IFF_802_1Q_VLAN = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BONDING = 0x20 -+ IFF_BRIDGE_PORT = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DISABLE_NETPOLL = 0x1000 -+ IFF_DONT_BRIDGE = 0x800 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_EBRIDGE = 0x2 -+ IFF_ECHO = 0x40000 -+ IFF_ISATAP = 0x80 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MACVLAN_PORT = 0x2000 -+ IFF_MASTER = 0x400 -+ IFF_MASTER_8023AD = 0x8 -+ IFF_MASTER_ALB = 0x10 -+ IFF_MASTER_ARPMON = 0x100 -+ IFF_MULTICAST = 0x1000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_OVS_DATAPATH = 0x8000 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_SLAVE_INACTIVE = 0x4 -+ IFF_SLAVE_NEEDARP = 0x40 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_TX_SKB_SHARING = 0x10000 -+ IFF_UNICAST_FLT = 0x20000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFF_WAN_HDLC = 0x200 -+ IFF_XMIT_DST_RELEASE = 0x400 -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x80 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IUCLC = 0x200 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DOFORK = 0xb -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x800 -+ MAP_ANONYMOUS = 0x800 -+ MAP_DENYWRITE = 0x2000 -+ MAP_EXECUTABLE = 0x4000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x1000 -+ MAP_LOCKED = 0x8000 -+ MAP_NONBLOCK = 0x20000 -+ MAP_NORESERVE = 0x400 -+ MAP_POPULATE = 0x10000 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x800 -+ MAP_SHARED = 0x1 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CAP_ACK = 0xa -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_LISTEN_ALL_NSID = 0x8 -+ NETLINK_LIST_MEMBERSHIPS = 0x9 -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x100 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x2 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x1000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x100 -+ O_DIRECT = 0x8000 -+ O_DIRECTORY = 0x10000 -+ O_DSYNC = 0x10 -+ O_EXCL = 0x400 -+ O_FSYNC = 0x4010 -+ O_LARGEFILE = 0x2000 -+ O_NDELAY = 0x80 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x800 -+ O_NOFOLLOW = 0x20000 -+ O_NONBLOCK = 0x80 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x4010 -+ O_SYNC = 0x4010 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x100 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_NAME = 0xf -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_STOP = 0x7 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETFPREGS = 0xe -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GET_THREAD_AREA = 0x19 -+ PTRACE_GET_THREAD_AREA_3264 = 0xc4 -+ PTRACE_GET_WATCH_REGS = 0xd0 -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_OLDSETOPTIONS = 0x15 -+ PTRACE_O_MASK = 0x7f -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKDATA_3264 = 0xc1 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKTEXT_3264 = 0xc0 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKEDATA_3264 = 0xc3 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKETEXT_3264 = 0xc2 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SEIZE_DEVEL = 0x80000000 -+ PTRACE_SETFPREGS = 0xf -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SET_THREAD_AREA = 0x1a -+ PTRACE_SET_WATCH_REGS = 0xd1 -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TRACEME = 0x0 -+ RLIMIT_AS = 0x6 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x5 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_ADVMSS = 0x8 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0xe -+ RTAX_MTU = 0x2 -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x10 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x4f -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x10 -+ RTM_NR_MSGTYPES = 0x40 -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x40047307 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x40047309 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x80047308 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x1 -+ SOCK_NONBLOCK = 0x80 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x2 -+ SOL_AAL = 0x109 -+ SOL_ATM = 0x108 -+ SOL_CAN_BASE = 0x64 -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_NETLINK = 0x10e -+ SOL_PACKET = 0x107 -+ SOL_RAW = 0xff -+ SOL_SOCKET = 0xffff -+ SOL_TCP = 0x6 -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1009 -+ SO_ATTACH_FILTER = 0x1a -+ SO_BINDTODEVICE = 0x19 -+ SO_BROADCAST = 0x20 -+ SO_BSDCOMPAT = 0xe -+ SO_DEBUG = 0x1 -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x1029 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_MARK = 0x24 -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0x100 -+ SO_PASSCRED = 0x11 -+ SO_PASSSEC = 0x22 -+ SO_PEERCRED = 0x12 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1e -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x1028 -+ SO_RCVBUF = 0x1002 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SNDBUF = 0x1001 -+ SO_SNDBUFFORCE = 0x1f -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_STYLE = 0x1008 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x1008 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x800 -+ TAB2 = 0x1000 -+ TAB3 = 0x1800 -+ TABDLY = 0x1800 -+ TCFLSH = 0x5407 -+ TCGETA = 0x5401 -+ TCGETS = 0x540d -+ TCGETS2 = 0x4030542a -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CONGESTION = 0xd -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_QUICKACK = 0xc -+ TCP_SYNCNT = 0x7 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x5410 -+ TCSBRK = 0x5405 -+ TCSBRKP = 0x5486 -+ TCSETA = 0x5402 -+ TCSETAF = 0x5404 -+ TCSETAW = 0x5403 -+ TCSETS = 0x540e -+ TCSETS2 = 0x8030542b -+ TCSETSF = 0x5410 -+ TCSETSF2 = 0x8030542d -+ TCSETSW = 0x540f -+ TCSETSW2 = 0x8030542c -+ TCXONC = 0x5406 -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x80047478 -+ TIOCEXCL = 0x740d -+ TIOCGDEV = 0x40045432 -+ TIOCGETD = 0x7400 -+ TIOCGETP = 0x7408 -+ TIOCGICOUNT = 0x5492 -+ TIOCGLCKTRMIOS = 0x548b -+ TIOCGLTC = 0x7474 -+ TIOCGPGRP = 0x40047477 -+ TIOCGPTN = 0x40045430 -+ TIOCGSERIAL = 0x5484 -+ TIOCGSID = 0x7416 -+ TIOCGSOFTCAR = 0x5481 -+ TIOCGWINSZ = 0x40087468 -+ TIOCINQ = 0x467f -+ TIOCLINUX = 0x5483 -+ TIOCMBIC = 0x741c -+ TIOCMBIS = 0x741b -+ TIOCMGET = 0x741d -+ TIOCMIWAIT = 0x5491 -+ TIOCMSET = 0x741a -+ TIOCM_CAR = 0x100 -+ TIOCM_CD = 0x100 -+ TIOCM_CTS = 0x40 -+ TIOCM_DSR = 0x400 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x200 -+ TIOCM_RNG = 0x200 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x20 -+ TIOCM_ST = 0x10 -+ TIOCNOTTY = 0x5471 -+ TIOCNXCL = 0x740e -+ TIOCOUTQ = 0x7472 -+ TIOCPKT = 0x5470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x5480 -+ TIOCSERCONFIG = 0x5488 -+ TIOCSERGETLSR = 0x548e -+ TIOCSERGETMULTI = 0x548f -+ TIOCSERGSTRUCT = 0x548d -+ TIOCSERGWILD = 0x5489 -+ TIOCSERSETMULTI = 0x5490 -+ TIOCSERSWILD = 0x548a -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x7401 -+ TIOCSETN = 0x740a -+ TIOCSETP = 0x7409 -+ TIOCSIG = 0x80045436 -+ TIOCSLCKTRMIOS = 0x548c -+ TIOCSLTC = 0x7475 -+ TIOCSPGRP = 0x80047476 -+ TIOCSPTLCK = 0x80045431 -+ TIOCSSERIAL = 0x5485 -+ TIOCSSOFTCAR = 0x5482 -+ TIOCSTI = 0x5472 -+ TIOCSWINSZ = 0x80087467 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x8000 -+ TUNATTACHFILTER = 0x800854d5 -+ TUNDETACHFILTER = 0x800854d6 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNSETDEBUG = 0x800454c9 -+ TUNSETGROUP = 0x800454ce -+ TUNSETIFF = 0x800454ca -+ TUNSETLINK = 0x800454cd -+ TUNSETNOCSUM = 0x800454c8 -+ TUNSETOFFLOAD = 0x800454d0 -+ TUNSETOWNER = 0x800454cc -+ TUNSETPERSIST = 0x800454cb -+ TUNSETSNDBUF = 0x800454d4 -+ TUNSETTXFILTER = 0x800454d1 -+ TUNSETVNETHDRSZ = 0x800454d8 -+ VDISCARD = 0xd -+ VEOF = 0x10 -+ VEOL = 0x11 -+ VEOL2 = 0x6 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x4 -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VSWTCH = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x20 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XCASE = 0x4 -+ XTABS = 0x1800 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x7d) -+ EADDRNOTAVAIL = syscall.Errno(0x7e) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x7c) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x95) -+ EBADE = syscall.Errno(0x32) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x51) -+ EBADMSG = syscall.Errno(0x4d) -+ EBADR = syscall.Errno(0x33) -+ EBADRQC = syscall.Errno(0x36) -+ EBADSLT = syscall.Errno(0x37) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x9e) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x25) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x82) -+ ECONNREFUSED = syscall.Errno(0x92) -+ ECONNRESET = syscall.Errno(0x83) -+ EDEADLK = syscall.Errno(0x2d) -+ EDEADLOCK = syscall.Errno(0x38) -+ EDESTADDRREQ = syscall.Errno(0x60) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x46d) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x93) -+ EHOSTUNREACH = syscall.Errno(0x94) -+ EHWPOISON = syscall.Errno(0xa8) -+ EIDRM = syscall.Errno(0x24) -+ EILSEQ = syscall.Errno(0x58) -+ EINIT = syscall.Errno(0x8d) -+ EINPROGRESS = syscall.Errno(0x96) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x85) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x8b) -+ EKEYEXPIRED = syscall.Errno(0xa2) -+ EKEYREJECTED = syscall.Errno(0xa4) -+ EKEYREVOKED = syscall.Errno(0xa3) -+ EL2HLT = syscall.Errno(0x2c) -+ EL2NSYNC = syscall.Errno(0x26) -+ EL3HLT = syscall.Errno(0x27) -+ EL3RST = syscall.Errno(0x28) -+ ELIBACC = syscall.Errno(0x53) -+ ELIBBAD = syscall.Errno(0x54) -+ ELIBEXEC = syscall.Errno(0x57) -+ ELIBMAX = syscall.Errno(0x56) -+ ELIBSCN = syscall.Errno(0x55) -+ ELNRNG = syscall.Errno(0x29) -+ ELOOP = syscall.Errno(0x5a) -+ EMEDIUMTYPE = syscall.Errno(0xa0) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x61) -+ EMULTIHOP = syscall.Errno(0x4a) -+ ENAMETOOLONG = syscall.Errno(0x4e) -+ ENAVAIL = syscall.Errno(0x8a) -+ ENETDOWN = syscall.Errno(0x7f) -+ ENETRESET = syscall.Errno(0x81) -+ ENETUNREACH = syscall.Errno(0x80) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x35) -+ ENOBUFS = syscall.Errno(0x84) -+ ENOCSI = syscall.Errno(0x2b) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0xa1) -+ ENOLCK = syscall.Errno(0x2e) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x9f) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x23) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x63) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x59) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x86) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x5d) -+ ENOTNAM = syscall.Errno(0x89) -+ ENOTRECOVERABLE = syscall.Errno(0xa6) -+ ENOTSOCK = syscall.Errno(0x5f) -+ ENOTSUP = syscall.Errno(0x7a) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x50) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x7a) -+ EOVERFLOW = syscall.Errno(0x4f) -+ EOWNERDEAD = syscall.Errno(0xa5) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x7b) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x78) -+ EPROTOTYPE = syscall.Errno(0x62) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x52) -+ EREMDEV = syscall.Errno(0x8e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x8c) -+ ERESTART = syscall.Errno(0x5b) -+ ERFKILL = syscall.Errno(0xa7) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x8f) -+ ESOCKTNOSUPPORT = syscall.Errno(0x79) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x97) -+ ESTRPIPE = syscall.Errno(0x5c) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x91) -+ ETOOMANYREFS = syscall.Errno(0x90) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x87) -+ EUNATCH = syscall.Errno(0x2a) -+ EUSERS = syscall.Errno(0x5e) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x34) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x12) -+ SIGCLD = syscall.Signal(0x12) -+ SIGCONT = syscall.Signal(0x19) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x16) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x16) -+ SIGPROF = syscall.Signal(0x1d) -+ SIGPWR = syscall.Signal(0x13) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x17) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x18) -+ SIGTTIN = syscall.Signal(0x1a) -+ SIGTTOU = syscall.Signal(0x1b) -+ SIGURG = syscall.Signal(0x15) -+ SIGUSR1 = syscall.Signal(0x10) -+ SIGUSR2 = syscall.Signal(0x11) -+ SIGVTALRM = syscall.Signal(0x1c) -+ SIGWINCH = syscall.Signal(0x14) -+ SIGXCPU = syscall.Signal(0x1e) -+ SIGXFSZ = syscall.Signal(0x1f) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "no message of desired type", -+ 36: "identifier removed", -+ 37: "channel number out of range", -+ 38: "level 2 not synchronized", -+ 39: "level 3 halted", -+ 40: "level 3 reset", -+ 41: "link number out of range", -+ 42: "protocol driver not attached", -+ 43: "no CSI structure available", -+ 44: "level 2 halted", -+ 45: "resource deadlock avoided", -+ 46: "no locks available", -+ 50: "invalid exchange", -+ 51: "invalid request descriptor", -+ 52: "exchange full", -+ 53: "no anode", -+ 54: "invalid request code", -+ 55: "invalid slot", -+ 56: "file locking deadlock error", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 73: "RFS specific error", -+ 74: "multihop attempted", -+ 77: "bad message", -+ 78: "file name too long", -+ 79: "value too large for defined data type", -+ 80: "name not unique on network", -+ 81: "file descriptor in bad state", -+ 82: "remote address changed", -+ 83: "can not access a needed shared library", -+ 84: "accessing a corrupted shared library", -+ 85: ".lib section in a.out corrupted", -+ 86: "attempting to link in too many shared libraries", -+ 87: "cannot exec a shared library directly", -+ 88: "invalid or incomplete multibyte or wide character", -+ 89: "function not implemented", -+ 90: "too many levels of symbolic links", -+ 91: "interrupted system call should be restarted", -+ 92: "streams pipe error", -+ 93: "directory not empty", -+ 94: "too many users", -+ 95: "socket operation on non-socket", -+ 96: "destination address required", -+ 97: "message too long", -+ 98: "protocol wrong type for socket", -+ 99: "protocol not available", -+ 120: "protocol not supported", -+ 121: "socket type not supported", -+ 122: "operation not supported", -+ 123: "protocol family not supported", -+ 124: "address family not supported by protocol", -+ 125: "address already in use", -+ 126: "cannot assign requested address", -+ 127: "network is down", -+ 128: "network is unreachable", -+ 129: "network dropped connection on reset", -+ 130: "software caused connection abort", -+ 131: "connection reset by peer", -+ 132: "no buffer space available", -+ 133: "transport endpoint is already connected", -+ 134: "transport endpoint is not connected", -+ 135: "structure needs cleaning", -+ 137: "not a XENIX named type file", -+ 138: "no XENIX semaphores available", -+ 139: "is a named type file", -+ 140: "remote I/O error", -+ 141: "unknown error 141", -+ 142: "unknown error 142", -+ 143: "cannot send after transport endpoint shutdown", -+ 144: "too many references: cannot splice", -+ 145: "connection timed out", -+ 146: "connection refused", -+ 147: "host is down", -+ 148: "no route to host", -+ 149: "operation already in progress", -+ 150: "operation now in progress", -+ 151: "stale NFS file handle", -+ 158: "operation canceled", -+ 159: "no medium found", -+ 160: "wrong medium type", -+ 161: "required key not available", -+ 162: "key has expired", -+ 163: "key has been revoked", -+ 164: "key was rejected by service", -+ 165: "owner died", -+ 166: "state not recoverable", -+ 167: "operation not possible due to RF-kill", -+ 168: "unknown error 168", -+ 1133: "disk quota exceeded", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "user defined signal 1", -+ 17: "user defined signal 2", -+ 18: "child exited", -+ 19: "power failure", -+ 20: "window changed", -+ 21: "urgent I/O condition", -+ 22: "I/O possible", -+ 23: "stopped (signal)", -+ 24: "stopped", -+ 25: "continued", -+ 26: "stopped (tty input)", -+ 27: "stopped (tty output)", -+ 28: "virtual timer expired", -+ 29: "profiling timer expired", -+ 30: "CPU time limit exceeded", -+ 31: "file size limit exceeded", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go -new file mode 100644 -index 0000000..9c91dbf ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go -@@ -0,0 +1,1965 @@ -+// mkerrors.sh -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build mips64,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IB = 0x1b -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x29 -+ AF_MPLS = 0x1c -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_6LOWPAN = 0x339 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802154_MONITOR = 0x325 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IP6GRE = 0x337 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETLINK = 0x338 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x1008 -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x1009 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100a -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100b -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B2500000 = 0x100c -+ B300 = 0x7 -+ B3000000 = 0x100d -+ B3500000 = 0x100e -+ B38400 = 0xf -+ B4000000 = 0x100f -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x1005 -+ B57600 = 0x1001 -+ B576000 = 0x1006 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x1007 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LL_OFF = -0x200000 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MOD = 0x90 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XOR = 0xa0 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x800 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_TAI = 0xb -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CREAD = 0x80 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWAKEUP = 0x20000000 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_80221 = 0x8917 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_802_3_MIN = 0x600 -+ ETH_P_802_EX1 = 0x88b5 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BATMAN = 0x4305 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CANFD = 0xd -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_LOOPBACK = 0x9000 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_MVRP = 0x88f5 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PRP = 0x88fb -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_TSN = 0x22f0 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ ETH_P_XDSA = 0xf8 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x2000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0xe -+ F_GETLK64 = 0xe -+ F_GETOWN = 0x17 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OFD_GETLK = 0x24 -+ F_OFD_SETLK = 0x25 -+ F_OFD_SETLKW = 0x26 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x6 -+ F_SETLK64 = 0x6 -+ F_SETLKW = 0x7 -+ F_SETLKW64 = 0x7 -+ F_SETOWN = 0x18 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x400 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x100 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_MANAGETEMPADDR = 0x100 -+ IFA_F_MCAUTOJOIN = 0x400 -+ IFA_F_NODAD = 0x2 -+ IFA_F_NOPREFIXROUTE = 0x200 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_STABLE_PRIVACY = 0x800 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x8 -+ IFF_ALLMULTI = 0x200 -+ IFF_ATTACH_QUEUE = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DETACH_QUEUE = 0x400 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_ECHO = 0x40000 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MASTER = 0x400 -+ IFF_MULTICAST = 0x1000 -+ IFF_MULTI_QUEUE = 0x100 -+ IFF_NOARP = 0x80 -+ IFF_NOFILTER = 0x1000 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_PERSIST = 0x800 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x80 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_BEETPH = 0x5e -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PATHMTU = 0x3d -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_INTERFACE = 0x4 -+ IPV6_PMTUDISC_OMIT = 0x5 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPATHMTU = 0x3c -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_CHECKSUM = 0x17 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_NODEFRAG = 0x16 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_INTERFACE = 0x4 -+ IP_PMTUDISC_OMIT = 0x5 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_UNICAST_IF = 0x32 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DODUMP = 0x11 -+ MADV_DOFORK = 0xb -+ MADV_DONTDUMP = 0x10 -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x800 -+ MAP_ANONYMOUS = 0x800 -+ MAP_DENYWRITE = 0x2000 -+ MAP_EXECUTABLE = 0x4000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x1000 -+ MAP_HUGETLB = 0x80000 -+ MAP_HUGE_MASK = 0x3f -+ MAP_HUGE_SHIFT = 0x1a -+ MAP_LOCKED = 0x8000 -+ MAP_NONBLOCK = 0x20000 -+ MAP_NORESERVE = 0x400 -+ MAP_POPULATE = 0x10000 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x800 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x40000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_LAZYTIME = 0x2000000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x2800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CAP_ACK = 0xa -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_LISTEN_ALL_NSID = 0x8 -+ NETLINK_LIST_MEMBERSHIPS = 0x9 -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x1000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x100 -+ O_DIRECT = 0x8000 -+ O_DIRECTORY = 0x10000 -+ O_DSYNC = 0x10 -+ O_EXCL = 0x400 -+ O_FSYNC = 0x4010 -+ O_LARGEFILE = 0x0 -+ O_NDELAY = 0x80 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x800 -+ O_NOFOLLOW = 0x20000 -+ O_NONBLOCK = 0x80 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x4010 -+ O_SYNC = 0x4010 -+ O_TMPFILE = 0x410000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CBPF = 0x6 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_DATA = 0x16 -+ PACKET_FANOUT_EBPF = 0x7 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FANOUT_QM = 0x5 -+ PACKET_FANOUT_RND = 0x4 -+ PACKET_FANOUT_ROLLOVER = 0x3 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_KERNEL = 0x7 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_QDISC_BYPASS = 0x14 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_ROLLOVER_STATS = 0x15 -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_HAS_OFF = 0x13 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_USER = 0x6 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x100 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_CAP_AMBIENT = 0x2f -+ PR_CAP_AMBIENT_CLEAR_ALL = 0x4 -+ PR_CAP_AMBIENT_IS_SET = 0x1 -+ PR_CAP_AMBIENT_LOWER = 0x3 -+ PR_CAP_AMBIENT_RAISE = 0x2 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_FP_MODE_FR = 0x1 -+ PR_FP_MODE_FRE = 0x2 -+ PR_GET_CHILD_SUBREAPER = 0x25 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_FP_MODE = 0x2e -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_THP_DISABLE = 0x2a -+ PR_GET_TID_ADDRESS = 0x28 -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_MPX_DISABLE_MANAGEMENT = 0x2c -+ PR_MPX_ENABLE_MANAGEMENT = 0x2b -+ PR_SET_CHILD_SUBREAPER = 0x24 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_FP_MODE = 0x2d -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_ARG_END = 0x9 -+ PR_SET_MM_ARG_START = 0x8 -+ PR_SET_MM_AUXV = 0xc -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_ENV_END = 0xb -+ PR_SET_MM_ENV_START = 0xa -+ PR_SET_MM_EXE_FILE = 0xd -+ PR_SET_MM_MAP = 0xe -+ PR_SET_MM_MAP_SIZE = 0xf -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = -0x1 -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_THP_DISABLE = 0x29 -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETFPREGS = 0xe -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GETSIGMASK = 0x420a -+ PTRACE_GET_THREAD_AREA = 0x19 -+ PTRACE_GET_THREAD_AREA_3264 = 0xc4 -+ PTRACE_GET_WATCH_REGS = 0xd0 -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_OLDSETOPTIONS = 0x15 -+ PTRACE_O_EXITKILL = 0x100000 -+ PTRACE_O_MASK = 0x3000ff -+ PTRACE_O_SUSPEND_SECCOMP = 0x200000 -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKDATA_3264 = 0xc1 -+ PTRACE_PEEKSIGINFO = 0x4209 -+ PTRACE_PEEKSIGINFO_SHARED = 0x1 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKTEXT_3264 = 0xc0 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKEDATA_3264 = 0xc3 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKETEXT_3264 = 0xc2 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SETFPREGS = 0xf -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SETSIGMASK = 0x420b -+ PTRACE_SET_THREAD_AREA = 0x1a -+ PTRACE_SET_WATCH_REGS = 0xd1 -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TRACEME = 0x0 -+ RLIMIT_AS = 0x6 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x5 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CC_ALGO = 0x10 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_MASK = 0xf -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0x10 -+ RTAX_MTU = 0x2 -+ RTAX_QUICKACK = 0xf -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x16 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELMDB = 0x55 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELNSID = 0x59 -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMDB = 0x56 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETNETCONF = 0x52 -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x5b -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWMDB = 0x54 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWNETCONF = 0x50 -+ RTM_NEWNSID = 0x58 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x13 -+ RTM_NR_MSGTYPES = 0x4c -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_COMPARE_MASK = 0x11 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_LINKDOWN = 0x10 -+ RTNH_F_OFFLOAD = 0x8 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BABEL = 0x2a -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MROUTED = 0x11 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SCM_WIFI_STATUS = 0x29 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x40047307 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x40047309 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x80047308 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x1 -+ SOCK_NONBLOCK = 0x80 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x2 -+ SOL_AAL = 0x109 -+ SOL_ATM = 0x108 -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_NETLINK = 0x10e -+ SOL_PACKET = 0x107 -+ SOL_RAW = 0xff -+ SOL_SOCKET = 0xffff -+ SOL_TCP = 0x6 -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1009 -+ SO_ATTACH_BPF = 0x32 -+ SO_ATTACH_FILTER = 0x1a -+ SO_BINDTODEVICE = 0x19 -+ SO_BPF_EXTENSIONS = 0x30 -+ SO_BROADCAST = 0x20 -+ SO_BSDCOMPAT = 0xe -+ SO_BUSY_POLL = 0x2e -+ SO_DEBUG = 0x1 -+ SO_DETACH_BPF = 0x1b -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x1029 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_GET_FILTER = 0x1a -+ SO_INCOMING_CPU = 0x31 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_LOCK_FILTER = 0x2c -+ SO_MARK = 0x24 -+ SO_MAX_PACING_RATE = 0x2f -+ SO_NOFCS = 0x2b -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0x100 -+ SO_PASSCRED = 0x11 -+ SO_PASSSEC = 0x22 -+ SO_PEEK_OFF = 0x2a -+ SO_PEERCRED = 0x12 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1e -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x1028 -+ SO_RCVBUF = 0x1002 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SELECT_ERR_QUEUE = 0x2d -+ SO_SNDBUF = 0x1001 -+ SO_SNDBUFFORCE = 0x1f -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_STYLE = 0x1008 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x1008 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SO_WIFI_STATUS = 0x29 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TCFLSH = 0x5407 -+ TCIFLUSH = 0x0 -+ TCIOFLUSH = 0x2 -+ TCOFLUSH = 0x1 -+ TCP_CONGESTION = 0xd -+ TCP_COOKIE_IN_ALWAYS = 0x1 -+ TCP_COOKIE_MAX = 0x10 -+ TCP_COOKIE_MIN = 0x8 -+ TCP_COOKIE_OUT_NEVER = 0x2 -+ TCP_COOKIE_PAIR_SIZE = 0x20 -+ TCP_COOKIE_TRANSACTIONS = 0xf -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_FASTOPEN = 0x17 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_MSS_DEFAULT = 0x218 -+ TCP_MSS_DESIRED = 0x4c4 -+ TCP_NODELAY = 0x1 -+ TCP_QUEUE_SEQ = 0x15 -+ TCP_QUICKACK = 0xc -+ TCP_REPAIR = 0x13 -+ TCP_REPAIR_OPTIONS = 0x16 -+ TCP_REPAIR_QUEUE = 0x14 -+ TCP_SYNCNT = 0x7 -+ TCP_S_DATA_IN = 0x4 -+ TCP_S_DATA_OUT = 0x8 -+ TCP_THIN_DUPACK = 0x11 -+ TCP_THIN_LINEAR_TIMEOUTS = 0x10 -+ TCP_TIMESTAMP = 0x18 -+ TCP_USER_TIMEOUT = 0x12 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x5410 -+ TCSBRK = 0x5405 -+ TCXONC = 0x5406 -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x80047478 -+ TIOCEXCL = 0x740d -+ TIOCGDEV = 0x40045432 -+ TIOCGETD = 0x7400 -+ TIOCGETP = 0x7408 -+ TIOCGEXCL = 0x40045440 -+ TIOCGICOUNT = 0x5492 -+ TIOCGLCKTRMIOS = 0x548b -+ TIOCGLTC = 0x7474 -+ TIOCGPGRP = 0x40047477 -+ TIOCGPKT = 0x40045438 -+ TIOCGPTLCK = 0x40045439 -+ TIOCGPTN = 0x40045430 -+ TIOCGRS485 = 0x4020542e -+ TIOCGSERIAL = 0x5484 -+ TIOCGSID = 0x7416 -+ TIOCGSOFTCAR = 0x5481 -+ TIOCGWINSZ = 0x40087468 -+ TIOCINQ = 0x467f -+ TIOCLINUX = 0x5483 -+ TIOCMBIC = 0x741c -+ TIOCMBIS = 0x741b -+ TIOCMGET = 0x741d -+ TIOCMIWAIT = 0x5491 -+ TIOCMSET = 0x741a -+ TIOCM_CAR = 0x100 -+ TIOCM_CD = 0x100 -+ TIOCM_CTS = 0x40 -+ TIOCM_DSR = 0x400 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x200 -+ TIOCM_RNG = 0x200 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x20 -+ TIOCM_ST = 0x10 -+ TIOCNOTTY = 0x5471 -+ TIOCNXCL = 0x740e -+ TIOCOUTQ = 0x7472 -+ TIOCPKT = 0x5470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x5480 -+ TIOCSERCONFIG = 0x5488 -+ TIOCSERGETLSR = 0x548e -+ TIOCSERGETMULTI = 0x548f -+ TIOCSERGSTRUCT = 0x548d -+ TIOCSERGWILD = 0x5489 -+ TIOCSERSETMULTI = 0x5490 -+ TIOCSERSWILD = 0x548a -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x7401 -+ TIOCSETN = 0x740a -+ TIOCSETP = 0x7409 -+ TIOCSIG = 0x80045436 -+ TIOCSLCKTRMIOS = 0x548c -+ TIOCSLTC = 0x7475 -+ TIOCSPGRP = 0x80047476 -+ TIOCSPTLCK = 0x80045431 -+ TIOCSRS485 = 0xc020542f -+ TIOCSSERIAL = 0x5485 -+ TIOCSSOFTCAR = 0x5482 -+ TIOCSTI = 0x5472 -+ TIOCSWINSZ = 0x80087467 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x8000 -+ TUNATTACHFILTER = 0x801054d5 -+ TUNDETACHFILTER = 0x801054d6 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETFILTER = 0x401054db -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETBE = 0x400454df -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNGETVNETLE = 0x400454dd -+ TUNSETDEBUG = 0x800454c9 -+ TUNSETGROUP = 0x800454ce -+ TUNSETIFF = 0x800454ca -+ TUNSETIFINDEX = 0x800454da -+ TUNSETLINK = 0x800454cd -+ TUNSETNOCSUM = 0x800454c8 -+ TUNSETOFFLOAD = 0x800454d0 -+ TUNSETOWNER = 0x800454cc -+ TUNSETPERSIST = 0x800454cb -+ TUNSETQUEUE = 0x800454d9 -+ TUNSETSNDBUF = 0x800454d4 -+ TUNSETTXFILTER = 0x800454d1 -+ TUNSETVNETBE = 0x800454de -+ TUNSETVNETHDRSZ = 0x800454d8 -+ TUNSETVNETLE = 0x800454dc -+ VDISCARD = 0xd -+ VEOF = 0x10 -+ VEOL = 0x11 -+ VEOL2 = 0x6 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x4 -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VSWTCH = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x7d) -+ EADDRNOTAVAIL = syscall.Errno(0x7e) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x7c) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x95) -+ EBADE = syscall.Errno(0x32) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x51) -+ EBADMSG = syscall.Errno(0x4d) -+ EBADR = syscall.Errno(0x33) -+ EBADRQC = syscall.Errno(0x36) -+ EBADSLT = syscall.Errno(0x37) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x9e) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x25) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x82) -+ ECONNREFUSED = syscall.Errno(0x92) -+ ECONNRESET = syscall.Errno(0x83) -+ EDEADLK = syscall.Errno(0x2d) -+ EDEADLOCK = syscall.Errno(0x38) -+ EDESTADDRREQ = syscall.Errno(0x60) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x46d) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x93) -+ EHOSTUNREACH = syscall.Errno(0x94) -+ EHWPOISON = syscall.Errno(0xa8) -+ EIDRM = syscall.Errno(0x24) -+ EILSEQ = syscall.Errno(0x58) -+ EINIT = syscall.Errno(0x8d) -+ EINPROGRESS = syscall.Errno(0x96) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x85) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x8b) -+ EKEYEXPIRED = syscall.Errno(0xa2) -+ EKEYREJECTED = syscall.Errno(0xa4) -+ EKEYREVOKED = syscall.Errno(0xa3) -+ EL2HLT = syscall.Errno(0x2c) -+ EL2NSYNC = syscall.Errno(0x26) -+ EL3HLT = syscall.Errno(0x27) -+ EL3RST = syscall.Errno(0x28) -+ ELIBACC = syscall.Errno(0x53) -+ ELIBBAD = syscall.Errno(0x54) -+ ELIBEXEC = syscall.Errno(0x57) -+ ELIBMAX = syscall.Errno(0x56) -+ ELIBSCN = syscall.Errno(0x55) -+ ELNRNG = syscall.Errno(0x29) -+ ELOOP = syscall.Errno(0x5a) -+ EMEDIUMTYPE = syscall.Errno(0xa0) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x61) -+ EMULTIHOP = syscall.Errno(0x4a) -+ ENAMETOOLONG = syscall.Errno(0x4e) -+ ENAVAIL = syscall.Errno(0x8a) -+ ENETDOWN = syscall.Errno(0x7f) -+ ENETRESET = syscall.Errno(0x81) -+ ENETUNREACH = syscall.Errno(0x80) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x35) -+ ENOBUFS = syscall.Errno(0x84) -+ ENOCSI = syscall.Errno(0x2b) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0xa1) -+ ENOLCK = syscall.Errno(0x2e) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x9f) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x23) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x63) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x59) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x86) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x5d) -+ ENOTNAM = syscall.Errno(0x89) -+ ENOTRECOVERABLE = syscall.Errno(0xa6) -+ ENOTSOCK = syscall.Errno(0x5f) -+ ENOTSUP = syscall.Errno(0x7a) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x50) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x7a) -+ EOVERFLOW = syscall.Errno(0x4f) -+ EOWNERDEAD = syscall.Errno(0xa5) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x7b) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x78) -+ EPROTOTYPE = syscall.Errno(0x62) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x52) -+ EREMDEV = syscall.Errno(0x8e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x8c) -+ ERESTART = syscall.Errno(0x5b) -+ ERFKILL = syscall.Errno(0xa7) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x8f) -+ ESOCKTNOSUPPORT = syscall.Errno(0x79) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x97) -+ ESTRPIPE = syscall.Errno(0x5c) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x91) -+ ETOOMANYREFS = syscall.Errno(0x90) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x87) -+ EUNATCH = syscall.Errno(0x2a) -+ EUSERS = syscall.Errno(0x5e) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x34) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x12) -+ SIGCLD = syscall.Signal(0x12) -+ SIGCONT = syscall.Signal(0x19) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x16) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x16) -+ SIGPROF = syscall.Signal(0x1d) -+ SIGPWR = syscall.Signal(0x13) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x17) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x18) -+ SIGTTIN = syscall.Signal(0x1a) -+ SIGTTOU = syscall.Signal(0x1b) -+ SIGURG = syscall.Signal(0x15) -+ SIGUSR1 = syscall.Signal(0x10) -+ SIGUSR2 = syscall.Signal(0x11) -+ SIGVTALRM = syscall.Signal(0x1c) -+ SIGWINCH = syscall.Signal(0x14) -+ SIGXCPU = syscall.Signal(0x1e) -+ SIGXFSZ = syscall.Signal(0x1f) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "no message of desired type", -+ 36: "identifier removed", -+ 37: "channel number out of range", -+ 38: "level 2 not synchronized", -+ 39: "level 3 halted", -+ 40: "level 3 reset", -+ 41: "link number out of range", -+ 42: "protocol driver not attached", -+ 43: "no CSI structure available", -+ 44: "level 2 halted", -+ 45: "resource deadlock avoided", -+ 46: "no locks available", -+ 50: "invalid exchange", -+ 51: "invalid request descriptor", -+ 52: "exchange full", -+ 53: "no anode", -+ 54: "invalid request code", -+ 55: "invalid slot", -+ 56: "file locking deadlock error", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 73: "RFS specific error", -+ 74: "multihop attempted", -+ 77: "bad message", -+ 78: "file name too long", -+ 79: "value too large for defined data type", -+ 80: "name not unique on network", -+ 81: "file descriptor in bad state", -+ 82: "remote address changed", -+ 83: "can not access a needed shared library", -+ 84: "accessing a corrupted shared library", -+ 85: ".lib section in a.out corrupted", -+ 86: "attempting to link in too many shared libraries", -+ 87: "cannot exec a shared library directly", -+ 88: "invalid or incomplete multibyte or wide character", -+ 89: "function not implemented", -+ 90: "too many levels of symbolic links", -+ 91: "interrupted system call should be restarted", -+ 92: "streams pipe error", -+ 93: "directory not empty", -+ 94: "too many users", -+ 95: "socket operation on non-socket", -+ 96: "destination address required", -+ 97: "message too long", -+ 98: "protocol wrong type for socket", -+ 99: "protocol not available", -+ 120: "protocol not supported", -+ 121: "socket type not supported", -+ 122: "operation not supported", -+ 123: "protocol family not supported", -+ 124: "address family not supported by protocol", -+ 125: "address already in use", -+ 126: "cannot assign requested address", -+ 127: "network is down", -+ 128: "network is unreachable", -+ 129: "network dropped connection on reset", -+ 130: "software caused connection abort", -+ 131: "connection reset by peer", -+ 132: "no buffer space available", -+ 133: "transport endpoint is already connected", -+ 134: "transport endpoint is not connected", -+ 135: "structure needs cleaning", -+ 137: "not a XENIX named type file", -+ 138: "no XENIX semaphores available", -+ 139: "is a named type file", -+ 140: "remote I/O error", -+ 141: "unknown error 141", -+ 142: "unknown error 142", -+ 143: "cannot send after transport endpoint shutdown", -+ 144: "too many references: cannot splice", -+ 145: "connection timed out", -+ 146: "connection refused", -+ 147: "host is down", -+ 148: "no route to host", -+ 149: "operation already in progress", -+ 150: "operation now in progress", -+ 151: "stale file handle", -+ 158: "operation canceled", -+ 159: "no medium found", -+ 160: "wrong medium type", -+ 161: "required key not available", -+ 162: "key has expired", -+ 163: "key has been revoked", -+ 164: "key was rejected by service", -+ 165: "owner died", -+ 166: "state not recoverable", -+ 167: "operation not possible due to RF-kill", -+ 168: "memory page has hardware error", -+ 1133: "disk quota exceeded", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "user defined signal 1", -+ 17: "user defined signal 2", -+ 18: "child exited", -+ 19: "power failure", -+ 20: "window changed", -+ 21: "urgent I/O condition", -+ 22: "I/O possible", -+ 23: "stopped (signal)", -+ 24: "stopped", -+ 25: "continued", -+ 26: "stopped (tty input)", -+ 27: "stopped (tty output)", -+ 28: "virtual timer expired", -+ 29: "profiling timer expired", -+ 30: "CPU time limit exceeded", -+ 31: "file size limit exceeded", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go -new file mode 100644 -index 0000000..fb15b41 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go -@@ -0,0 +1,1965 @@ -+// mkerrors.sh -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build mips64le,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IB = 0x1b -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x29 -+ AF_MPLS = 0x1c -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_6LOWPAN = 0x339 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802154_MONITOR = 0x325 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IP6GRE = 0x337 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETLINK = 0x338 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x1008 -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x1009 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100a -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100b -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B2500000 = 0x100c -+ B300 = 0x7 -+ B3000000 = 0x100d -+ B3500000 = 0x100e -+ B38400 = 0xf -+ B4000000 = 0x100f -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x1005 -+ B57600 = 0x1001 -+ B576000 = 0x1006 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x1007 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LL_OFF = -0x200000 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MOD = 0x90 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XOR = 0xa0 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x800 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_TAI = 0xb -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CREAD = 0x80 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWAKEUP = 0x20000000 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_80221 = 0x8917 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_802_3_MIN = 0x600 -+ ETH_P_802_EX1 = 0x88b5 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BATMAN = 0x4305 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CANFD = 0xd -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_LOOPBACK = 0x9000 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_MVRP = 0x88f5 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PRP = 0x88fb -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_TSN = 0x22f0 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ ETH_P_XDSA = 0xf8 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x2000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0xe -+ F_GETLK64 = 0xe -+ F_GETOWN = 0x17 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OFD_GETLK = 0x24 -+ F_OFD_SETLK = 0x25 -+ F_OFD_SETLKW = 0x26 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x6 -+ F_SETLK64 = 0x6 -+ F_SETLKW = 0x7 -+ F_SETLKW64 = 0x7 -+ F_SETOWN = 0x18 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x400 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x100 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_MANAGETEMPADDR = 0x100 -+ IFA_F_MCAUTOJOIN = 0x400 -+ IFA_F_NODAD = 0x2 -+ IFA_F_NOPREFIXROUTE = 0x200 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_STABLE_PRIVACY = 0x800 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x8 -+ IFF_ALLMULTI = 0x200 -+ IFF_ATTACH_QUEUE = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DETACH_QUEUE = 0x400 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_ECHO = 0x40000 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MASTER = 0x400 -+ IFF_MULTICAST = 0x1000 -+ IFF_MULTI_QUEUE = 0x100 -+ IFF_NOARP = 0x80 -+ IFF_NOFILTER = 0x1000 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_PERSIST = 0x800 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x80 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_BEETPH = 0x5e -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PATHMTU = 0x3d -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_INTERFACE = 0x4 -+ IPV6_PMTUDISC_OMIT = 0x5 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPATHMTU = 0x3c -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_CHECKSUM = 0x17 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_NODEFRAG = 0x16 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_INTERFACE = 0x4 -+ IP_PMTUDISC_OMIT = 0x5 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_UNICAST_IF = 0x32 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DODUMP = 0x11 -+ MADV_DOFORK = 0xb -+ MADV_DONTDUMP = 0x10 -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x800 -+ MAP_ANONYMOUS = 0x800 -+ MAP_DENYWRITE = 0x2000 -+ MAP_EXECUTABLE = 0x4000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x1000 -+ MAP_HUGETLB = 0x80000 -+ MAP_HUGE_MASK = 0x3f -+ MAP_HUGE_SHIFT = 0x1a -+ MAP_LOCKED = 0x8000 -+ MAP_NONBLOCK = 0x20000 -+ MAP_NORESERVE = 0x400 -+ MAP_POPULATE = 0x10000 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x800 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x40000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_LAZYTIME = 0x2000000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x2800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CAP_ACK = 0xa -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_LISTEN_ALL_NSID = 0x8 -+ NETLINK_LIST_MEMBERSHIPS = 0x9 -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x1000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x100 -+ O_DIRECT = 0x8000 -+ O_DIRECTORY = 0x10000 -+ O_DSYNC = 0x10 -+ O_EXCL = 0x400 -+ O_FSYNC = 0x4010 -+ O_LARGEFILE = 0x0 -+ O_NDELAY = 0x80 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x800 -+ O_NOFOLLOW = 0x20000 -+ O_NONBLOCK = 0x80 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x4010 -+ O_SYNC = 0x4010 -+ O_TMPFILE = 0x410000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CBPF = 0x6 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_DATA = 0x16 -+ PACKET_FANOUT_EBPF = 0x7 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FANOUT_QM = 0x5 -+ PACKET_FANOUT_RND = 0x4 -+ PACKET_FANOUT_ROLLOVER = 0x3 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_KERNEL = 0x7 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_QDISC_BYPASS = 0x14 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_ROLLOVER_STATS = 0x15 -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_HAS_OFF = 0x13 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_USER = 0x6 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x100 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_CAP_AMBIENT = 0x2f -+ PR_CAP_AMBIENT_CLEAR_ALL = 0x4 -+ PR_CAP_AMBIENT_IS_SET = 0x1 -+ PR_CAP_AMBIENT_LOWER = 0x3 -+ PR_CAP_AMBIENT_RAISE = 0x2 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_FP_MODE_FR = 0x1 -+ PR_FP_MODE_FRE = 0x2 -+ PR_GET_CHILD_SUBREAPER = 0x25 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_FP_MODE = 0x2e -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_THP_DISABLE = 0x2a -+ PR_GET_TID_ADDRESS = 0x28 -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_MPX_DISABLE_MANAGEMENT = 0x2c -+ PR_MPX_ENABLE_MANAGEMENT = 0x2b -+ PR_SET_CHILD_SUBREAPER = 0x24 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_FP_MODE = 0x2d -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_ARG_END = 0x9 -+ PR_SET_MM_ARG_START = 0x8 -+ PR_SET_MM_AUXV = 0xc -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_ENV_END = 0xb -+ PR_SET_MM_ENV_START = 0xa -+ PR_SET_MM_EXE_FILE = 0xd -+ PR_SET_MM_MAP = 0xe -+ PR_SET_MM_MAP_SIZE = 0xf -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = -0x1 -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_THP_DISABLE = 0x29 -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETFPREGS = 0xe -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GETSIGMASK = 0x420a -+ PTRACE_GET_THREAD_AREA = 0x19 -+ PTRACE_GET_THREAD_AREA_3264 = 0xc4 -+ PTRACE_GET_WATCH_REGS = 0xd0 -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_OLDSETOPTIONS = 0x15 -+ PTRACE_O_EXITKILL = 0x100000 -+ PTRACE_O_MASK = 0x3000ff -+ PTRACE_O_SUSPEND_SECCOMP = 0x200000 -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKDATA_3264 = 0xc1 -+ PTRACE_PEEKSIGINFO = 0x4209 -+ PTRACE_PEEKSIGINFO_SHARED = 0x1 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKTEXT_3264 = 0xc0 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKEDATA_3264 = 0xc3 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKETEXT_3264 = 0xc2 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SETFPREGS = 0xf -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SETSIGMASK = 0x420b -+ PTRACE_SET_THREAD_AREA = 0x1a -+ PTRACE_SET_WATCH_REGS = 0xd1 -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TRACEME = 0x0 -+ RLIMIT_AS = 0x6 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x5 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CC_ALGO = 0x10 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_MASK = 0xf -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0x10 -+ RTAX_MTU = 0x2 -+ RTAX_QUICKACK = 0xf -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x16 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELMDB = 0x55 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELNSID = 0x59 -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMDB = 0x56 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETNETCONF = 0x52 -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x5b -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWMDB = 0x54 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWNETCONF = 0x50 -+ RTM_NEWNSID = 0x58 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x13 -+ RTM_NR_MSGTYPES = 0x4c -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_COMPARE_MASK = 0x11 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_LINKDOWN = 0x10 -+ RTNH_F_OFFLOAD = 0x8 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BABEL = 0x2a -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MROUTED = 0x11 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SCM_WIFI_STATUS = 0x29 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x40047307 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x40047309 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x80047308 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x1 -+ SOCK_NONBLOCK = 0x80 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x2 -+ SOL_AAL = 0x109 -+ SOL_ATM = 0x108 -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_NETLINK = 0x10e -+ SOL_PACKET = 0x107 -+ SOL_RAW = 0xff -+ SOL_SOCKET = 0xffff -+ SOL_TCP = 0x6 -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1009 -+ SO_ATTACH_BPF = 0x32 -+ SO_ATTACH_FILTER = 0x1a -+ SO_BINDTODEVICE = 0x19 -+ SO_BPF_EXTENSIONS = 0x30 -+ SO_BROADCAST = 0x20 -+ SO_BSDCOMPAT = 0xe -+ SO_BUSY_POLL = 0x2e -+ SO_DEBUG = 0x1 -+ SO_DETACH_BPF = 0x1b -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x1029 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_GET_FILTER = 0x1a -+ SO_INCOMING_CPU = 0x31 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_LOCK_FILTER = 0x2c -+ SO_MARK = 0x24 -+ SO_MAX_PACING_RATE = 0x2f -+ SO_NOFCS = 0x2b -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0x100 -+ SO_PASSCRED = 0x11 -+ SO_PASSSEC = 0x22 -+ SO_PEEK_OFF = 0x2a -+ SO_PEERCRED = 0x12 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1e -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x1028 -+ SO_RCVBUF = 0x1002 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SELECT_ERR_QUEUE = 0x2d -+ SO_SNDBUF = 0x1001 -+ SO_SNDBUFFORCE = 0x1f -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_STYLE = 0x1008 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x1008 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SO_WIFI_STATUS = 0x29 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TCFLSH = 0x5407 -+ TCIFLUSH = 0x0 -+ TCIOFLUSH = 0x2 -+ TCOFLUSH = 0x1 -+ TCP_CONGESTION = 0xd -+ TCP_COOKIE_IN_ALWAYS = 0x1 -+ TCP_COOKIE_MAX = 0x10 -+ TCP_COOKIE_MIN = 0x8 -+ TCP_COOKIE_OUT_NEVER = 0x2 -+ TCP_COOKIE_PAIR_SIZE = 0x20 -+ TCP_COOKIE_TRANSACTIONS = 0xf -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_FASTOPEN = 0x17 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_MSS_DEFAULT = 0x218 -+ TCP_MSS_DESIRED = 0x4c4 -+ TCP_NODELAY = 0x1 -+ TCP_QUEUE_SEQ = 0x15 -+ TCP_QUICKACK = 0xc -+ TCP_REPAIR = 0x13 -+ TCP_REPAIR_OPTIONS = 0x16 -+ TCP_REPAIR_QUEUE = 0x14 -+ TCP_SYNCNT = 0x7 -+ TCP_S_DATA_IN = 0x4 -+ TCP_S_DATA_OUT = 0x8 -+ TCP_THIN_DUPACK = 0x11 -+ TCP_THIN_LINEAR_TIMEOUTS = 0x10 -+ TCP_TIMESTAMP = 0x18 -+ TCP_USER_TIMEOUT = 0x12 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x5410 -+ TCSBRK = 0x5405 -+ TCXONC = 0x5406 -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x80047478 -+ TIOCEXCL = 0x740d -+ TIOCGDEV = 0x40045432 -+ TIOCGETD = 0x7400 -+ TIOCGETP = 0x7408 -+ TIOCGEXCL = 0x40045440 -+ TIOCGICOUNT = 0x5492 -+ TIOCGLCKTRMIOS = 0x548b -+ TIOCGLTC = 0x7474 -+ TIOCGPGRP = 0x40047477 -+ TIOCGPKT = 0x40045438 -+ TIOCGPTLCK = 0x40045439 -+ TIOCGPTN = 0x40045430 -+ TIOCGRS485 = 0x4020542e -+ TIOCGSERIAL = 0x5484 -+ TIOCGSID = 0x7416 -+ TIOCGSOFTCAR = 0x5481 -+ TIOCGWINSZ = 0x40087468 -+ TIOCINQ = 0x467f -+ TIOCLINUX = 0x5483 -+ TIOCMBIC = 0x741c -+ TIOCMBIS = 0x741b -+ TIOCMGET = 0x741d -+ TIOCMIWAIT = 0x5491 -+ TIOCMSET = 0x741a -+ TIOCM_CAR = 0x100 -+ TIOCM_CD = 0x100 -+ TIOCM_CTS = 0x40 -+ TIOCM_DSR = 0x400 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x200 -+ TIOCM_RNG = 0x200 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x20 -+ TIOCM_ST = 0x10 -+ TIOCNOTTY = 0x5471 -+ TIOCNXCL = 0x740e -+ TIOCOUTQ = 0x7472 -+ TIOCPKT = 0x5470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x5480 -+ TIOCSERCONFIG = 0x5488 -+ TIOCSERGETLSR = 0x548e -+ TIOCSERGETMULTI = 0x548f -+ TIOCSERGSTRUCT = 0x548d -+ TIOCSERGWILD = 0x5489 -+ TIOCSERSETMULTI = 0x5490 -+ TIOCSERSWILD = 0x548a -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x7401 -+ TIOCSETN = 0x740a -+ TIOCSETP = 0x7409 -+ TIOCSIG = 0x80045436 -+ TIOCSLCKTRMIOS = 0x548c -+ TIOCSLTC = 0x7475 -+ TIOCSPGRP = 0x80047476 -+ TIOCSPTLCK = 0x80045431 -+ TIOCSRS485 = 0xc020542f -+ TIOCSSERIAL = 0x5485 -+ TIOCSSOFTCAR = 0x5482 -+ TIOCSTI = 0x5472 -+ TIOCSWINSZ = 0x80087467 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x8000 -+ TUNATTACHFILTER = 0x801054d5 -+ TUNDETACHFILTER = 0x801054d6 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETFILTER = 0x401054db -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETBE = 0x400454df -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNGETVNETLE = 0x400454dd -+ TUNSETDEBUG = 0x800454c9 -+ TUNSETGROUP = 0x800454ce -+ TUNSETIFF = 0x800454ca -+ TUNSETIFINDEX = 0x800454da -+ TUNSETLINK = 0x800454cd -+ TUNSETNOCSUM = 0x800454c8 -+ TUNSETOFFLOAD = 0x800454d0 -+ TUNSETOWNER = 0x800454cc -+ TUNSETPERSIST = 0x800454cb -+ TUNSETQUEUE = 0x800454d9 -+ TUNSETSNDBUF = 0x800454d4 -+ TUNSETTXFILTER = 0x800454d1 -+ TUNSETVNETBE = 0x800454de -+ TUNSETVNETHDRSZ = 0x800454d8 -+ TUNSETVNETLE = 0x800454dc -+ VDISCARD = 0xd -+ VEOF = 0x10 -+ VEOL = 0x11 -+ VEOL2 = 0x6 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x4 -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VSWTCH = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x7d) -+ EADDRNOTAVAIL = syscall.Errno(0x7e) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x7c) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x95) -+ EBADE = syscall.Errno(0x32) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x51) -+ EBADMSG = syscall.Errno(0x4d) -+ EBADR = syscall.Errno(0x33) -+ EBADRQC = syscall.Errno(0x36) -+ EBADSLT = syscall.Errno(0x37) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x9e) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x25) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x82) -+ ECONNREFUSED = syscall.Errno(0x92) -+ ECONNRESET = syscall.Errno(0x83) -+ EDEADLK = syscall.Errno(0x2d) -+ EDEADLOCK = syscall.Errno(0x38) -+ EDESTADDRREQ = syscall.Errno(0x60) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x46d) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x93) -+ EHOSTUNREACH = syscall.Errno(0x94) -+ EHWPOISON = syscall.Errno(0xa8) -+ EIDRM = syscall.Errno(0x24) -+ EILSEQ = syscall.Errno(0x58) -+ EINIT = syscall.Errno(0x8d) -+ EINPROGRESS = syscall.Errno(0x96) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x85) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x8b) -+ EKEYEXPIRED = syscall.Errno(0xa2) -+ EKEYREJECTED = syscall.Errno(0xa4) -+ EKEYREVOKED = syscall.Errno(0xa3) -+ EL2HLT = syscall.Errno(0x2c) -+ EL2NSYNC = syscall.Errno(0x26) -+ EL3HLT = syscall.Errno(0x27) -+ EL3RST = syscall.Errno(0x28) -+ ELIBACC = syscall.Errno(0x53) -+ ELIBBAD = syscall.Errno(0x54) -+ ELIBEXEC = syscall.Errno(0x57) -+ ELIBMAX = syscall.Errno(0x56) -+ ELIBSCN = syscall.Errno(0x55) -+ ELNRNG = syscall.Errno(0x29) -+ ELOOP = syscall.Errno(0x5a) -+ EMEDIUMTYPE = syscall.Errno(0xa0) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x61) -+ EMULTIHOP = syscall.Errno(0x4a) -+ ENAMETOOLONG = syscall.Errno(0x4e) -+ ENAVAIL = syscall.Errno(0x8a) -+ ENETDOWN = syscall.Errno(0x7f) -+ ENETRESET = syscall.Errno(0x81) -+ ENETUNREACH = syscall.Errno(0x80) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x35) -+ ENOBUFS = syscall.Errno(0x84) -+ ENOCSI = syscall.Errno(0x2b) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0xa1) -+ ENOLCK = syscall.Errno(0x2e) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x9f) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x23) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x63) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x59) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x86) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x5d) -+ ENOTNAM = syscall.Errno(0x89) -+ ENOTRECOVERABLE = syscall.Errno(0xa6) -+ ENOTSOCK = syscall.Errno(0x5f) -+ ENOTSUP = syscall.Errno(0x7a) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x50) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x7a) -+ EOVERFLOW = syscall.Errno(0x4f) -+ EOWNERDEAD = syscall.Errno(0xa5) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x7b) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x78) -+ EPROTOTYPE = syscall.Errno(0x62) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x52) -+ EREMDEV = syscall.Errno(0x8e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x8c) -+ ERESTART = syscall.Errno(0x5b) -+ ERFKILL = syscall.Errno(0xa7) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x8f) -+ ESOCKTNOSUPPORT = syscall.Errno(0x79) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x97) -+ ESTRPIPE = syscall.Errno(0x5c) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x91) -+ ETOOMANYREFS = syscall.Errno(0x90) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x87) -+ EUNATCH = syscall.Errno(0x2a) -+ EUSERS = syscall.Errno(0x5e) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x34) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x12) -+ SIGCLD = syscall.Signal(0x12) -+ SIGCONT = syscall.Signal(0x19) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x16) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x16) -+ SIGPROF = syscall.Signal(0x1d) -+ SIGPWR = syscall.Signal(0x13) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x17) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x18) -+ SIGTTIN = syscall.Signal(0x1a) -+ SIGTTOU = syscall.Signal(0x1b) -+ SIGURG = syscall.Signal(0x15) -+ SIGUSR1 = syscall.Signal(0x10) -+ SIGUSR2 = syscall.Signal(0x11) -+ SIGVTALRM = syscall.Signal(0x1c) -+ SIGWINCH = syscall.Signal(0x14) -+ SIGXCPU = syscall.Signal(0x1e) -+ SIGXFSZ = syscall.Signal(0x1f) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "no message of desired type", -+ 36: "identifier removed", -+ 37: "channel number out of range", -+ 38: "level 2 not synchronized", -+ 39: "level 3 halted", -+ 40: "level 3 reset", -+ 41: "link number out of range", -+ 42: "protocol driver not attached", -+ 43: "no CSI structure available", -+ 44: "level 2 halted", -+ 45: "resource deadlock avoided", -+ 46: "no locks available", -+ 50: "invalid exchange", -+ 51: "invalid request descriptor", -+ 52: "exchange full", -+ 53: "no anode", -+ 54: "invalid request code", -+ 55: "invalid slot", -+ 56: "file locking deadlock error", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 73: "RFS specific error", -+ 74: "multihop attempted", -+ 77: "bad message", -+ 78: "file name too long", -+ 79: "value too large for defined data type", -+ 80: "name not unique on network", -+ 81: "file descriptor in bad state", -+ 82: "remote address changed", -+ 83: "can not access a needed shared library", -+ 84: "accessing a corrupted shared library", -+ 85: ".lib section in a.out corrupted", -+ 86: "attempting to link in too many shared libraries", -+ 87: "cannot exec a shared library directly", -+ 88: "invalid or incomplete multibyte or wide character", -+ 89: "function not implemented", -+ 90: "too many levels of symbolic links", -+ 91: "interrupted system call should be restarted", -+ 92: "streams pipe error", -+ 93: "directory not empty", -+ 94: "too many users", -+ 95: "socket operation on non-socket", -+ 96: "destination address required", -+ 97: "message too long", -+ 98: "protocol wrong type for socket", -+ 99: "protocol not available", -+ 120: "protocol not supported", -+ 121: "socket type not supported", -+ 122: "operation not supported", -+ 123: "protocol family not supported", -+ 124: "address family not supported by protocol", -+ 125: "address already in use", -+ 126: "cannot assign requested address", -+ 127: "network is down", -+ 128: "network is unreachable", -+ 129: "network dropped connection on reset", -+ 130: "software caused connection abort", -+ 131: "connection reset by peer", -+ 132: "no buffer space available", -+ 133: "transport endpoint is already connected", -+ 134: "transport endpoint is not connected", -+ 135: "structure needs cleaning", -+ 137: "not a XENIX named type file", -+ 138: "no XENIX semaphores available", -+ 139: "is a named type file", -+ 140: "remote I/O error", -+ 141: "unknown error 141", -+ 142: "unknown error 142", -+ 143: "cannot send after transport endpoint shutdown", -+ 144: "too many references: cannot splice", -+ 145: "connection timed out", -+ 146: "connection refused", -+ 147: "host is down", -+ 148: "no route to host", -+ 149: "operation already in progress", -+ 150: "operation now in progress", -+ 151: "stale file handle", -+ 158: "operation canceled", -+ 159: "no medium found", -+ 160: "wrong medium type", -+ 161: "required key not available", -+ 162: "key has expired", -+ 163: "key has been revoked", -+ 164: "key was rejected by service", -+ 165: "owner died", -+ 166: "state not recoverable", -+ 167: "operation not possible due to RF-kill", -+ 168: "memory page has hardware error", -+ 1133: "disk quota exceeded", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "user defined signal 1", -+ 17: "user defined signal 2", -+ 18: "child exited", -+ 19: "power failure", -+ 20: "window changed", -+ 21: "urgent I/O condition", -+ 22: "I/O possible", -+ 23: "stopped (signal)", -+ 24: "stopped", -+ 25: "continued", -+ 26: "stopped (tty input)", -+ 27: "stopped (tty output)", -+ 28: "virtual timer expired", -+ 29: "profiling timer expired", -+ 30: "CPU time limit exceeded", -+ 31: "file size limit exceeded", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go -new file mode 100644 -index 0000000..9a3a737 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go -@@ -0,0 +1,2066 @@ -+// mkerrors.sh -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build mipsle,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IB = 0x1b -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KCM = 0x29 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x2a -+ AF_MPLS = 0x1c -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_6LOWPAN = 0x339 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802154_MONITOR = 0x325 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IP6GRE = 0x337 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETLINK = 0x338 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x1008 -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x1009 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100a -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100b -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B2500000 = 0x100c -+ B300 = 0x7 -+ B3000000 = 0x100d -+ B3500000 = 0x100e -+ B38400 = 0xf -+ B4000000 = 0x100f -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x1005 -+ B57600 = 0x1001 -+ B576000 = 0x1006 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x1007 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1000 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LL_OFF = -0x200000 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MOD = 0x90 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XOR = 0xa0 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x2000 -+ BSDLY = 0x2000 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_ID_BITS = 0x1d -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_ID_BITS = 0xb -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0x100f -+ CBAUDEX = 0x1000 -+ CFLUSH = 0xf -+ CIBAUD = 0x100f0000 -+ CLOCAL = 0x800 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_TAI = 0xb -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CR0 = 0x0 -+ CR1 = 0x200 -+ CR2 = 0x400 -+ CR3 = 0x600 -+ CRDLY = 0x600 -+ CREAD = 0x80 -+ CRTSCTS = 0x80000000 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLEXCLUSIVE = 0x10000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWAKEUP = 0x20000000 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_80221 = 0x8917 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_802_3_MIN = 0x600 -+ ETH_P_802_EX1 = 0x88b5 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BATMAN = 0x4305 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CANFD = 0xd -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_HSR = 0x892f -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_LOOPBACK = 0x9000 -+ ETH_P_MACSEC = 0x88e5 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_MVRP = 0x88f5 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PRP = 0x88fb -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_TSN = 0x22f0 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ ETH_P_XDSA = 0xf8 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x2000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0x21 -+ F_GETLK64 = 0x21 -+ F_GETOWN = 0x17 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OFD_GETLK = 0x24 -+ F_OFD_SETLK = 0x25 -+ F_OFD_SETLKW = 0x26 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x22 -+ F_SETLK64 = 0x22 -+ F_SETLKW = 0x23 -+ F_SETLKW64 = 0x23 -+ F_SETOWN = 0x18 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x400 -+ IBSHIFT = 0x10 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x100 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_MANAGETEMPADDR = 0x100 -+ IFA_F_MCAUTOJOIN = 0x400 -+ IFA_F_NODAD = 0x2 -+ IFA_F_NOPREFIXROUTE = 0x200 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_STABLE_PRIVACY = 0x800 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x8 -+ IFF_ALLMULTI = 0x200 -+ IFF_ATTACH_QUEUE = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DETACH_QUEUE = 0x400 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_ECHO = 0x40000 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MASTER = 0x400 -+ IFF_MULTICAST = 0x1000 -+ IFF_MULTI_QUEUE = 0x100 -+ IFF_NOARP = 0x80 -+ IFF_NOFILTER = 0x1000 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_PERSIST = 0x800 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x80 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_BEETPH = 0x5e -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MPLS = 0x89 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HDRINCL = 0x24 -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PATHMTU = 0x3d -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_INTERFACE = 0x4 -+ IPV6_PMTUDISC_OMIT = 0x5 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPATHMTU = 0x3c -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BIND_ADDRESS_NO_PORT = 0x18 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_CHECKSUM = 0x17 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_NODEFRAG = 0x16 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_INTERFACE = 0x4 -+ IP_PMTUDISC_OMIT = 0x5 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_UNICAST_IF = 0x32 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IUCLC = 0x200 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DODUMP = 0x11 -+ MADV_DOFORK = 0xb -+ MADV_DONTDUMP = 0x10 -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x8 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x800 -+ MAP_ANONYMOUS = 0x800 -+ MAP_DENYWRITE = 0x2000 -+ MAP_EXECUTABLE = 0x4000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x1000 -+ MAP_HUGETLB = 0x80000 -+ MAP_HUGE_MASK = 0x3f -+ MAP_HUGE_SHIFT = 0x1a -+ MAP_LOCKED = 0x8000 -+ MAP_NONBLOCK = 0x20000 -+ MAP_NORESERVE = 0x400 -+ MAP_POPULATE = 0x10000 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x800 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x40000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MCL_ONFAULT = 0x4 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_BATCH = 0x40000 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_LAZYTIME = 0x2000000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x2800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CAP_ACK = 0xa -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_LISTEN_ALL_NSID = 0x8 -+ NETLINK_LIST_MEMBERSHIPS = 0x9 -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x100 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x2 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x1000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x100 -+ O_DIRECT = 0x8000 -+ O_DIRECTORY = 0x10000 -+ O_DSYNC = 0x10 -+ O_EXCL = 0x400 -+ O_FSYNC = 0x4010 -+ O_LARGEFILE = 0x2000 -+ O_NDELAY = 0x80 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x800 -+ O_NOFOLLOW = 0x20000 -+ O_NONBLOCK = 0x80 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x4010 -+ O_SYNC = 0x4010 -+ O_TMPFILE = 0x410000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CBPF = 0x6 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_DATA = 0x16 -+ PACKET_FANOUT_EBPF = 0x7 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FANOUT_QM = 0x5 -+ PACKET_FANOUT_RND = 0x4 -+ PACKET_FANOUT_ROLLOVER = 0x3 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_KERNEL = 0x7 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_QDISC_BYPASS = 0x14 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_ROLLOVER_STATS = 0x15 -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_HAS_OFF = 0x13 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_USER = 0x6 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x100 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_CAP_AMBIENT = 0x2f -+ PR_CAP_AMBIENT_CLEAR_ALL = 0x4 -+ PR_CAP_AMBIENT_IS_SET = 0x1 -+ PR_CAP_AMBIENT_LOWER = 0x3 -+ PR_CAP_AMBIENT_RAISE = 0x2 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_FP_MODE_FR = 0x1 -+ PR_FP_MODE_FRE = 0x2 -+ PR_GET_CHILD_SUBREAPER = 0x25 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_FP_MODE = 0x2e -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_THP_DISABLE = 0x2a -+ PR_GET_TID_ADDRESS = 0x28 -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_MPX_DISABLE_MANAGEMENT = 0x2c -+ PR_MPX_ENABLE_MANAGEMENT = 0x2b -+ PR_SET_CHILD_SUBREAPER = 0x24 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_FP_MODE = 0x2d -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_ARG_END = 0x9 -+ PR_SET_MM_ARG_START = 0x8 -+ PR_SET_MM_AUXV = 0xc -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_ENV_END = 0xb -+ PR_SET_MM_ENV_START = 0xa -+ PR_SET_MM_EXE_FILE = 0xd -+ PR_SET_MM_MAP = 0xe -+ PR_SET_MM_MAP_SIZE = 0xf -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = 0xffffffff -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_THP_DISABLE = 0x29 -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETFPREGS = 0xe -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GETSIGMASK = 0x420a -+ PTRACE_GET_THREAD_AREA = 0x19 -+ PTRACE_GET_THREAD_AREA_3264 = 0xc4 -+ PTRACE_GET_WATCH_REGS = 0xd0 -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_OLDSETOPTIONS = 0x15 -+ PTRACE_O_EXITKILL = 0x100000 -+ PTRACE_O_MASK = 0x3000ff -+ PTRACE_O_SUSPEND_SECCOMP = 0x200000 -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKDATA_3264 = 0xc1 -+ PTRACE_PEEKSIGINFO = 0x4209 -+ PTRACE_PEEKSIGINFO_SHARED = 0x1 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKTEXT_3264 = 0xc0 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKEDATA_3264 = 0xc3 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKETEXT_3264 = 0xc2 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SECCOMP_GET_FILTER = 0x420c -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SETFPREGS = 0xf -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SETSIGMASK = 0x420b -+ PTRACE_SET_THREAD_AREA = 0x1a -+ PTRACE_SET_WATCH_REGS = 0xd1 -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TRACEME = 0x0 -+ RLIMIT_AS = 0x6 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x5 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CC_ALGO = 0x10 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_MASK = 0xf -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0x10 -+ RTAX_MTU = 0x2 -+ RTAX_QUICKACK = 0xf -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x18 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELMDB = 0x55 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELNSID = 0x59 -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_LOOKUP_TABLE = 0x1000 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMDB = 0x56 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETNETCONF = 0x52 -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETSTATS = 0x5e -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x5f -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWMDB = 0x54 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWNETCONF = 0x50 -+ RTM_NEWNSID = 0x58 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWSTATS = 0x5c -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x14 -+ RTM_NR_MSGTYPES = 0x50 -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_COMPARE_MASK = 0x11 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_LINKDOWN = 0x10 -+ RTNH_F_OFFLOAD = 0x8 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BABEL = 0x2a -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MROUTED = 0x11 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SCM_WIFI_STATUS = 0x29 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x40047307 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x40047309 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x80047308 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x1 -+ SOCK_NONBLOCK = 0x80 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x2 -+ SOL_AAL = 0x109 -+ SOL_ALG = 0x117 -+ SOL_ATM = 0x108 -+ SOL_CAIF = 0x116 -+ SOL_CAN_BASE = 0x64 -+ SOL_DCCP = 0x10d -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_IUCV = 0x115 -+ SOL_KCM = 0x119 -+ SOL_LLC = 0x10c -+ SOL_NETBEUI = 0x10b -+ SOL_NETLINK = 0x10e -+ SOL_NFC = 0x118 -+ SOL_PACKET = 0x107 -+ SOL_PNPIPE = 0x113 -+ SOL_PPPOL2TP = 0x111 -+ SOL_RAW = 0xff -+ SOL_RDS = 0x114 -+ SOL_RXRPC = 0x110 -+ SOL_SOCKET = 0xffff -+ SOL_TCP = 0x6 -+ SOL_TIPC = 0x10f -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1009 -+ SO_ATTACH_BPF = 0x32 -+ SO_ATTACH_FILTER = 0x1a -+ SO_ATTACH_REUSEPORT_CBPF = 0x33 -+ SO_ATTACH_REUSEPORT_EBPF = 0x34 -+ SO_BINDTODEVICE = 0x19 -+ SO_BPF_EXTENSIONS = 0x30 -+ SO_BROADCAST = 0x20 -+ SO_BSDCOMPAT = 0xe -+ SO_BUSY_POLL = 0x2e -+ SO_CNX_ADVICE = 0x35 -+ SO_DEBUG = 0x1 -+ SO_DETACH_BPF = 0x1b -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x1029 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_GET_FILTER = 0x1a -+ SO_INCOMING_CPU = 0x31 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_LOCK_FILTER = 0x2c -+ SO_MARK = 0x24 -+ SO_MAX_PACING_RATE = 0x2f -+ SO_NOFCS = 0x2b -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0x100 -+ SO_PASSCRED = 0x11 -+ SO_PASSSEC = 0x22 -+ SO_PEEK_OFF = 0x2a -+ SO_PEERCRED = 0x12 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1e -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x1028 -+ SO_RCVBUF = 0x1002 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SELECT_ERR_QUEUE = 0x2d -+ SO_SNDBUF = 0x1001 -+ SO_SNDBUFFORCE = 0x1f -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_STYLE = 0x1008 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x1008 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SO_WIFI_STATUS = 0x29 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x800 -+ TAB2 = 0x1000 -+ TAB3 = 0x1800 -+ TABDLY = 0x1800 -+ TCFLSH = 0x5407 -+ TCGETA = 0x5401 -+ TCGETS = 0x540d -+ TCGETS2 = 0x4030542a -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CC_INFO = 0x1a -+ TCP_CONGESTION = 0xd -+ TCP_COOKIE_IN_ALWAYS = 0x1 -+ TCP_COOKIE_MAX = 0x10 -+ TCP_COOKIE_MIN = 0x8 -+ TCP_COOKIE_OUT_NEVER = 0x2 -+ TCP_COOKIE_PAIR_SIZE = 0x20 -+ TCP_COOKIE_TRANSACTIONS = 0xf -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_FASTOPEN = 0x17 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_MSS_DEFAULT = 0x218 -+ TCP_MSS_DESIRED = 0x4c4 -+ TCP_NODELAY = 0x1 -+ TCP_NOTSENT_LOWAT = 0x19 -+ TCP_QUEUE_SEQ = 0x15 -+ TCP_QUICKACK = 0xc -+ TCP_REPAIR = 0x13 -+ TCP_REPAIR_OPTIONS = 0x16 -+ TCP_REPAIR_QUEUE = 0x14 -+ TCP_SAVED_SYN = 0x1c -+ TCP_SAVE_SYN = 0x1b -+ TCP_SYNCNT = 0x7 -+ TCP_S_DATA_IN = 0x4 -+ TCP_S_DATA_OUT = 0x8 -+ TCP_THIN_DUPACK = 0x11 -+ TCP_THIN_LINEAR_TIMEOUTS = 0x10 -+ TCP_TIMESTAMP = 0x18 -+ TCP_USER_TIMEOUT = 0x12 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x5410 -+ TCSBRK = 0x5405 -+ TCSBRKP = 0x5486 -+ TCSETA = 0x5402 -+ TCSETAF = 0x5404 -+ TCSETAW = 0x5403 -+ TCSETS = 0x540e -+ TCSETS2 = 0x8030542b -+ TCSETSF = 0x5410 -+ TCSETSF2 = 0x8030542d -+ TCSETSW = 0x540f -+ TCSETSW2 = 0x8030542c -+ TCXONC = 0x5406 -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x80047478 -+ TIOCEXCL = 0x740d -+ TIOCGDEV = 0x40045432 -+ TIOCGETD = 0x7400 -+ TIOCGETP = 0x7408 -+ TIOCGEXCL = 0x40045440 -+ TIOCGICOUNT = 0x5492 -+ TIOCGLCKTRMIOS = 0x548b -+ TIOCGLTC = 0x7474 -+ TIOCGPGRP = 0x40047477 -+ TIOCGPKT = 0x40045438 -+ TIOCGPTLCK = 0x40045439 -+ TIOCGPTN = 0x40045430 -+ TIOCGRS485 = 0x4020542e -+ TIOCGSERIAL = 0x5484 -+ TIOCGSID = 0x7416 -+ TIOCGSOFTCAR = 0x5481 -+ TIOCGWINSZ = 0x40087468 -+ TIOCINQ = 0x467f -+ TIOCLINUX = 0x5483 -+ TIOCMBIC = 0x741c -+ TIOCMBIS = 0x741b -+ TIOCMGET = 0x741d -+ TIOCMIWAIT = 0x5491 -+ TIOCMSET = 0x741a -+ TIOCM_CAR = 0x100 -+ TIOCM_CD = 0x100 -+ TIOCM_CTS = 0x40 -+ TIOCM_DSR = 0x400 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x200 -+ TIOCM_RNG = 0x200 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x20 -+ TIOCM_ST = 0x10 -+ TIOCNOTTY = 0x5471 -+ TIOCNXCL = 0x740e -+ TIOCOUTQ = 0x7472 -+ TIOCPKT = 0x5470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x5480 -+ TIOCSERCONFIG = 0x5488 -+ TIOCSERGETLSR = 0x548e -+ TIOCSERGETMULTI = 0x548f -+ TIOCSERGSTRUCT = 0x548d -+ TIOCSERGWILD = 0x5489 -+ TIOCSERSETMULTI = 0x5490 -+ TIOCSERSWILD = 0x548a -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x7401 -+ TIOCSETN = 0x740a -+ TIOCSETP = 0x7409 -+ TIOCSIG = 0x80045436 -+ TIOCSLCKTRMIOS = 0x548c -+ TIOCSLTC = 0x7475 -+ TIOCSPGRP = 0x80047476 -+ TIOCSPTLCK = 0x80045431 -+ TIOCSRS485 = 0xc020542f -+ TIOCSSERIAL = 0x5485 -+ TIOCSSOFTCAR = 0x5482 -+ TIOCSTI = 0x5472 -+ TIOCSWINSZ = 0x80087467 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x8000 -+ TUNATTACHFILTER = 0x800854d5 -+ TUNDETACHFILTER = 0x800854d6 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETFILTER = 0x400854db -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETBE = 0x400454df -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNGETVNETLE = 0x400454dd -+ TUNSETDEBUG = 0x800454c9 -+ TUNSETGROUP = 0x800454ce -+ TUNSETIFF = 0x800454ca -+ TUNSETIFINDEX = 0x800454da -+ TUNSETLINK = 0x800454cd -+ TUNSETNOCSUM = 0x800454c8 -+ TUNSETOFFLOAD = 0x800454d0 -+ TUNSETOWNER = 0x800454cc -+ TUNSETPERSIST = 0x800454cb -+ TUNSETQUEUE = 0x800454d9 -+ TUNSETSNDBUF = 0x800454d4 -+ TUNSETTXFILTER = 0x800454d1 -+ TUNSETVNETBE = 0x800454de -+ TUNSETVNETHDRSZ = 0x800454d8 -+ TUNSETVNETLE = 0x800454dc -+ VDISCARD = 0xd -+ VEOF = 0x10 -+ VEOL = 0x11 -+ VEOL2 = 0x6 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x4 -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VSWTCH = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x20 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XCASE = 0x4 -+ XTABS = 0x1800 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x7d) -+ EADDRNOTAVAIL = syscall.Errno(0x7e) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x7c) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x95) -+ EBADE = syscall.Errno(0x32) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x51) -+ EBADMSG = syscall.Errno(0x4d) -+ EBADR = syscall.Errno(0x33) -+ EBADRQC = syscall.Errno(0x36) -+ EBADSLT = syscall.Errno(0x37) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x9e) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x25) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x82) -+ ECONNREFUSED = syscall.Errno(0x92) -+ ECONNRESET = syscall.Errno(0x83) -+ EDEADLK = syscall.Errno(0x2d) -+ EDEADLOCK = syscall.Errno(0x38) -+ EDESTADDRREQ = syscall.Errno(0x60) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x46d) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x93) -+ EHOSTUNREACH = syscall.Errno(0x94) -+ EHWPOISON = syscall.Errno(0xa8) -+ EIDRM = syscall.Errno(0x24) -+ EILSEQ = syscall.Errno(0x58) -+ EINIT = syscall.Errno(0x8d) -+ EINPROGRESS = syscall.Errno(0x96) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x85) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x8b) -+ EKEYEXPIRED = syscall.Errno(0xa2) -+ EKEYREJECTED = syscall.Errno(0xa4) -+ EKEYREVOKED = syscall.Errno(0xa3) -+ EL2HLT = syscall.Errno(0x2c) -+ EL2NSYNC = syscall.Errno(0x26) -+ EL3HLT = syscall.Errno(0x27) -+ EL3RST = syscall.Errno(0x28) -+ ELIBACC = syscall.Errno(0x53) -+ ELIBBAD = syscall.Errno(0x54) -+ ELIBEXEC = syscall.Errno(0x57) -+ ELIBMAX = syscall.Errno(0x56) -+ ELIBSCN = syscall.Errno(0x55) -+ ELNRNG = syscall.Errno(0x29) -+ ELOOP = syscall.Errno(0x5a) -+ EMEDIUMTYPE = syscall.Errno(0xa0) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x61) -+ EMULTIHOP = syscall.Errno(0x4a) -+ ENAMETOOLONG = syscall.Errno(0x4e) -+ ENAVAIL = syscall.Errno(0x8a) -+ ENETDOWN = syscall.Errno(0x7f) -+ ENETRESET = syscall.Errno(0x81) -+ ENETUNREACH = syscall.Errno(0x80) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x35) -+ ENOBUFS = syscall.Errno(0x84) -+ ENOCSI = syscall.Errno(0x2b) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0xa1) -+ ENOLCK = syscall.Errno(0x2e) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x9f) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x23) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x63) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x59) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x86) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x5d) -+ ENOTNAM = syscall.Errno(0x89) -+ ENOTRECOVERABLE = syscall.Errno(0xa6) -+ ENOTSOCK = syscall.Errno(0x5f) -+ ENOTSUP = syscall.Errno(0x7a) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x50) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x7a) -+ EOVERFLOW = syscall.Errno(0x4f) -+ EOWNERDEAD = syscall.Errno(0xa5) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x7b) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x78) -+ EPROTOTYPE = syscall.Errno(0x62) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x52) -+ EREMDEV = syscall.Errno(0x8e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x8c) -+ ERESTART = syscall.Errno(0x5b) -+ ERFKILL = syscall.Errno(0xa7) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x8f) -+ ESOCKTNOSUPPORT = syscall.Errno(0x79) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x97) -+ ESTRPIPE = syscall.Errno(0x5c) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x91) -+ ETOOMANYREFS = syscall.Errno(0x90) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x87) -+ EUNATCH = syscall.Errno(0x2a) -+ EUSERS = syscall.Errno(0x5e) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x34) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x12) -+ SIGCLD = syscall.Signal(0x12) -+ SIGCONT = syscall.Signal(0x19) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x16) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x16) -+ SIGPROF = syscall.Signal(0x1d) -+ SIGPWR = syscall.Signal(0x13) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x17) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x18) -+ SIGTTIN = syscall.Signal(0x1a) -+ SIGTTOU = syscall.Signal(0x1b) -+ SIGURG = syscall.Signal(0x15) -+ SIGUSR1 = syscall.Signal(0x10) -+ SIGUSR2 = syscall.Signal(0x11) -+ SIGVTALRM = syscall.Signal(0x1c) -+ SIGWINCH = syscall.Signal(0x14) -+ SIGXCPU = syscall.Signal(0x1e) -+ SIGXFSZ = syscall.Signal(0x1f) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "no message of desired type", -+ 36: "identifier removed", -+ 37: "channel number out of range", -+ 38: "level 2 not synchronized", -+ 39: "level 3 halted", -+ 40: "level 3 reset", -+ 41: "link number out of range", -+ 42: "protocol driver not attached", -+ 43: "no CSI structure available", -+ 44: "level 2 halted", -+ 45: "resource deadlock avoided", -+ 46: "no locks available", -+ 50: "invalid exchange", -+ 51: "invalid request descriptor", -+ 52: "exchange full", -+ 53: "no anode", -+ 54: "invalid request code", -+ 55: "invalid slot", -+ 56: "file locking deadlock error", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 73: "RFS specific error", -+ 74: "multihop attempted", -+ 77: "bad message", -+ 78: "file name too long", -+ 79: "value too large for defined data type", -+ 80: "name not unique on network", -+ 81: "file descriptor in bad state", -+ 82: "remote address changed", -+ 83: "can not access a needed shared library", -+ 84: "accessing a corrupted shared library", -+ 85: ".lib section in a.out corrupted", -+ 86: "attempting to link in too many shared libraries", -+ 87: "cannot exec a shared library directly", -+ 88: "invalid or incomplete multibyte or wide character", -+ 89: "function not implemented", -+ 90: "too many levels of symbolic links", -+ 91: "interrupted system call should be restarted", -+ 92: "streams pipe error", -+ 93: "directory not empty", -+ 94: "too many users", -+ 95: "socket operation on non-socket", -+ 96: "destination address required", -+ 97: "message too long", -+ 98: "protocol wrong type for socket", -+ 99: "protocol not available", -+ 120: "protocol not supported", -+ 121: "socket type not supported", -+ 122: "operation not supported", -+ 123: "protocol family not supported", -+ 124: "address family not supported by protocol", -+ 125: "address already in use", -+ 126: "cannot assign requested address", -+ 127: "network is down", -+ 128: "network is unreachable", -+ 129: "network dropped connection on reset", -+ 130: "software caused connection abort", -+ 131: "connection reset by peer", -+ 132: "no buffer space available", -+ 133: "transport endpoint is already connected", -+ 134: "transport endpoint is not connected", -+ 135: "structure needs cleaning", -+ 137: "not a XENIX named type file", -+ 138: "no XENIX semaphores available", -+ 139: "is a named type file", -+ 140: "remote I/O error", -+ 141: "unknown error 141", -+ 142: "unknown error 142", -+ 143: "cannot send after transport endpoint shutdown", -+ 144: "too many references: cannot splice", -+ 145: "connection timed out", -+ 146: "connection refused", -+ 147: "host is down", -+ 148: "no route to host", -+ 149: "operation already in progress", -+ 150: "operation now in progress", -+ 151: "stale file handle", -+ 158: "operation canceled", -+ 159: "no medium found", -+ 160: "wrong medium type", -+ 161: "required key not available", -+ 162: "key has expired", -+ 163: "key has been revoked", -+ 164: "key was rejected by service", -+ 165: "owner died", -+ 166: "state not recoverable", -+ 167: "operation not possible due to RF-kill", -+ 168: "memory page has hardware error", -+ 1133: "disk quota exceeded", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "user defined signal 1", -+ 17: "user defined signal 2", -+ 18: "child exited", -+ 19: "power failure", -+ 20: "window changed", -+ 21: "urgent I/O condition", -+ 22: "I/O possible", -+ 23: "stopped (signal)", -+ 24: "stopped", -+ 25: "continued", -+ 26: "stopped (tty input)", -+ 27: "stopped (tty output)", -+ 28: "virtual timer expired", -+ 29: "profiling timer expired", -+ 30: "CPU time limit exceeded", -+ 31: "file size limit exceeded", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go -new file mode 100644 -index 0000000..4d602e6 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go -@@ -0,0 +1,2040 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build ppc64,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x29 -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_6LOWPAN = 0x339 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802154_MONITOR = 0x325 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IP6GRE = 0x337 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETLINK = 0x338 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x17 -+ B110 = 0x3 -+ B115200 = 0x11 -+ B1152000 = 0x18 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x19 -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x1a -+ B230400 = 0x12 -+ B2400 = 0xb -+ B2500000 = 0x1b -+ B300 = 0x7 -+ B3000000 = 0x1c -+ B3500000 = 0x1d -+ B38400 = 0xf -+ B4000000 = 0x1e -+ B460800 = 0x13 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x14 -+ B57600 = 0x10 -+ B576000 = 0x15 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x16 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1f -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MOD = 0x90 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XOR = 0xa0 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x8000 -+ BSDLY = 0x8000 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_ID_BITS = 0x1d -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_ID_BITS = 0xb -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0xff -+ CBAUDEX = 0x0 -+ CFLUSH = 0xf -+ CIBAUD = 0xff0000 -+ CLOCAL = 0x8000 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CR0 = 0x0 -+ CR1 = 0x1000 -+ CR2 = 0x2000 -+ CR3 = 0x3000 -+ CRDLY = 0x3000 -+ CREAD = 0x800 -+ CRTSCTS = 0x80000000 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIGNAL = 0xff -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWAKEUP = 0x20000000 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_80221 = 0x8917 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_802_3_MIN = 0x600 -+ ETH_P_802_EX1 = 0x88b5 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BATMAN = 0x4305 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CANFD = 0xd -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_LOOPBACK = 0x9000 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_MVRP = 0x88f5 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PRP = 0x88fb -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ ETH_P_XDSA = 0xf8 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x4000 -+ FFDLY = 0x4000 -+ FLUSHO = 0x800000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0x5 -+ F_GETLK64 = 0xc -+ F_GETOWN = 0x9 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OFD_GETLK = 0x24 -+ F_OFD_SETLK = 0x25 -+ F_OFD_SETLKW = 0x26 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x6 -+ F_SETLK64 = 0xd -+ F_SETLKW = 0x7 -+ F_SETLKW64 = 0xe -+ F_SETOWN = 0x8 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x4000 -+ IBSHIFT = 0x10 -+ ICANON = 0x100 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_MANAGETEMPADDR = 0x100 -+ IFA_F_NODAD = 0x2 -+ IFA_F_NOPREFIXROUTE = 0x200 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x8 -+ IFF_ALLMULTI = 0x200 -+ IFF_ATTACH_QUEUE = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DETACH_QUEUE = 0x400 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_ECHO = 0x40000 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MASTER = 0x400 -+ IFF_MULTICAST = 0x1000 -+ IFF_MULTI_QUEUE = 0x100 -+ IFF_NOARP = 0x80 -+ IFF_NOFILTER = 0x1000 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_PERSIST = 0x800 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x800 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_BEETPH = 0x5e -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_INTERFACE = 0x4 -+ IPV6_PMTUDISC_OMIT = 0x5 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_NODEFRAG = 0x16 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_INTERFACE = 0x4 -+ IP_PMTUDISC_OMIT = 0x5 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_UNICAST_IF = 0x32 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IUCLC = 0x1000 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DODUMP = 0x11 -+ MADV_DOFORK = 0xb -+ MADV_DONTDUMP = 0x10 -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x20 -+ MAP_ANONYMOUS = 0x20 -+ MAP_DENYWRITE = 0x800 -+ MAP_EXECUTABLE = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x100 -+ MAP_HUGETLB = 0x40000 -+ MAP_HUGE_MASK = 0x3f -+ MAP_HUGE_SHIFT = 0x1a -+ MAP_LOCKED = 0x80 -+ MAP_NONBLOCK = 0x10000 -+ MAP_NORESERVE = 0x40 -+ MAP_POPULATE = 0x8000 -+ MAP_PRIVATE = 0x2 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x20000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x2000 -+ MCL_FUTURE = 0x4000 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CAP_ACK = 0xa -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_LISTEN_ALL_NSID = 0x8 -+ NETLINK_LIST_MEMBERSHIPS = 0x9 -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NL2 = 0x200 -+ NL3 = 0x300 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x300 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80000000 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x4 -+ ONLCR = 0x2 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x400 -+ O_ASYNC = 0x2000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x40 -+ O_DIRECT = 0x20000 -+ O_DIRECTORY = 0x4000 -+ O_DSYNC = 0x1000 -+ O_EXCL = 0x80 -+ O_FSYNC = 0x101000 -+ O_LARGEFILE = 0x0 -+ O_NDELAY = 0x800 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x100 -+ O_NOFOLLOW = 0x8000 -+ O_NONBLOCK = 0x800 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x101000 -+ O_SYNC = 0x101000 -+ O_TMPFILE = 0x410000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FANOUT_QM = 0x5 -+ PACKET_FANOUT_RND = 0x4 -+ PACKET_FANOUT_ROLLOVER = 0x3 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_KERNEL = 0x7 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_QDISC_BYPASS = 0x14 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_HAS_OFF = 0x13 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_USER = 0x6 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x1000 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_SAO = 0x10 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_GET_CHILD_SUBREAPER = 0x25 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_THP_DISABLE = 0x2a -+ PR_GET_TID_ADDRESS = 0x28 -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_SET_CHILD_SUBREAPER = 0x24 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_ARG_END = 0x9 -+ PR_SET_MM_ARG_START = 0x8 -+ PR_SET_MM_AUXV = 0xc -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_ENV_END = 0xb -+ PR_SET_MM_ENV_START = 0xa -+ PR_SET_MM_EXE_FILE = 0xd -+ PR_SET_MM_MAP = 0xe -+ PR_SET_MM_MAP_SIZE = 0xf -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = -0x1 -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_THP_DISABLE = 0x29 -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETEVRREGS = 0x14 -+ PTRACE_GETFPREGS = 0xe -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGS64 = 0x16 -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GETSIGMASK = 0x420a -+ PTRACE_GETVRREGS = 0x12 -+ PTRACE_GETVSRREGS = 0x1b -+ PTRACE_GET_DEBUGREG = 0x19 -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_O_EXITKILL = 0x100000 -+ PTRACE_O_MASK = 0x1000ff -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKSIGINFO = 0x4209 -+ PTRACE_PEEKSIGINFO_SHARED = 0x1 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SETEVRREGS = 0x15 -+ PTRACE_SETFPREGS = 0xf -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGS64 = 0x17 -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SETSIGMASK = 0x420b -+ PTRACE_SETVRREGS = 0x13 -+ PTRACE_SETVSRREGS = 0x1c -+ PTRACE_SET_DEBUGREG = 0x1a -+ PTRACE_SINGLEBLOCK = 0x100 -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TRACEME = 0x0 -+ PT_CCR = 0x26 -+ PT_CTR = 0x23 -+ PT_DAR = 0x29 -+ PT_DSCR = 0x2c -+ PT_DSISR = 0x2a -+ PT_FPR0 = 0x30 -+ PT_FPSCR = 0x50 -+ PT_LNK = 0x24 -+ PT_MSR = 0x21 -+ PT_NIP = 0x20 -+ PT_ORIG_R3 = 0x22 -+ PT_R0 = 0x0 -+ PT_R1 = 0x1 -+ PT_R10 = 0xa -+ PT_R11 = 0xb -+ PT_R12 = 0xc -+ PT_R13 = 0xd -+ PT_R14 = 0xe -+ PT_R15 = 0xf -+ PT_R16 = 0x10 -+ PT_R17 = 0x11 -+ PT_R18 = 0x12 -+ PT_R19 = 0x13 -+ PT_R2 = 0x2 -+ PT_R20 = 0x14 -+ PT_R21 = 0x15 -+ PT_R22 = 0x16 -+ PT_R23 = 0x17 -+ PT_R24 = 0x18 -+ PT_R25 = 0x19 -+ PT_R26 = 0x1a -+ PT_R27 = 0x1b -+ PT_R28 = 0x1c -+ PT_R29 = 0x1d -+ PT_R3 = 0x3 -+ PT_R30 = 0x1e -+ PT_R31 = 0x1f -+ PT_R4 = 0x4 -+ PT_R5 = 0x5 -+ PT_R6 = 0x6 -+ PT_R7 = 0x7 -+ PT_R8 = 0x8 -+ PT_R9 = 0x9 -+ PT_REGS_COUNT = 0x2c -+ PT_RESULT = 0x2b -+ PT_SOFTE = 0x27 -+ PT_TRAP = 0x28 -+ PT_VR0 = 0x52 -+ PT_VRSAVE = 0x94 -+ PT_VSCR = 0x93 -+ PT_VSR0 = 0x96 -+ PT_VSR31 = 0xd4 -+ PT_XER = 0x25 -+ RLIMIT_AS = 0x9 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x7 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0xf -+ RTAX_MTU = 0x2 -+ RTAX_QUICKACK = 0xf -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x11 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELMDB = 0x55 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMDB = 0x56 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETNETCONF = 0x52 -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x57 -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWMDB = 0x54 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWNETCONF = 0x50 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x12 -+ RTM_NR_MSGTYPES = 0x48 -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MROUTED = 0x11 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SCM_WIFI_STATUS = 0x29 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x8905 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x8904 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x8902 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x2 -+ SOCK_NONBLOCK = 0x800 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_AAL = 0x109 -+ SOL_ATM = 0x108 -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_NETLINK = 0x10e -+ SOL_PACKET = 0x107 -+ SOL_RAW = 0xff -+ SOL_SOCKET = 0x1 -+ SOL_TCP = 0x6 -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1e -+ SO_ATTACH_FILTER = 0x1a -+ SO_BINDTODEVICE = 0x19 -+ SO_BPF_EXTENSIONS = 0x30 -+ SO_BROADCAST = 0x6 -+ SO_BSDCOMPAT = 0xe -+ SO_BUSY_POLL = 0x2e -+ SO_DEBUG = 0x1 -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x27 -+ SO_DONTROUTE = 0x5 -+ SO_ERROR = 0x4 -+ SO_GET_FILTER = 0x1a -+ SO_KEEPALIVE = 0x9 -+ SO_LINGER = 0xd -+ SO_LOCK_FILTER = 0x2c -+ SO_MARK = 0x24 -+ SO_MAX_PACING_RATE = 0x2f -+ SO_NOFCS = 0x2b -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0xa -+ SO_PASSCRED = 0x14 -+ SO_PASSSEC = 0x22 -+ SO_PEEK_OFF = 0x2a -+ SO_PEERCRED = 0x15 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1f -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x26 -+ SO_RCVBUF = 0x8 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x10 -+ SO_RCVTIMEO = 0x12 -+ SO_REUSEADDR = 0x2 -+ SO_REUSEPORT = 0xf -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SELECT_ERR_QUEUE = 0x2d -+ SO_SNDBUF = 0x7 -+ SO_SNDBUFFORCE = 0x20 -+ SO_SNDLOWAT = 0x11 -+ SO_SNDTIMEO = 0x13 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x3 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SO_WIFI_STATUS = 0x29 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x400 -+ TAB2 = 0x800 -+ TAB3 = 0xc00 -+ TABDLY = 0xc00 -+ TCFLSH = 0x2000741f -+ TCGETA = 0x40147417 -+ TCGETS = 0x402c7413 -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CONGESTION = 0xd -+ TCP_COOKIE_IN_ALWAYS = 0x1 -+ TCP_COOKIE_MAX = 0x10 -+ TCP_COOKIE_MIN = 0x8 -+ TCP_COOKIE_OUT_NEVER = 0x2 -+ TCP_COOKIE_PAIR_SIZE = 0x20 -+ TCP_COOKIE_TRANSACTIONS = 0xf -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_FASTOPEN = 0x17 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_MSS_DEFAULT = 0x218 -+ TCP_MSS_DESIRED = 0x4c4 -+ TCP_NODELAY = 0x1 -+ TCP_QUEUE_SEQ = 0x15 -+ TCP_QUICKACK = 0xc -+ TCP_REPAIR = 0x13 -+ TCP_REPAIR_OPTIONS = 0x16 -+ TCP_REPAIR_QUEUE = 0x14 -+ TCP_SYNCNT = 0x7 -+ TCP_S_DATA_IN = 0x4 -+ TCP_S_DATA_OUT = 0x8 -+ TCP_THIN_DUPACK = 0x11 -+ TCP_THIN_LINEAR_TIMEOUTS = 0x10 -+ TCP_TIMESTAMP = 0x18 -+ TCP_USER_TIMEOUT = 0x12 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x2 -+ TCSBRK = 0x2000741d -+ TCSBRKP = 0x5425 -+ TCSETA = 0x80147418 -+ TCSETAF = 0x8014741c -+ TCSETAW = 0x80147419 -+ TCSETS = 0x802c7414 -+ TCSETSF = 0x802c7416 -+ TCSETSW = 0x802c7415 -+ TCXONC = 0x2000741e -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x541d -+ TIOCEXCL = 0x540c -+ TIOCGDEV = 0x40045432 -+ TIOCGETC = 0x40067412 -+ TIOCGETD = 0x5424 -+ TIOCGETP = 0x40067408 -+ TIOCGEXCL = 0x40045440 -+ TIOCGICOUNT = 0x545d -+ TIOCGLCKTRMIOS = 0x5456 -+ TIOCGLTC = 0x40067474 -+ TIOCGPGRP = 0x40047477 -+ TIOCGPKT = 0x40045438 -+ TIOCGPTLCK = 0x40045439 -+ TIOCGPTN = 0x40045430 -+ TIOCGRS485 = 0x542e -+ TIOCGSERIAL = 0x541e -+ TIOCGSID = 0x5429 -+ TIOCGSOFTCAR = 0x5419 -+ TIOCGWINSZ = 0x40087468 -+ TIOCINQ = 0x4004667f -+ TIOCLINUX = 0x541c -+ TIOCMBIC = 0x5417 -+ TIOCMBIS = 0x5416 -+ TIOCMGET = 0x5415 -+ TIOCMIWAIT = 0x545c -+ TIOCMSET = 0x5418 -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_LOOP = 0x8000 -+ TIOCM_OUT1 = 0x2000 -+ TIOCM_OUT2 = 0x4000 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x5422 -+ TIOCNXCL = 0x540d -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x5420 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x540e -+ TIOCSERCONFIG = 0x5453 -+ TIOCSERGETLSR = 0x5459 -+ TIOCSERGETMULTI = 0x545a -+ TIOCSERGSTRUCT = 0x5458 -+ TIOCSERGWILD = 0x5454 -+ TIOCSERSETMULTI = 0x545b -+ TIOCSERSWILD = 0x5455 -+ TIOCSER_TEMT = 0x1 -+ TIOCSETC = 0x80067411 -+ TIOCSETD = 0x5423 -+ TIOCSETN = 0x8006740a -+ TIOCSETP = 0x80067409 -+ TIOCSIG = 0x80045436 -+ TIOCSLCKTRMIOS = 0x5457 -+ TIOCSLTC = 0x80067475 -+ TIOCSPGRP = 0x80047476 -+ TIOCSPTLCK = 0x80045431 -+ TIOCSRS485 = 0x542f -+ TIOCSSERIAL = 0x541f -+ TIOCSSOFTCAR = 0x541a -+ TIOCSTART = 0x2000746e -+ TIOCSTI = 0x5412 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x400000 -+ TUNATTACHFILTER = 0x801054d5 -+ TUNDETACHFILTER = 0x801054d6 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETFILTER = 0x401054db -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNSETDEBUG = 0x800454c9 -+ TUNSETGROUP = 0x800454ce -+ TUNSETIFF = 0x800454ca -+ TUNSETIFINDEX = 0x800454da -+ TUNSETLINK = 0x800454cd -+ TUNSETNOCSUM = 0x800454c8 -+ TUNSETOFFLOAD = 0x800454d0 -+ TUNSETOWNER = 0x800454cc -+ TUNSETPERSIST = 0x800454cb -+ TUNSETQUEUE = 0x800454d9 -+ TUNSETSNDBUF = 0x800454d4 -+ TUNSETTXFILTER = 0x800454d1 -+ TUNSETVNETHDRSZ = 0x800454d8 -+ VDISCARD = 0x10 -+ VEOF = 0x4 -+ VEOL = 0x6 -+ VEOL2 = 0x8 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x5 -+ VQUIT = 0x1 -+ VREPRINT = 0xb -+ VSTART = 0xd -+ VSTOP = 0xe -+ VSUSP = 0xc -+ VSWTC = 0x9 -+ VT0 = 0x0 -+ VT1 = 0x10000 -+ VTDLY = 0x10000 -+ VTIME = 0x7 -+ VWERASE = 0xa -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XCASE = 0x4000 -+ XTABS = 0xc00 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x62) -+ EADDRNOTAVAIL = syscall.Errno(0x63) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x61) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x72) -+ EBADE = syscall.Errno(0x34) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x4d) -+ EBADMSG = syscall.Errno(0x4a) -+ EBADR = syscall.Errno(0x35) -+ EBADRQC = syscall.Errno(0x38) -+ EBADSLT = syscall.Errno(0x39) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x7d) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x2c) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x67) -+ ECONNREFUSED = syscall.Errno(0x6f) -+ ECONNRESET = syscall.Errno(0x68) -+ EDEADLK = syscall.Errno(0x23) -+ EDEADLOCK = syscall.Errno(0x3a) -+ EDESTADDRREQ = syscall.Errno(0x59) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x7a) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x70) -+ EHOSTUNREACH = syscall.Errno(0x71) -+ EHWPOISON = syscall.Errno(0x85) -+ EIDRM = syscall.Errno(0x2b) -+ EILSEQ = syscall.Errno(0x54) -+ EINPROGRESS = syscall.Errno(0x73) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x6a) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x78) -+ EKEYEXPIRED = syscall.Errno(0x7f) -+ EKEYREJECTED = syscall.Errno(0x81) -+ EKEYREVOKED = syscall.Errno(0x80) -+ EL2HLT = syscall.Errno(0x33) -+ EL2NSYNC = syscall.Errno(0x2d) -+ EL3HLT = syscall.Errno(0x2e) -+ EL3RST = syscall.Errno(0x2f) -+ ELIBACC = syscall.Errno(0x4f) -+ ELIBBAD = syscall.Errno(0x50) -+ ELIBEXEC = syscall.Errno(0x53) -+ ELIBMAX = syscall.Errno(0x52) -+ ELIBSCN = syscall.Errno(0x51) -+ ELNRNG = syscall.Errno(0x30) -+ ELOOP = syscall.Errno(0x28) -+ EMEDIUMTYPE = syscall.Errno(0x7c) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x5a) -+ EMULTIHOP = syscall.Errno(0x48) -+ ENAMETOOLONG = syscall.Errno(0x24) -+ ENAVAIL = syscall.Errno(0x77) -+ ENETDOWN = syscall.Errno(0x64) -+ ENETRESET = syscall.Errno(0x66) -+ ENETUNREACH = syscall.Errno(0x65) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x37) -+ ENOBUFS = syscall.Errno(0x69) -+ ENOCSI = syscall.Errno(0x32) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0x7e) -+ ENOLCK = syscall.Errno(0x25) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x7b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x2a) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x5c) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x26) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x6b) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x27) -+ ENOTNAM = syscall.Errno(0x76) -+ ENOTRECOVERABLE = syscall.Errno(0x83) -+ ENOTSOCK = syscall.Errno(0x58) -+ ENOTSUP = syscall.Errno(0x5f) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x4c) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x5f) -+ EOVERFLOW = syscall.Errno(0x4b) -+ EOWNERDEAD = syscall.Errno(0x82) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x60) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x5d) -+ EPROTOTYPE = syscall.Errno(0x5b) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x4e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x79) -+ ERESTART = syscall.Errno(0x55) -+ ERFKILL = syscall.Errno(0x84) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x6c) -+ ESOCKTNOSUPPORT = syscall.Errno(0x5e) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x74) -+ ESTRPIPE = syscall.Errno(0x56) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x6e) -+ ETOOMANYREFS = syscall.Errno(0x6d) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x75) -+ EUNATCH = syscall.Errno(0x31) -+ EUSERS = syscall.Errno(0x57) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x36) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0x7) -+ SIGCHLD = syscall.Signal(0x11) -+ SIGCLD = syscall.Signal(0x11) -+ SIGCONT = syscall.Signal(0x12) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x1d) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x1d) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x1e) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTKFLT = syscall.Signal(0x10) -+ SIGSTOP = syscall.Signal(0x13) -+ SIGSYS = syscall.Signal(0x1f) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x14) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGUNUSED = syscall.Signal(0x1f) -+ SIGURG = syscall.Signal(0x17) -+ SIGUSR1 = syscall.Signal(0xa) -+ SIGUSR2 = syscall.Signal(0xc) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "resource deadlock avoided", -+ 36: "file name too long", -+ 37: "no locks available", -+ 38: "function not implemented", -+ 39: "directory not empty", -+ 40: "too many levels of symbolic links", -+ 42: "no message of desired type", -+ 43: "identifier removed", -+ 44: "channel number out of range", -+ 45: "level 2 not synchronized", -+ 46: "level 3 halted", -+ 47: "level 3 reset", -+ 48: "link number out of range", -+ 49: "protocol driver not attached", -+ 50: "no CSI structure available", -+ 51: "level 2 halted", -+ 52: "invalid exchange", -+ 53: "invalid request descriptor", -+ 54: "exchange full", -+ 55: "no anode", -+ 56: "invalid request code", -+ 57: "invalid slot", -+ 58: "file locking deadlock error", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 72: "multihop attempted", -+ 73: "RFS specific error", -+ 74: "bad message", -+ 75: "value too large for defined data type", -+ 76: "name not unique on network", -+ 77: "file descriptor in bad state", -+ 78: "remote address changed", -+ 79: "can not access a needed shared library", -+ 80: "accessing a corrupted shared library", -+ 81: ".lib section in a.out corrupted", -+ 82: "attempting to link in too many shared libraries", -+ 83: "cannot exec a shared library directly", -+ 84: "invalid or incomplete multibyte or wide character", -+ 85: "interrupted system call should be restarted", -+ 86: "streams pipe error", -+ 87: "too many users", -+ 88: "socket operation on non-socket", -+ 89: "destination address required", -+ 90: "message too long", -+ 91: "protocol wrong type for socket", -+ 92: "protocol not available", -+ 93: "protocol not supported", -+ 94: "socket type not supported", -+ 95: "operation not supported", -+ 96: "protocol family not supported", -+ 97: "address family not supported by protocol", -+ 98: "address already in use", -+ 99: "cannot assign requested address", -+ 100: "network is down", -+ 101: "network is unreachable", -+ 102: "network dropped connection on reset", -+ 103: "software caused connection abort", -+ 104: "connection reset by peer", -+ 105: "no buffer space available", -+ 106: "transport endpoint is already connected", -+ 107: "transport endpoint is not connected", -+ 108: "cannot send after transport endpoint shutdown", -+ 109: "too many references: cannot splice", -+ 110: "connection timed out", -+ 111: "connection refused", -+ 112: "host is down", -+ 113: "no route to host", -+ 114: "operation already in progress", -+ 115: "operation now in progress", -+ 116: "stale file handle", -+ 117: "structure needs cleaning", -+ 118: "not a XENIX named type file", -+ 119: "no XENIX semaphores available", -+ 120: "is a named type file", -+ 121: "remote I/O error", -+ 122: "disk quota exceeded", -+ 123: "no medium found", -+ 124: "wrong medium type", -+ 125: "operation canceled", -+ 126: "required key not available", -+ 127: "key has expired", -+ 128: "key has been revoked", -+ 129: "key was rejected by service", -+ 130: "owner died", -+ 131: "state not recoverable", -+ 132: "operation not possible due to RF-kill", -+ 133: "memory page has hardware error", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "bus error", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "user defined signal 1", -+ 11: "segmentation fault", -+ 12: "user defined signal 2", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "stack fault", -+ 17: "child exited", -+ 18: "continued", -+ 19: "stopped (signal)", -+ 20: "stopped", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "urgent I/O condition", -+ 24: "CPU time limit exceeded", -+ 25: "file size limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window changed", -+ 29: "I/O possible", -+ 30: "power failure", -+ 31: "bad system call", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go -new file mode 100644 -index 0000000..5280d9e ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go -@@ -0,0 +1,2036 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build ppc64le,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x29 -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802154_MONITOR = 0x325 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IP6GRE = 0x337 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETLINK = 0x338 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x17 -+ B110 = 0x3 -+ B115200 = 0x11 -+ B1152000 = 0x18 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x19 -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x1a -+ B230400 = 0x12 -+ B2400 = 0xb -+ B2500000 = 0x1b -+ B300 = 0x7 -+ B3000000 = 0x1c -+ B3500000 = 0x1d -+ B38400 = 0xf -+ B4000000 = 0x1e -+ B460800 = 0x13 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x14 -+ B57600 = 0x10 -+ B576000 = 0x15 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x16 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1f -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MOD = 0x90 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XOR = 0xa0 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x8000 -+ BSDLY = 0x8000 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_ID_BITS = 0x1d -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_ID_BITS = 0xb -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0xff -+ CBAUDEX = 0x0 -+ CFLUSH = 0xf -+ CIBAUD = 0xff0000 -+ CLOCAL = 0x8000 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CR0 = 0x0 -+ CR1 = 0x1000 -+ CR2 = 0x2000 -+ CR3 = 0x3000 -+ CRDLY = 0x3000 -+ CREAD = 0x800 -+ CRTSCTS = 0x80000000 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIGNAL = 0xff -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWAKEUP = 0x20000000 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_802_3_MIN = 0x600 -+ ETH_P_802_EX1 = 0x88b5 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BATMAN = 0x4305 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CANFD = 0xd -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_MVRP = 0x88f5 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PRP = 0x88fb -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x4000 -+ FFDLY = 0x4000 -+ FLUSHO = 0x800000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0x5 -+ F_GETLK64 = 0xc -+ F_GETOWN = 0x9 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x6 -+ F_SETLK64 = 0xd -+ F_SETLKW = 0x7 -+ F_SETLKW64 = 0xe -+ F_SETOWN = 0x8 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x4000 -+ IBSHIFT = 0x10 -+ ICANON = 0x100 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_NODAD = 0x2 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x7 -+ IFF_802_1Q_VLAN = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_ATTACH_QUEUE = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BONDING = 0x20 -+ IFF_BRIDGE_PORT = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DETACH_QUEUE = 0x400 -+ IFF_DISABLE_NETPOLL = 0x1000 -+ IFF_DONT_BRIDGE = 0x800 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_EBRIDGE = 0x2 -+ IFF_ECHO = 0x40000 -+ IFF_ISATAP = 0x80 -+ IFF_LIVE_ADDR_CHANGE = 0x100000 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MACVLAN = 0x200000 -+ IFF_MACVLAN_PORT = 0x2000 -+ IFF_MASTER = 0x400 -+ IFF_MASTER_8023AD = 0x8 -+ IFF_MASTER_ALB = 0x10 -+ IFF_MASTER_ARPMON = 0x100 -+ IFF_MULTICAST = 0x1000 -+ IFF_MULTI_QUEUE = 0x100 -+ IFF_NOARP = 0x80 -+ IFF_NOFILTER = 0x1000 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_OVS_DATAPATH = 0x8000 -+ IFF_PERSIST = 0x800 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_SLAVE_INACTIVE = 0x4 -+ IFF_SLAVE_NEEDARP = 0x40 -+ IFF_SUPP_NOFCS = 0x80000 -+ IFF_TAP = 0x2 -+ IFF_TEAM_PORT = 0x40000 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_TX_SKB_SHARING = 0x10000 -+ IFF_UNICAST_FLT = 0x20000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFF_WAN_HDLC = 0x200 -+ IFF_XMIT_DST_RELEASE = 0x400 -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x800 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_BEETPH = 0x5e -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_UNICAST_IF = 0x32 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IUCLC = 0x1000 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DODUMP = 0x11 -+ MADV_DOFORK = 0xb -+ MADV_DONTDUMP = 0x10 -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x20 -+ MAP_ANONYMOUS = 0x20 -+ MAP_DENYWRITE = 0x800 -+ MAP_EXECUTABLE = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x100 -+ MAP_HUGETLB = 0x40000 -+ MAP_HUGE_MASK = 0x3f -+ MAP_HUGE_SHIFT = 0x1a -+ MAP_LOCKED = 0x80 -+ MAP_NONBLOCK = 0x10000 -+ MAP_NORESERVE = 0x40 -+ MAP_POPULATE = 0x8000 -+ MAP_PRIVATE = 0x2 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x20000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x2000 -+ MCL_FUTURE = 0x4000 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NL2 = 0x200 -+ NL3 = 0x300 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x300 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80000000 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x4 -+ ONLCR = 0x2 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x400 -+ O_ASYNC = 0x2000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x40 -+ O_DIRECT = 0x20000 -+ O_DIRECTORY = 0x4000 -+ O_DSYNC = 0x1000 -+ O_EXCL = 0x80 -+ O_FSYNC = 0x101000 -+ O_LARGEFILE = 0x0 -+ O_NDELAY = 0x800 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x100 -+ O_NOFOLLOW = 0x8000 -+ O_NONBLOCK = 0x800 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x101000 -+ O_SYNC = 0x101000 -+ O_TMPFILE = 0x410000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FANOUT_RND = 0x4 -+ PACKET_FANOUT_ROLLOVER = 0x3 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_HAS_OFF = 0x13 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x1000 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_SAO = 0x10 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_GET_CHILD_SUBREAPER = 0x25 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_TID_ADDRESS = 0x28 -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_SET_CHILD_SUBREAPER = 0x24 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_ARG_END = 0x9 -+ PR_SET_MM_ARG_START = 0x8 -+ PR_SET_MM_AUXV = 0xc -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_ENV_END = 0xb -+ PR_SET_MM_ENV_START = 0xa -+ PR_SET_MM_EXE_FILE = 0xd -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = -0x1 -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETEVRREGS = 0x14 -+ PTRACE_GETFPREGS = 0xe -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGS64 = 0x16 -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GETSIGMASK = 0x420a -+ PTRACE_GETVRREGS = 0x12 -+ PTRACE_GETVSRREGS = 0x1b -+ PTRACE_GET_DEBUGREG = 0x19 -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_O_EXITKILL = 0x100000 -+ PTRACE_O_MASK = 0x1000ff -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKSIGINFO = 0x4209 -+ PTRACE_PEEKSIGINFO_SHARED = 0x1 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SETEVRREGS = 0x15 -+ PTRACE_SETFPREGS = 0xf -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGS64 = 0x17 -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SETSIGMASK = 0x420b -+ PTRACE_SETVRREGS = 0x13 -+ PTRACE_SETVSRREGS = 0x1c -+ PTRACE_SET_DEBUGREG = 0x1a -+ PTRACE_SINGLEBLOCK = 0x100 -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TRACEME = 0x0 -+ PT_CCR = 0x26 -+ PT_CTR = 0x23 -+ PT_DAR = 0x29 -+ PT_DSCR = 0x2c -+ PT_DSISR = 0x2a -+ PT_FPR0 = 0x30 -+ PT_FPSCR = 0x50 -+ PT_LNK = 0x24 -+ PT_MSR = 0x21 -+ PT_NIP = 0x20 -+ PT_ORIG_R3 = 0x22 -+ PT_R0 = 0x0 -+ PT_R1 = 0x1 -+ PT_R10 = 0xa -+ PT_R11 = 0xb -+ PT_R12 = 0xc -+ PT_R13 = 0xd -+ PT_R14 = 0xe -+ PT_R15 = 0xf -+ PT_R16 = 0x10 -+ PT_R17 = 0x11 -+ PT_R18 = 0x12 -+ PT_R19 = 0x13 -+ PT_R2 = 0x2 -+ PT_R20 = 0x14 -+ PT_R21 = 0x15 -+ PT_R22 = 0x16 -+ PT_R23 = 0x17 -+ PT_R24 = 0x18 -+ PT_R25 = 0x19 -+ PT_R26 = 0x1a -+ PT_R27 = 0x1b -+ PT_R28 = 0x1c -+ PT_R29 = 0x1d -+ PT_R3 = 0x3 -+ PT_R30 = 0x1e -+ PT_R31 = 0x1f -+ PT_R4 = 0x4 -+ PT_R5 = 0x5 -+ PT_R6 = 0x6 -+ PT_R7 = 0x7 -+ PT_R8 = 0x8 -+ PT_R9 = 0x9 -+ PT_REGS_COUNT = 0x2c -+ PT_RESULT = 0x2b -+ PT_SOFTE = 0x27 -+ PT_TRAP = 0x28 -+ PT_VR0 = 0x52 -+ PT_VRSAVE = 0x94 -+ PT_VSCR = 0x93 -+ PT_VSR0 = 0x96 -+ PT_VSR31 = 0xd4 -+ PT_XER = 0x25 -+ RLIMIT_AS = 0x9 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x7 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0xf -+ RTAX_MTU = 0x2 -+ RTAX_QUICKACK = 0xf -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x11 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELMDB = 0x55 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMDB = 0x56 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETNETCONF = 0x52 -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x57 -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWMDB = 0x54 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWNETCONF = 0x50 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x12 -+ RTM_NR_MSGTYPES = 0x48 -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MROUTED = 0x11 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SCM_WIFI_STATUS = 0x29 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x8905 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x8904 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x8902 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x2 -+ SOCK_NONBLOCK = 0x800 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_AAL = 0x109 -+ SOL_ATM = 0x108 -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_NETLINK = 0x10e -+ SOL_PACKET = 0x107 -+ SOL_RAW = 0xff -+ SOL_SOCKET = 0x1 -+ SOL_TCP = 0x6 -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1e -+ SO_ATTACH_FILTER = 0x1a -+ SO_BINDTODEVICE = 0x19 -+ SO_BROADCAST = 0x6 -+ SO_BSDCOMPAT = 0xe -+ SO_BUSY_POLL = 0x2e -+ SO_DEBUG = 0x1 -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x27 -+ SO_DONTROUTE = 0x5 -+ SO_ERROR = 0x4 -+ SO_GET_FILTER = 0x1a -+ SO_KEEPALIVE = 0x9 -+ SO_LINGER = 0xd -+ SO_LOCK_FILTER = 0x2c -+ SO_MARK = 0x24 -+ SO_MAX_PACING_RATE = 0x2f -+ SO_NOFCS = 0x2b -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0xa -+ SO_PASSCRED = 0x14 -+ SO_PASSSEC = 0x22 -+ SO_PEEK_OFF = 0x2a -+ SO_PEERCRED = 0x15 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1f -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x26 -+ SO_RCVBUF = 0x8 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x10 -+ SO_RCVTIMEO = 0x12 -+ SO_REUSEADDR = 0x2 -+ SO_REUSEPORT = 0xf -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SELECT_ERR_QUEUE = 0x2d -+ SO_SNDBUF = 0x7 -+ SO_SNDBUFFORCE = 0x20 -+ SO_SNDLOWAT = 0x11 -+ SO_SNDTIMEO = 0x13 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x3 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SO_WIFI_STATUS = 0x29 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x400 -+ TAB2 = 0x800 -+ TAB3 = 0xc00 -+ TABDLY = 0xc00 -+ TCFLSH = 0x2000741f -+ TCGETA = 0x40147417 -+ TCGETS = 0x402c7413 -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CONGESTION = 0xd -+ TCP_COOKIE_IN_ALWAYS = 0x1 -+ TCP_COOKIE_MAX = 0x10 -+ TCP_COOKIE_MIN = 0x8 -+ TCP_COOKIE_OUT_NEVER = 0x2 -+ TCP_COOKIE_PAIR_SIZE = 0x20 -+ TCP_COOKIE_TRANSACTIONS = 0xf -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_FASTOPEN = 0x17 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_MSS_DEFAULT = 0x218 -+ TCP_MSS_DESIRED = 0x4c4 -+ TCP_NODELAY = 0x1 -+ TCP_QUEUE_SEQ = 0x15 -+ TCP_QUICKACK = 0xc -+ TCP_REPAIR = 0x13 -+ TCP_REPAIR_OPTIONS = 0x16 -+ TCP_REPAIR_QUEUE = 0x14 -+ TCP_SYNCNT = 0x7 -+ TCP_S_DATA_IN = 0x4 -+ TCP_S_DATA_OUT = 0x8 -+ TCP_THIN_DUPACK = 0x11 -+ TCP_THIN_LINEAR_TIMEOUTS = 0x10 -+ TCP_TIMESTAMP = 0x18 -+ TCP_USER_TIMEOUT = 0x12 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x2 -+ TCSBRK = 0x2000741d -+ TCSBRKP = 0x5425 -+ TCSETA = 0x80147418 -+ TCSETAF = 0x8014741c -+ TCSETAW = 0x80147419 -+ TCSETS = 0x802c7414 -+ TCSETSF = 0x802c7416 -+ TCSETSW = 0x802c7415 -+ TCXONC = 0x2000741e -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x541d -+ TIOCEXCL = 0x540c -+ TIOCGDEV = 0x40045432 -+ TIOCGETC = 0x40067412 -+ TIOCGETD = 0x5424 -+ TIOCGETP = 0x40067408 -+ TIOCGEXCL = 0x40045440 -+ TIOCGICOUNT = 0x545d -+ TIOCGLCKTRMIOS = 0x5456 -+ TIOCGLTC = 0x40067474 -+ TIOCGPGRP = 0x40047477 -+ TIOCGPKT = 0x40045438 -+ TIOCGPTLCK = 0x40045439 -+ TIOCGPTN = 0x40045430 -+ TIOCGRS485 = 0x542e -+ TIOCGSERIAL = 0x541e -+ TIOCGSID = 0x5429 -+ TIOCGSOFTCAR = 0x5419 -+ TIOCGWINSZ = 0x40087468 -+ TIOCINQ = 0x4004667f -+ TIOCLINUX = 0x541c -+ TIOCMBIC = 0x5417 -+ TIOCMBIS = 0x5416 -+ TIOCMGET = 0x5415 -+ TIOCMIWAIT = 0x545c -+ TIOCMSET = 0x5418 -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_LOOP = 0x8000 -+ TIOCM_OUT1 = 0x2000 -+ TIOCM_OUT2 = 0x4000 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x5422 -+ TIOCNXCL = 0x540d -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x5420 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x540e -+ TIOCSERCONFIG = 0x5453 -+ TIOCSERGETLSR = 0x5459 -+ TIOCSERGETMULTI = 0x545a -+ TIOCSERGSTRUCT = 0x5458 -+ TIOCSERGWILD = 0x5454 -+ TIOCSERSETMULTI = 0x545b -+ TIOCSERSWILD = 0x5455 -+ TIOCSER_TEMT = 0x1 -+ TIOCSETC = 0x80067411 -+ TIOCSETD = 0x5423 -+ TIOCSETN = 0x8006740a -+ TIOCSETP = 0x80067409 -+ TIOCSIG = 0x80045436 -+ TIOCSLCKTRMIOS = 0x5457 -+ TIOCSLTC = 0x80067475 -+ TIOCSPGRP = 0x80047476 -+ TIOCSPTLCK = 0x80045431 -+ TIOCSRS485 = 0x542f -+ TIOCSSERIAL = 0x541f -+ TIOCSSOFTCAR = 0x541a -+ TIOCSTART = 0x2000746e -+ TIOCSTI = 0x5412 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x400000 -+ TUNATTACHFILTER = 0x801054d5 -+ TUNDETACHFILTER = 0x801054d6 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETFILTER = 0x401054db -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNSETDEBUG = 0x800454c9 -+ TUNSETGROUP = 0x800454ce -+ TUNSETIFF = 0x800454ca -+ TUNSETIFINDEX = 0x800454da -+ TUNSETLINK = 0x800454cd -+ TUNSETNOCSUM = 0x800454c8 -+ TUNSETOFFLOAD = 0x800454d0 -+ TUNSETOWNER = 0x800454cc -+ TUNSETPERSIST = 0x800454cb -+ TUNSETQUEUE = 0x800454d9 -+ TUNSETSNDBUF = 0x800454d4 -+ TUNSETTXFILTER = 0x800454d1 -+ TUNSETVNETHDRSZ = 0x800454d8 -+ VDISCARD = 0x10 -+ VEOF = 0x4 -+ VEOL = 0x6 -+ VEOL2 = 0x8 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x5 -+ VQUIT = 0x1 -+ VREPRINT = 0xb -+ VSTART = 0xd -+ VSTOP = 0xe -+ VSUSP = 0xc -+ VSWTC = 0x9 -+ VT0 = 0x0 -+ VT1 = 0x10000 -+ VTDLY = 0x10000 -+ VTIME = 0x7 -+ VWERASE = 0xa -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XCASE = 0x4000 -+ XTABS = 0xc00 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x62) -+ EADDRNOTAVAIL = syscall.Errno(0x63) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x61) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x72) -+ EBADE = syscall.Errno(0x34) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x4d) -+ EBADMSG = syscall.Errno(0x4a) -+ EBADR = syscall.Errno(0x35) -+ EBADRQC = syscall.Errno(0x38) -+ EBADSLT = syscall.Errno(0x39) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x7d) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x2c) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x67) -+ ECONNREFUSED = syscall.Errno(0x6f) -+ ECONNRESET = syscall.Errno(0x68) -+ EDEADLK = syscall.Errno(0x23) -+ EDEADLOCK = syscall.Errno(0x3a) -+ EDESTADDRREQ = syscall.Errno(0x59) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x7a) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x70) -+ EHOSTUNREACH = syscall.Errno(0x71) -+ EHWPOISON = syscall.Errno(0x85) -+ EIDRM = syscall.Errno(0x2b) -+ EILSEQ = syscall.Errno(0x54) -+ EINPROGRESS = syscall.Errno(0x73) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x6a) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x78) -+ EKEYEXPIRED = syscall.Errno(0x7f) -+ EKEYREJECTED = syscall.Errno(0x81) -+ EKEYREVOKED = syscall.Errno(0x80) -+ EL2HLT = syscall.Errno(0x33) -+ EL2NSYNC = syscall.Errno(0x2d) -+ EL3HLT = syscall.Errno(0x2e) -+ EL3RST = syscall.Errno(0x2f) -+ ELIBACC = syscall.Errno(0x4f) -+ ELIBBAD = syscall.Errno(0x50) -+ ELIBEXEC = syscall.Errno(0x53) -+ ELIBMAX = syscall.Errno(0x52) -+ ELIBSCN = syscall.Errno(0x51) -+ ELNRNG = syscall.Errno(0x30) -+ ELOOP = syscall.Errno(0x28) -+ EMEDIUMTYPE = syscall.Errno(0x7c) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x5a) -+ EMULTIHOP = syscall.Errno(0x48) -+ ENAMETOOLONG = syscall.Errno(0x24) -+ ENAVAIL = syscall.Errno(0x77) -+ ENETDOWN = syscall.Errno(0x64) -+ ENETRESET = syscall.Errno(0x66) -+ ENETUNREACH = syscall.Errno(0x65) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x37) -+ ENOBUFS = syscall.Errno(0x69) -+ ENOCSI = syscall.Errno(0x32) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0x7e) -+ ENOLCK = syscall.Errno(0x25) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x7b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x2a) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x5c) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x26) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x6b) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x27) -+ ENOTNAM = syscall.Errno(0x76) -+ ENOTRECOVERABLE = syscall.Errno(0x83) -+ ENOTSOCK = syscall.Errno(0x58) -+ ENOTSUP = syscall.Errno(0x5f) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x4c) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x5f) -+ EOVERFLOW = syscall.Errno(0x4b) -+ EOWNERDEAD = syscall.Errno(0x82) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x60) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x5d) -+ EPROTOTYPE = syscall.Errno(0x5b) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x4e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x79) -+ ERESTART = syscall.Errno(0x55) -+ ERFKILL = syscall.Errno(0x84) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x6c) -+ ESOCKTNOSUPPORT = syscall.Errno(0x5e) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x74) -+ ESTRPIPE = syscall.Errno(0x56) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x6e) -+ ETOOMANYREFS = syscall.Errno(0x6d) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x75) -+ EUNATCH = syscall.Errno(0x31) -+ EUSERS = syscall.Errno(0x57) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x36) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0x7) -+ SIGCHLD = syscall.Signal(0x11) -+ SIGCLD = syscall.Signal(0x11) -+ SIGCONT = syscall.Signal(0x12) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x1d) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x1d) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x1e) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTKFLT = syscall.Signal(0x10) -+ SIGSTOP = syscall.Signal(0x13) -+ SIGSYS = syscall.Signal(0x1f) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x14) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGUNUSED = syscall.Signal(0x1f) -+ SIGURG = syscall.Signal(0x17) -+ SIGUSR1 = syscall.Signal(0xa) -+ SIGUSR2 = syscall.Signal(0xc) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "resource deadlock avoided", -+ 36: "file name too long", -+ 37: "no locks available", -+ 38: "function not implemented", -+ 39: "directory not empty", -+ 40: "too many levels of symbolic links", -+ 42: "no message of desired type", -+ 43: "identifier removed", -+ 44: "channel number out of range", -+ 45: "level 2 not synchronized", -+ 46: "level 3 halted", -+ 47: "level 3 reset", -+ 48: "link number out of range", -+ 49: "protocol driver not attached", -+ 50: "no CSI structure available", -+ 51: "level 2 halted", -+ 52: "invalid exchange", -+ 53: "invalid request descriptor", -+ 54: "exchange full", -+ 55: "no anode", -+ 56: "invalid request code", -+ 57: "invalid slot", -+ 58: "file locking deadlock error", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 72: "multihop attempted", -+ 73: "RFS specific error", -+ 74: "bad message", -+ 75: "value too large for defined data type", -+ 76: "name not unique on network", -+ 77: "file descriptor in bad state", -+ 78: "remote address changed", -+ 79: "can not access a needed shared library", -+ 80: "accessing a corrupted shared library", -+ 81: ".lib section in a.out corrupted", -+ 82: "attempting to link in too many shared libraries", -+ 83: "cannot exec a shared library directly", -+ 84: "invalid or incomplete multibyte or wide character", -+ 85: "interrupted system call should be restarted", -+ 86: "streams pipe error", -+ 87: "too many users", -+ 88: "socket operation on non-socket", -+ 89: "destination address required", -+ 90: "message too long", -+ 91: "protocol wrong type for socket", -+ 92: "protocol not available", -+ 93: "protocol not supported", -+ 94: "socket type not supported", -+ 95: "operation not supported", -+ 96: "protocol family not supported", -+ 97: "address family not supported by protocol", -+ 98: "address already in use", -+ 99: "cannot assign requested address", -+ 100: "network is down", -+ 101: "network is unreachable", -+ 102: "network dropped connection on reset", -+ 103: "software caused connection abort", -+ 104: "connection reset by peer", -+ 105: "no buffer space available", -+ 106: "transport endpoint is already connected", -+ 107: "transport endpoint is not connected", -+ 108: "cannot send after transport endpoint shutdown", -+ 109: "too many references: cannot splice", -+ 110: "connection timed out", -+ 111: "connection refused", -+ 112: "host is down", -+ 113: "no route to host", -+ 114: "operation already in progress", -+ 115: "operation now in progress", -+ 116: "stale file handle", -+ 117: "structure needs cleaning", -+ 118: "not a XENIX named type file", -+ 119: "no XENIX semaphores available", -+ 120: "is a named type file", -+ 121: "remote I/O error", -+ 122: "disk quota exceeded", -+ 123: "no medium found", -+ 124: "wrong medium type", -+ 125: "operation canceled", -+ 126: "required key not available", -+ 127: "key has expired", -+ 128: "key has been revoked", -+ 129: "key was rejected by service", -+ 130: "owner died", -+ 131: "state not recoverable", -+ 132: "operation not possible due to RF-kill", -+ 133: "memory page has hardware error", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "bus error", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "user defined signal 1", -+ 11: "segmentation fault", -+ 12: "user defined signal 2", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "stack fault", -+ 17: "child exited", -+ 18: "continued", -+ 19: "stopped (signal)", -+ 20: "stopped", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "urgent I/O condition", -+ 24: "CPU time limit exceeded", -+ 25: "file size limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window changed", -+ 29: "I/O possible", -+ 30: "power failure", -+ 31: "bad system call", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go -new file mode 100644 -index 0000000..81ad7a8 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go -@@ -0,0 +1,2093 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build s390x,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IB = 0x1b -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x29 -+ AF_MPLS = 0x1c -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_6LOWPAN = 0x339 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802154_MONITOR = 0x325 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IP6GRE = 0x337 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETLINK = 0x338 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ B0 = 0x0 -+ B1000000 = 0x1008 -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x1009 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100a -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100b -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B2500000 = 0x100c -+ B300 = 0x7 -+ B3000000 = 0x100d -+ B3500000 = 0x100e -+ B38400 = 0xf -+ B4000000 = 0x100f -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x1005 -+ B57600 = 0x1001 -+ B576000 = 0x1006 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x1007 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1000 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LL_OFF = -0x200000 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MOD = 0x90 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XOR = 0xa0 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x2000 -+ BSDLY = 0x2000 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_ID_BITS = 0x1d -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_ID_BITS = 0xb -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0x100f -+ CBAUDEX = 0x1000 -+ CFLUSH = 0xf -+ CIBAUD = 0x100f0000 -+ CLOCAL = 0x800 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_TAI = 0xb -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CR0 = 0x0 -+ CR1 = 0x200 -+ CR2 = 0x400 -+ CR3 = 0x600 -+ CRDLY = 0x600 -+ CREAD = 0x80 -+ CRTSCTS = 0x80000000 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWAKEUP = 0x20000000 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_80221 = 0x8917 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_802_3_MIN = 0x600 -+ ETH_P_802_EX1 = 0x88b5 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BATMAN = 0x4305 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CANFD = 0xd -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_LOOPBACK = 0x9000 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_MVRP = 0x88f5 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PRP = 0x88fb -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_TSN = 0x22f0 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ ETH_P_XDSA = 0xf8 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x1000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0x5 -+ F_GETLK64 = 0x5 -+ F_GETOWN = 0x9 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OFD_GETLK = 0x24 -+ F_OFD_SETLK = 0x25 -+ F_OFD_SETLKW = 0x26 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x6 -+ F_SETLK64 = 0x6 -+ F_SETLKW = 0x7 -+ F_SETLKW64 = 0x7 -+ F_SETOWN = 0x8 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x400 -+ IBSHIFT = 0x10 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x8000 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_MANAGETEMPADDR = 0x100 -+ IFA_F_MCAUTOJOIN = 0x400 -+ IFA_F_NODAD = 0x2 -+ IFA_F_NOPREFIXROUTE = 0x200 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_STABLE_PRIVACY = 0x800 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x8 -+ IFF_ALLMULTI = 0x200 -+ IFF_ATTACH_QUEUE = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DETACH_QUEUE = 0x400 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_ECHO = 0x40000 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MASTER = 0x400 -+ IFF_MULTICAST = 0x1000 -+ IFF_MULTI_QUEUE = 0x100 -+ IFF_NOARP = 0x80 -+ IFF_NOFILTER = 0x1000 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_PERSIST = 0x800 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x800 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_BEETPH = 0x5e -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MPLS = 0x89 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PATHMTU = 0x3d -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_INTERFACE = 0x4 -+ IPV6_PMTUDISC_OMIT = 0x5 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPATHMTU = 0x3c -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BIND_ADDRESS_NO_PORT = 0x18 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_CHECKSUM = 0x17 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_NODEFRAG = 0x16 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_INTERFACE = 0x4 -+ IP_PMTUDISC_OMIT = 0x5 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_UNICAST_IF = 0x32 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IUCLC = 0x200 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DODUMP = 0x11 -+ MADV_DOFORK = 0xb -+ MADV_DONTDUMP = 0x10 -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x20 -+ MAP_ANONYMOUS = 0x20 -+ MAP_DENYWRITE = 0x800 -+ MAP_EXECUTABLE = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x100 -+ MAP_HUGETLB = 0x40000 -+ MAP_HUGE_MASK = 0x3f -+ MAP_HUGE_SHIFT = 0x1a -+ MAP_LOCKED = 0x2000 -+ MAP_NONBLOCK = 0x10000 -+ MAP_NORESERVE = 0x4000 -+ MAP_POPULATE = 0x8000 -+ MAP_PRIVATE = 0x2 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x20000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MCL_ONFAULT = 0x4 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_LAZYTIME = 0x2000000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x2800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CAP_ACK = 0xa -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_LISTEN_ALL_NSID = 0x8 -+ NETLINK_LIST_MEMBERSHIPS = 0x9 -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x100 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x2 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x400 -+ O_ASYNC = 0x2000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x40 -+ O_DIRECT = 0x4000 -+ O_DIRECTORY = 0x10000 -+ O_DSYNC = 0x1000 -+ O_EXCL = 0x80 -+ O_FSYNC = 0x101000 -+ O_LARGEFILE = 0x0 -+ O_NDELAY = 0x800 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x100 -+ O_NOFOLLOW = 0x20000 -+ O_NONBLOCK = 0x800 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x101000 -+ O_SYNC = 0x101000 -+ O_TMPFILE = 0x410000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CBPF = 0x6 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_DATA = 0x16 -+ PACKET_FANOUT_EBPF = 0x7 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FANOUT_QM = 0x5 -+ PACKET_FANOUT_RND = 0x4 -+ PACKET_FANOUT_ROLLOVER = 0x3 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_KERNEL = 0x7 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_QDISC_BYPASS = 0x14 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_ROLLOVER_STATS = 0x15 -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_HAS_OFF = 0x13 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_USER = 0x6 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x100 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_CAP_AMBIENT = 0x2f -+ PR_CAP_AMBIENT_CLEAR_ALL = 0x4 -+ PR_CAP_AMBIENT_IS_SET = 0x1 -+ PR_CAP_AMBIENT_LOWER = 0x3 -+ PR_CAP_AMBIENT_RAISE = 0x2 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_FP_MODE_FR = 0x1 -+ PR_FP_MODE_FRE = 0x2 -+ PR_GET_CHILD_SUBREAPER = 0x25 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_FP_MODE = 0x2e -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_THP_DISABLE = 0x2a -+ PR_GET_TID_ADDRESS = 0x28 -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_MPX_DISABLE_MANAGEMENT = 0x2c -+ PR_MPX_ENABLE_MANAGEMENT = 0x2b -+ PR_SET_CHILD_SUBREAPER = 0x24 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_FP_MODE = 0x2d -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_ARG_END = 0x9 -+ PR_SET_MM_ARG_START = 0x8 -+ PR_SET_MM_AUXV = 0xc -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_ENV_END = 0xb -+ PR_SET_MM_ENV_START = 0xa -+ PR_SET_MM_EXE_FILE = 0xd -+ PR_SET_MM_MAP = 0xe -+ PR_SET_MM_MAP_SIZE = 0xf -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = -0x1 -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_THP_DISABLE = 0x29 -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_DISABLE_TE = 0x5010 -+ PTRACE_ENABLE_TE = 0x5009 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GETSIGMASK = 0x420a -+ PTRACE_GET_LAST_BREAK = 0x5006 -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_OLDSETOPTIONS = 0x15 -+ PTRACE_O_EXITKILL = 0x100000 -+ PTRACE_O_MASK = 0x3000ff -+ PTRACE_O_SUSPEND_SECCOMP = 0x200000 -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKDATA_AREA = 0x5003 -+ PTRACE_PEEKSIGINFO = 0x4209 -+ PTRACE_PEEKSIGINFO_SHARED = 0x1 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKTEXT_AREA = 0x5002 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_PEEKUSR_AREA = 0x5000 -+ PTRACE_PEEK_SYSTEM_CALL = 0x5007 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKEDATA_AREA = 0x5005 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKETEXT_AREA = 0x5004 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_POKEUSR_AREA = 0x5001 -+ PTRACE_POKE_SYSTEM_CALL = 0x5008 -+ PTRACE_PROT = 0x15 -+ PTRACE_SECCOMP_GET_FILTER = 0x420c -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SETSIGMASK = 0x420b -+ PTRACE_SINGLEBLOCK = 0xc -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TE_ABORT_RAND = 0x5011 -+ PTRACE_TRACEME = 0x0 -+ PT_ACR0 = 0x90 -+ PT_ACR1 = 0x94 -+ PT_ACR10 = 0xb8 -+ PT_ACR11 = 0xbc -+ PT_ACR12 = 0xc0 -+ PT_ACR13 = 0xc4 -+ PT_ACR14 = 0xc8 -+ PT_ACR15 = 0xcc -+ PT_ACR2 = 0x98 -+ PT_ACR3 = 0x9c -+ PT_ACR4 = 0xa0 -+ PT_ACR5 = 0xa4 -+ PT_ACR6 = 0xa8 -+ PT_ACR7 = 0xac -+ PT_ACR8 = 0xb0 -+ PT_ACR9 = 0xb4 -+ PT_CR_10 = 0x168 -+ PT_CR_11 = 0x170 -+ PT_CR_9 = 0x160 -+ PT_ENDREGS = 0x1af -+ PT_FPC = 0xd8 -+ PT_FPR0 = 0xe0 -+ PT_FPR1 = 0xe8 -+ PT_FPR10 = 0x130 -+ PT_FPR11 = 0x138 -+ PT_FPR12 = 0x140 -+ PT_FPR13 = 0x148 -+ PT_FPR14 = 0x150 -+ PT_FPR15 = 0x158 -+ PT_FPR2 = 0xf0 -+ PT_FPR3 = 0xf8 -+ PT_FPR4 = 0x100 -+ PT_FPR5 = 0x108 -+ PT_FPR6 = 0x110 -+ PT_FPR7 = 0x118 -+ PT_FPR8 = 0x120 -+ PT_FPR9 = 0x128 -+ PT_GPR0 = 0x10 -+ PT_GPR1 = 0x18 -+ PT_GPR10 = 0x60 -+ PT_GPR11 = 0x68 -+ PT_GPR12 = 0x70 -+ PT_GPR13 = 0x78 -+ PT_GPR14 = 0x80 -+ PT_GPR15 = 0x88 -+ PT_GPR2 = 0x20 -+ PT_GPR3 = 0x28 -+ PT_GPR4 = 0x30 -+ PT_GPR5 = 0x38 -+ PT_GPR6 = 0x40 -+ PT_GPR7 = 0x48 -+ PT_GPR8 = 0x50 -+ PT_GPR9 = 0x58 -+ PT_IEEE_IP = 0x1a8 -+ PT_LASTOFF = 0x1a8 -+ PT_ORIGGPR2 = 0xd0 -+ PT_PSWADDR = 0x8 -+ PT_PSWMASK = 0x0 -+ RLIMIT_AS = 0x9 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x7 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CC_ALGO = 0x10 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_MASK = 0xf -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0x10 -+ RTAX_MTU = 0x2 -+ RTAX_QUICKACK = 0xf -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x16 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELMDB = 0x55 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELNSID = 0x59 -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_LOOKUP_TABLE = 0x1000 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMDB = 0x56 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETNETCONF = 0x52 -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x5b -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWMDB = 0x54 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWNETCONF = 0x50 -+ RTM_NEWNSID = 0x58 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x13 -+ RTM_NR_MSGTYPES = 0x4c -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_COMPARE_MASK = 0x11 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_LINKDOWN = 0x10 -+ RTNH_F_OFFLOAD = 0x8 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BABEL = 0x2a -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MROUTED = 0x11 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPNS = 0x23 -+ SCM_WIFI_STATUS = 0x29 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x8905 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCGARP = 0x8954 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGPGRP = 0x8904 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSPGRP = 0x8902 -+ SIOCSRARP = 0x8962 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x2 -+ SOCK_NONBLOCK = 0x800 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_AAL = 0x109 -+ SOL_ATM = 0x108 -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_NETLINK = 0x10e -+ SOL_PACKET = 0x107 -+ SOL_RAW = 0xff -+ SOL_SOCKET = 0x1 -+ SOL_TCP = 0x6 -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1e -+ SO_ATTACH_BPF = 0x32 -+ SO_ATTACH_FILTER = 0x1a -+ SO_BINDTODEVICE = 0x19 -+ SO_BPF_EXTENSIONS = 0x30 -+ SO_BROADCAST = 0x6 -+ SO_BSDCOMPAT = 0xe -+ SO_BUSY_POLL = 0x2e -+ SO_DEBUG = 0x1 -+ SO_DETACH_BPF = 0x1b -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x27 -+ SO_DONTROUTE = 0x5 -+ SO_ERROR = 0x4 -+ SO_GET_FILTER = 0x1a -+ SO_INCOMING_CPU = 0x31 -+ SO_KEEPALIVE = 0x9 -+ SO_LINGER = 0xd -+ SO_LOCK_FILTER = 0x2c -+ SO_MARK = 0x24 -+ SO_MAX_PACING_RATE = 0x2f -+ SO_NOFCS = 0x2b -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0xa -+ SO_PASSCRED = 0x10 -+ SO_PASSSEC = 0x22 -+ SO_PEEK_OFF = 0x2a -+ SO_PEERCRED = 0x11 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1f -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x26 -+ SO_RCVBUF = 0x8 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x12 -+ SO_RCVTIMEO = 0x14 -+ SO_REUSEADDR = 0x2 -+ SO_REUSEPORT = 0xf -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SELECT_ERR_QUEUE = 0x2d -+ SO_SNDBUF = 0x7 -+ SO_SNDBUFFORCE = 0x20 -+ SO_SNDLOWAT = 0x13 -+ SO_SNDTIMEO = 0x15 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TYPE = 0x3 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SO_WIFI_STATUS = 0x29 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x800 -+ TAB2 = 0x1000 -+ TAB3 = 0x1800 -+ TABDLY = 0x1800 -+ TCFLSH = 0x540b -+ TCGETA = 0x5405 -+ TCGETS = 0x5401 -+ TCGETS2 = 0x802c542a -+ TCGETX = 0x5432 -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CC_INFO = 0x1a -+ TCP_CONGESTION = 0xd -+ TCP_COOKIE_IN_ALWAYS = 0x1 -+ TCP_COOKIE_MAX = 0x10 -+ TCP_COOKIE_MIN = 0x8 -+ TCP_COOKIE_OUT_NEVER = 0x2 -+ TCP_COOKIE_PAIR_SIZE = 0x20 -+ TCP_COOKIE_TRANSACTIONS = 0xf -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_FASTOPEN = 0x17 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_MSS_DEFAULT = 0x218 -+ TCP_MSS_DESIRED = 0x4c4 -+ TCP_NODELAY = 0x1 -+ TCP_NOTSENT_LOWAT = 0x19 -+ TCP_QUEUE_SEQ = 0x15 -+ TCP_QUICKACK = 0xc -+ TCP_REPAIR = 0x13 -+ TCP_REPAIR_OPTIONS = 0x16 -+ TCP_REPAIR_QUEUE = 0x14 -+ TCP_SAVED_SYN = 0x1c -+ TCP_SAVE_SYN = 0x1b -+ TCP_SYNCNT = 0x7 -+ TCP_S_DATA_IN = 0x4 -+ TCP_S_DATA_OUT = 0x8 -+ TCP_THIN_DUPACK = 0x11 -+ TCP_THIN_LINEAR_TIMEOUTS = 0x10 -+ TCP_TIMESTAMP = 0x18 -+ TCP_USER_TIMEOUT = 0x12 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x2 -+ TCSBRK = 0x5409 -+ TCSBRKP = 0x5425 -+ TCSETA = 0x5406 -+ TCSETAF = 0x5408 -+ TCSETAW = 0x5407 -+ TCSETS = 0x5402 -+ TCSETS2 = 0x402c542b -+ TCSETSF = 0x5404 -+ TCSETSF2 = 0x402c542d -+ TCSETSW = 0x5403 -+ TCSETSW2 = 0x402c542c -+ TCSETX = 0x5433 -+ TCSETXF = 0x5434 -+ TCSETXW = 0x5435 -+ TCXONC = 0x540a -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x541d -+ TIOCEXCL = 0x540c -+ TIOCGDEV = 0x80045432 -+ TIOCGETD = 0x5424 -+ TIOCGEXCL = 0x80045440 -+ TIOCGICOUNT = 0x545d -+ TIOCGLCKTRMIOS = 0x5456 -+ TIOCGPGRP = 0x540f -+ TIOCGPKT = 0x80045438 -+ TIOCGPTLCK = 0x80045439 -+ TIOCGPTN = 0x80045430 -+ TIOCGRS485 = 0x542e -+ TIOCGSERIAL = 0x541e -+ TIOCGSID = 0x5429 -+ TIOCGSOFTCAR = 0x5419 -+ TIOCGWINSZ = 0x5413 -+ TIOCINQ = 0x541b -+ TIOCLINUX = 0x541c -+ TIOCMBIC = 0x5417 -+ TIOCMBIS = 0x5416 -+ TIOCMGET = 0x5415 -+ TIOCMIWAIT = 0x545c -+ TIOCMSET = 0x5418 -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x5422 -+ TIOCNXCL = 0x540d -+ TIOCOUTQ = 0x5411 -+ TIOCPKT = 0x5420 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x540e -+ TIOCSERCONFIG = 0x5453 -+ TIOCSERGETLSR = 0x5459 -+ TIOCSERGETMULTI = 0x545a -+ TIOCSERGSTRUCT = 0x5458 -+ TIOCSERGWILD = 0x5454 -+ TIOCSERSETMULTI = 0x545b -+ TIOCSERSWILD = 0x5455 -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x5423 -+ TIOCSIG = 0x40045436 -+ TIOCSLCKTRMIOS = 0x5457 -+ TIOCSPGRP = 0x5410 -+ TIOCSPTLCK = 0x40045431 -+ TIOCSRS485 = 0x542f -+ TIOCSSERIAL = 0x541f -+ TIOCSSOFTCAR = 0x541a -+ TIOCSTI = 0x5412 -+ TIOCSWINSZ = 0x5414 -+ TIOCVHANGUP = 0x5437 -+ TOSTOP = 0x100 -+ TUNATTACHFILTER = 0x401054d5 -+ TUNDETACHFILTER = 0x401054d6 -+ TUNGETFEATURES = 0x800454cf -+ TUNGETFILTER = 0x801054db -+ TUNGETIFF = 0x800454d2 -+ TUNGETSNDBUF = 0x800454d3 -+ TUNGETVNETBE = 0x800454df -+ TUNGETVNETHDRSZ = 0x800454d7 -+ TUNGETVNETLE = 0x800454dd -+ TUNSETDEBUG = 0x400454c9 -+ TUNSETGROUP = 0x400454ce -+ TUNSETIFF = 0x400454ca -+ TUNSETIFINDEX = 0x400454da -+ TUNSETLINK = 0x400454cd -+ TUNSETNOCSUM = 0x400454c8 -+ TUNSETOFFLOAD = 0x400454d0 -+ TUNSETOWNER = 0x400454cc -+ TUNSETPERSIST = 0x400454cb -+ TUNSETQUEUE = 0x400454d9 -+ TUNSETSNDBUF = 0x400454d4 -+ TUNSETTXFILTER = 0x400454d1 -+ TUNSETVNETBE = 0x400454de -+ TUNSETVNETHDRSZ = 0x400454d8 -+ TUNSETVNETLE = 0x400454dc -+ VDISCARD = 0xd -+ VEOF = 0x4 -+ VEOL = 0xb -+ VEOL2 = 0x10 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x6 -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XCASE = 0x4 -+ XTABS = 0x1800 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x62) -+ EADDRNOTAVAIL = syscall.Errno(0x63) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x61) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x72) -+ EBADE = syscall.Errno(0x34) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x4d) -+ EBADMSG = syscall.Errno(0x4a) -+ EBADR = syscall.Errno(0x35) -+ EBADRQC = syscall.Errno(0x38) -+ EBADSLT = syscall.Errno(0x39) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x7d) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x2c) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x67) -+ ECONNREFUSED = syscall.Errno(0x6f) -+ ECONNRESET = syscall.Errno(0x68) -+ EDEADLK = syscall.Errno(0x23) -+ EDEADLOCK = syscall.Errno(0x23) -+ EDESTADDRREQ = syscall.Errno(0x59) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x7a) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x70) -+ EHOSTUNREACH = syscall.Errno(0x71) -+ EHWPOISON = syscall.Errno(0x85) -+ EIDRM = syscall.Errno(0x2b) -+ EILSEQ = syscall.Errno(0x54) -+ EINPROGRESS = syscall.Errno(0x73) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x6a) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x78) -+ EKEYEXPIRED = syscall.Errno(0x7f) -+ EKEYREJECTED = syscall.Errno(0x81) -+ EKEYREVOKED = syscall.Errno(0x80) -+ EL2HLT = syscall.Errno(0x33) -+ EL2NSYNC = syscall.Errno(0x2d) -+ EL3HLT = syscall.Errno(0x2e) -+ EL3RST = syscall.Errno(0x2f) -+ ELIBACC = syscall.Errno(0x4f) -+ ELIBBAD = syscall.Errno(0x50) -+ ELIBEXEC = syscall.Errno(0x53) -+ ELIBMAX = syscall.Errno(0x52) -+ ELIBSCN = syscall.Errno(0x51) -+ ELNRNG = syscall.Errno(0x30) -+ ELOOP = syscall.Errno(0x28) -+ EMEDIUMTYPE = syscall.Errno(0x7c) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x5a) -+ EMULTIHOP = syscall.Errno(0x48) -+ ENAMETOOLONG = syscall.Errno(0x24) -+ ENAVAIL = syscall.Errno(0x77) -+ ENETDOWN = syscall.Errno(0x64) -+ ENETRESET = syscall.Errno(0x66) -+ ENETUNREACH = syscall.Errno(0x65) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x37) -+ ENOBUFS = syscall.Errno(0x69) -+ ENOCSI = syscall.Errno(0x32) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0x7e) -+ ENOLCK = syscall.Errno(0x25) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x7b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x2a) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x5c) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x26) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x6b) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x27) -+ ENOTNAM = syscall.Errno(0x76) -+ ENOTRECOVERABLE = syscall.Errno(0x83) -+ ENOTSOCK = syscall.Errno(0x58) -+ ENOTSUP = syscall.Errno(0x5f) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x4c) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x5f) -+ EOVERFLOW = syscall.Errno(0x4b) -+ EOWNERDEAD = syscall.Errno(0x82) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x60) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x5d) -+ EPROTOTYPE = syscall.Errno(0x5b) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x4e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x79) -+ ERESTART = syscall.Errno(0x55) -+ ERFKILL = syscall.Errno(0x84) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x6c) -+ ESOCKTNOSUPPORT = syscall.Errno(0x5e) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x74) -+ ESTRPIPE = syscall.Errno(0x56) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x6e) -+ ETOOMANYREFS = syscall.Errno(0x6d) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x75) -+ EUNATCH = syscall.Errno(0x31) -+ EUSERS = syscall.Errno(0x57) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x36) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0x7) -+ SIGCHLD = syscall.Signal(0x11) -+ SIGCLD = syscall.Signal(0x11) -+ SIGCONT = syscall.Signal(0x12) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x1d) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x1d) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x1e) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTKFLT = syscall.Signal(0x10) -+ SIGSTOP = syscall.Signal(0x13) -+ SIGSYS = syscall.Signal(0x1f) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x14) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGUNUSED = syscall.Signal(0x1f) -+ SIGURG = syscall.Signal(0x17) -+ SIGUSR1 = syscall.Signal(0xa) -+ SIGUSR2 = syscall.Signal(0xc) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 35: "resource deadlock avoided", -+ 36: "file name too long", -+ 37: "no locks available", -+ 38: "function not implemented", -+ 39: "directory not empty", -+ 40: "too many levels of symbolic links", -+ 42: "no message of desired type", -+ 43: "identifier removed", -+ 44: "channel number out of range", -+ 45: "level 2 not synchronized", -+ 46: "level 3 halted", -+ 47: "level 3 reset", -+ 48: "link number out of range", -+ 49: "protocol driver not attached", -+ 50: "no CSI structure available", -+ 51: "level 2 halted", -+ 52: "invalid exchange", -+ 53: "invalid request descriptor", -+ 54: "exchange full", -+ 55: "no anode", -+ 56: "invalid request code", -+ 57: "invalid slot", -+ 59: "bad font file format", -+ 60: "device not a stream", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of streams resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 72: "multihop attempted", -+ 73: "RFS specific error", -+ 74: "bad message", -+ 75: "value too large for defined data type", -+ 76: "name not unique on network", -+ 77: "file descriptor in bad state", -+ 78: "remote address changed", -+ 79: "can not access a needed shared library", -+ 80: "accessing a corrupted shared library", -+ 81: ".lib section in a.out corrupted", -+ 82: "attempting to link in too many shared libraries", -+ 83: "cannot exec a shared library directly", -+ 84: "invalid or incomplete multibyte or wide character", -+ 85: "interrupted system call should be restarted", -+ 86: "streams pipe error", -+ 87: "too many users", -+ 88: "socket operation on non-socket", -+ 89: "destination address required", -+ 90: "message too long", -+ 91: "protocol wrong type for socket", -+ 92: "protocol not available", -+ 93: "protocol not supported", -+ 94: "socket type not supported", -+ 95: "operation not supported", -+ 96: "protocol family not supported", -+ 97: "address family not supported by protocol", -+ 98: "address already in use", -+ 99: "cannot assign requested address", -+ 100: "network is down", -+ 101: "network is unreachable", -+ 102: "network dropped connection on reset", -+ 103: "software caused connection abort", -+ 104: "connection reset by peer", -+ 105: "no buffer space available", -+ 106: "transport endpoint is already connected", -+ 107: "transport endpoint is not connected", -+ 108: "cannot send after transport endpoint shutdown", -+ 109: "too many references: cannot splice", -+ 110: "connection timed out", -+ 111: "connection refused", -+ 112: "host is down", -+ 113: "no route to host", -+ 114: "operation already in progress", -+ 115: "operation now in progress", -+ 116: "stale file handle", -+ 117: "structure needs cleaning", -+ 118: "not a XENIX named type file", -+ 119: "no XENIX semaphores available", -+ 120: "is a named type file", -+ 121: "remote I/O error", -+ 122: "disk quota exceeded", -+ 123: "no medium found", -+ 124: "wrong medium type", -+ 125: "operation canceled", -+ 126: "required key not available", -+ 127: "key has expired", -+ 128: "key has been revoked", -+ 129: "key was rejected by service", -+ 130: "owner died", -+ 131: "state not recoverable", -+ 132: "operation not possible due to RF-kill", -+ 133: "memory page has hardware error", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "bus error", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "user defined signal 1", -+ 11: "segmentation fault", -+ 12: "user defined signal 2", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "stack fault", -+ 17: "child exited", -+ 18: "continued", -+ 19: "stopped (signal)", -+ 20: "stopped", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "urgent I/O condition", -+ 24: "CPU time limit exceeded", -+ 25: "file size limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window changed", -+ 29: "I/O possible", -+ 30: "power failure", -+ 31: "bad system call", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go -new file mode 100644 -index 0000000..95de199 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go -@@ -0,0 +1,2142 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build sparc64,linux -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IB = 0x1b -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KCM = 0x29 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x2a -+ AF_MPLS = 0x1c -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ARPHRD_6LOWPAN = 0x339 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802154_MONITOR = 0x325 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IP6GRE = 0x337 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETLINK = 0x338 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_X25 = 0x10f -+ ASI_LEON_DFLUSH = 0x11 -+ ASI_LEON_IFLUSH = 0x10 -+ ASI_LEON_MMUFLUSH = 0x18 -+ B0 = 0x0 -+ B1000000 = 0x100c -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x100d -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100e -+ B153600 = 0x1006 -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100f -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B300 = 0x7 -+ B307200 = 0x1007 -+ B38400 = 0xf -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x100a -+ B57600 = 0x1001 -+ B576000 = 0x100b -+ B600 = 0x8 -+ B614400 = 0x1008 -+ B75 = 0x2 -+ B76800 = 0x1005 -+ B921600 = 0x1009 -+ B9600 = 0xd -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1000 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LL_OFF = -0x200000 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MOD = 0x90 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XOR = 0xa0 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x2000 -+ BSDLY = 0x2000 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_ID_BITS = 0x1d -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_ID_BITS = 0xb -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0x100f -+ CBAUDEX = 0x1000 -+ CFLUSH = 0xf -+ CIBAUD = 0x100f0000 -+ CLOCAL = 0x800 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_TAI = 0xb -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CR0 = 0x0 -+ CR1 = 0x200 -+ CR2 = 0x400 -+ CR3 = 0x600 -+ CRDLY = 0x600 -+ CREAD = 0x80 -+ CRTSCTS = 0x80000000 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ EMT_TAGOVF = 0x1 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLEXCLUSIVE = 0x10000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWAKEUP = 0x20000000 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x400000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_80221 = 0x8917 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_802_3_MIN = 0x600 -+ ETH_P_802_EX1 = 0x88b5 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BATMAN = 0x4305 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CANFD = 0xd -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_HSR = 0x892f -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_LOOPBACK = 0x9000 -+ ETH_P_MACSEC = 0x88e5 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_MVRP = 0x88f5 -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PRP = 0x88fb -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_TSN = 0x22f0 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ ETH_P_XDSA = 0xf8 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x2000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0x7 -+ F_GETLK64 = 0x7 -+ F_GETOWN = 0x5 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OFD_GETLK = 0x24 -+ F_OFD_SETLK = 0x25 -+ F_OFD_SETLKW = 0x26 -+ F_OK = 0x0 -+ F_RDLCK = 0x1 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x8 -+ F_SETLK64 = 0x8 -+ F_SETLKW = 0x9 -+ F_SETLKW64 = 0x9 -+ F_SETOWN = 0x6 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x3 -+ F_WRLCK = 0x2 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HUPCL = 0x400 -+ IBSHIFT = 0x10 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x8000 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_MANAGETEMPADDR = 0x100 -+ IFA_F_MCAUTOJOIN = 0x400 -+ IFA_F_NODAD = 0x2 -+ IFA_F_NOPREFIXROUTE = 0x200 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_STABLE_PRIVACY = 0x800 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0x8 -+ IFF_ALLMULTI = 0x200 -+ IFF_ATTACH_QUEUE = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DETACH_QUEUE = 0x400 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_ECHO = 0x40000 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MASTER = 0x400 -+ IFF_MULTICAST = 0x1000 -+ IFF_MULTI_QUEUE = 0x100 -+ IFF_NOARP = 0x80 -+ IFF_NOFILTER = 0x1000 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_PERSIST = 0x800 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x400000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x4000 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_BEETPH = 0x5e -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MPLS = 0x89 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_HDRINCL = 0x24 -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_PATHMTU = 0x3d -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_INTERFACE = 0x4 -+ IPV6_PMTUDISC_OMIT = 0x5 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVPATHMTU = 0x3c -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BIND_ADDRESS_NO_PORT = 0x18 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_CHECKSUM = 0x17 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_NODEFRAG = 0x16 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_INTERFACE = 0x4 -+ IP_PMTUDISC_OMIT = 0x5 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_UNICAST_IF = 0x32 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IUCLC = 0x200 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DODUMP = 0x11 -+ MADV_DOFORK = 0xb -+ MADV_DONTDUMP = 0x10 -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x8 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x20 -+ MAP_ANONYMOUS = 0x20 -+ MAP_DENYWRITE = 0x800 -+ MAP_EXECUTABLE = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_GROWSDOWN = 0x200 -+ MAP_HUGETLB = 0x40000 -+ MAP_HUGE_MASK = 0x3f -+ MAP_HUGE_SHIFT = 0x1a -+ MAP_LOCKED = 0x100 -+ MAP_NONBLOCK = 0x10000 -+ MAP_NORESERVE = 0x40 -+ MAP_POPULATE = 0x8000 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x20000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x2000 -+ MCL_FUTURE = 0x4000 -+ MCL_ONFAULT = 0x8000 -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MSG_BATCH = 0x40000 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_LAZYTIME = 0x2000000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x2800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ NAME_MAX = 0xff -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CAP_ACK = 0xa -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_LISTEN_ALL_NSID = 0x8 -+ NETLINK_LIST_MEMBERSHIPS = 0x9 -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x100 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x2 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x400000 -+ O_CREAT = 0x200 -+ O_DIRECT = 0x100000 -+ O_DIRECTORY = 0x10000 -+ O_DSYNC = 0x2000 -+ O_EXCL = 0x800 -+ O_FSYNC = 0x802000 -+ O_LARGEFILE = 0x0 -+ O_NDELAY = 0x4004 -+ O_NOATIME = 0x200000 -+ O_NOCTTY = 0x8000 -+ O_NOFOLLOW = 0x20000 -+ O_NONBLOCK = 0x4000 -+ O_PATH = 0x1000000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x802000 -+ O_SYNC = 0x802000 -+ O_TMPFILE = 0x2010000 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CBPF = 0x6 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_DATA = 0x16 -+ PACKET_FANOUT_EBPF = 0x7 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FANOUT_QM = 0x5 -+ PACKET_FANOUT_RND = 0x4 -+ PACKET_FANOUT_ROLLOVER = 0x3 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_KERNEL = 0x7 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_QDISC_BYPASS = 0x14 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_ROLLOVER_STATS = 0x15 -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_HAS_OFF = 0x13 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_USER = 0x6 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x100 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_CAP_AMBIENT = 0x2f -+ PR_CAP_AMBIENT_CLEAR_ALL = 0x4 -+ PR_CAP_AMBIENT_IS_SET = 0x1 -+ PR_CAP_AMBIENT_LOWER = 0x3 -+ PR_CAP_AMBIENT_RAISE = 0x2 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_FP_MODE_FR = 0x1 -+ PR_FP_MODE_FRE = 0x2 -+ PR_GET_CHILD_SUBREAPER = 0x25 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_FP_MODE = 0x2e -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_THP_DISABLE = 0x2a -+ PR_GET_TID_ADDRESS = 0x28 -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_MPX_DISABLE_MANAGEMENT = 0x2c -+ PR_MPX_ENABLE_MANAGEMENT = 0x2b -+ PR_SET_CHILD_SUBREAPER = 0x24 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_FP_MODE = 0x2d -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_ARG_END = 0x9 -+ PR_SET_MM_ARG_START = 0x8 -+ PR_SET_MM_AUXV = 0xc -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_ENV_END = 0xb -+ PR_SET_MM_ENV_START = 0xa -+ PR_SET_MM_EXE_FILE = 0xd -+ PR_SET_MM_MAP = 0xe -+ PR_SET_MM_MAP_SIZE = 0xf -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = -0x1 -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_THP_DISABLE = 0x29 -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETFPAREGS = 0x14 -+ PTRACE_GETFPREGS = 0xe -+ PTRACE_GETFPREGS64 = 0x19 -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGS64 = 0x16 -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GETSIGMASK = 0x420a -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_O_EXITKILL = 0x100000 -+ PTRACE_O_MASK = 0x3000ff -+ PTRACE_O_SUSPEND_SECCOMP = 0x200000 -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKSIGINFO = 0x4209 -+ PTRACE_PEEKSIGINFO_SHARED = 0x1 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_READDATA = 0x10 -+ PTRACE_READTEXT = 0x12 -+ PTRACE_SECCOMP_GET_FILTER = 0x420c -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SETFPAREGS = 0x15 -+ PTRACE_SETFPREGS = 0xf -+ PTRACE_SETFPREGS64 = 0x1a -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGS64 = 0x17 -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SETSIGMASK = 0x420b -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SPARC_DETACH = 0xb -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TRACEME = 0x0 -+ PTRACE_WRITEDATA = 0x11 -+ PTRACE_WRITETEXT = 0x13 -+ PT_FP = 0x48 -+ PT_G0 = 0x10 -+ PT_G1 = 0x14 -+ PT_G2 = 0x18 -+ PT_G3 = 0x1c -+ PT_G4 = 0x20 -+ PT_G5 = 0x24 -+ PT_G6 = 0x28 -+ PT_G7 = 0x2c -+ PT_I0 = 0x30 -+ PT_I1 = 0x34 -+ PT_I2 = 0x38 -+ PT_I3 = 0x3c -+ PT_I4 = 0x40 -+ PT_I5 = 0x44 -+ PT_I6 = 0x48 -+ PT_I7 = 0x4c -+ PT_NPC = 0x8 -+ PT_PC = 0x4 -+ PT_PSR = 0x0 -+ PT_REGS_MAGIC = 0x57ac6c00 -+ PT_TNPC = 0x90 -+ PT_TPC = 0x88 -+ PT_TSTATE = 0x80 -+ PT_V9_FP = 0x70 -+ PT_V9_G0 = 0x0 -+ PT_V9_G1 = 0x8 -+ PT_V9_G2 = 0x10 -+ PT_V9_G3 = 0x18 -+ PT_V9_G4 = 0x20 -+ PT_V9_G5 = 0x28 -+ PT_V9_G6 = 0x30 -+ PT_V9_G7 = 0x38 -+ PT_V9_I0 = 0x40 -+ PT_V9_I1 = 0x48 -+ PT_V9_I2 = 0x50 -+ PT_V9_I3 = 0x58 -+ PT_V9_I4 = 0x60 -+ PT_V9_I5 = 0x68 -+ PT_V9_I6 = 0x70 -+ PT_V9_I7 = 0x78 -+ PT_V9_MAGIC = 0x9c -+ PT_V9_TNPC = 0x90 -+ PT_V9_TPC = 0x88 -+ PT_V9_TSTATE = 0x80 -+ PT_V9_Y = 0x98 -+ PT_WIM = 0x10 -+ PT_Y = 0xc -+ RLIMIT_AS = 0x9 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x6 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x1 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CC_ALGO = 0x10 -+ RTAX_CWND = 0x7 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_MASK = 0xf -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0x10 -+ RTAX_MTU = 0x2 -+ RTAX_QUICKACK = 0xf -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x18 -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELLINK = 0x11 -+ RTM_DELMDB = 0x55 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELNSID = 0x59 -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_LOOKUP_TABLE = 0x1000 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMDB = 0x56 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETNETCONF = 0x52 -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETSTATS = 0x5e -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x5f -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWMDB = 0x54 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWNETCONF = 0x50 -+ RTM_NEWNSID = 0x58 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWSTATS = 0x5c -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x14 -+ RTM_NR_MSGTYPES = 0x50 -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_COMPARE_MASK = 0x11 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_LINKDOWN = 0x10 -+ RTNH_F_OFFLOAD = 0x8 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTN_MAX = 0xb -+ RTPROT_BABEL = 0x2a -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_GATED = 0x8 -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MROUTED = 0x11 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x23 -+ SCM_TIMESTAMPNS = 0x21 -+ SCM_WIFI_STATUS = 0x25 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x8905 -+ SIOCBONDCHANGEACTIVE = 0x8995 -+ SIOCBONDENSLAVE = 0x8990 -+ SIOCBONDINFOQUERY = 0x8994 -+ SIOCBONDRELEASE = 0x8991 -+ SIOCBONDSETHWADDR = 0x8992 -+ SIOCBONDSLAVEINFOQUERY = 0x8993 -+ SIOCBRADDBR = 0x89a0 -+ SIOCBRADDIF = 0x89a2 -+ SIOCBRDELBR = 0x89a1 -+ SIOCBRDELIF = 0x89a3 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCETHTOOL = 0x8946 -+ SIOCGARP = 0x8954 -+ SIOCGHWTSTAMP = 0x89b1 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGIFVLAN = 0x8982 -+ SIOCGMIIPHY = 0x8947 -+ SIOCGMIIREG = 0x8948 -+ SIOCGPGRP = 0x8904 -+ SIOCGRARP = 0x8961 -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCINQ = 0x4004667f -+ SIOCOUTQ = 0x40047473 -+ SIOCOUTQNSD = 0x894b -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSHWTSTAMP = 0x89b0 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSIFVLAN = 0x8983 -+ SIOCSMIIREG = 0x8949 -+ SIOCSPGRP = 0x8902 -+ SIOCSRARP = 0x8962 -+ SIOCWANDEV = 0x894a -+ SOCK_CLOEXEC = 0x400000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x2 -+ SOCK_NONBLOCK = 0x4000 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_AAL = 0x109 -+ SOL_ALG = 0x117 -+ SOL_ATM = 0x108 -+ SOL_CAIF = 0x116 -+ SOL_DCCP = 0x10d -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_IUCV = 0x115 -+ SOL_KCM = 0x119 -+ SOL_LLC = 0x10c -+ SOL_NETBEUI = 0x10b -+ SOL_NETLINK = 0x10e -+ SOL_NFC = 0x118 -+ SOL_PACKET = 0x107 -+ SOL_PNPIPE = 0x113 -+ SOL_PPPOL2TP = 0x111 -+ SOL_RAW = 0xff -+ SOL_RDS = 0x114 -+ SOL_RXRPC = 0x110 -+ SOL_SOCKET = 0xffff -+ SOL_TCP = 0x6 -+ SOL_TIPC = 0x10f -+ SOL_X25 = 0x106 -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x8000 -+ SO_ATTACH_BPF = 0x34 -+ SO_ATTACH_FILTER = 0x1a -+ SO_ATTACH_REUSEPORT_CBPF = 0x35 -+ SO_ATTACH_REUSEPORT_EBPF = 0x36 -+ SO_BINDTODEVICE = 0xd -+ SO_BPF_EXTENSIONS = 0x32 -+ SO_BROADCAST = 0x20 -+ SO_BSDCOMPAT = 0x400 -+ SO_BUSY_POLL = 0x30 -+ SO_CNX_ADVICE = 0x37 -+ SO_DEBUG = 0x1 -+ SO_DETACH_BPF = 0x1b -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x1029 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_GET_FILTER = 0x1a -+ SO_INCOMING_CPU = 0x33 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_LOCK_FILTER = 0x28 -+ SO_MARK = 0x22 -+ SO_MAX_PACING_RATE = 0x31 -+ SO_NOFCS = 0x27 -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0x100 -+ SO_PASSCRED = 0x2 -+ SO_PASSSEC = 0x1f -+ SO_PEEK_OFF = 0x26 -+ SO_PEERCRED = 0x40 -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1e -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x1028 -+ SO_RCVBUF = 0x1002 -+ SO_RCVBUFFORCE = 0x100b -+ SO_RCVLOWAT = 0x800 -+ SO_RCVTIMEO = 0x2000 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_RXQ_OVFL = 0x24 -+ SO_SECURITY_AUTHENTICATION = 0x5001 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x5004 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x5002 -+ SO_SELECT_ERR_QUEUE = 0x29 -+ SO_SNDBUF = 0x1001 -+ SO_SNDBUFFORCE = 0x100a -+ SO_SNDLOWAT = 0x1000 -+ SO_SNDTIMEO = 0x4000 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x23 -+ SO_TIMESTAMPNS = 0x21 -+ SO_TYPE = 0x1008 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SO_WIFI_STATUS = 0x25 -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x800 -+ TAB2 = 0x1000 -+ TAB3 = 0x1800 -+ TABDLY = 0x1800 -+ TCFLSH = 0x20005407 -+ TCGETA = 0x40125401 -+ TCGETS = 0x40245408 -+ TCGETS2 = 0x402c540c -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CC_INFO = 0x1a -+ TCP_CONGESTION = 0xd -+ TCP_COOKIE_IN_ALWAYS = 0x1 -+ TCP_COOKIE_MAX = 0x10 -+ TCP_COOKIE_MIN = 0x8 -+ TCP_COOKIE_OUT_NEVER = 0x2 -+ TCP_COOKIE_PAIR_SIZE = 0x20 -+ TCP_COOKIE_TRANSACTIONS = 0xf -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_FASTOPEN = 0x17 -+ TCP_INFO = 0xb -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_MSS_DEFAULT = 0x218 -+ TCP_MSS_DESIRED = 0x4c4 -+ TCP_NODELAY = 0x1 -+ TCP_NOTSENT_LOWAT = 0x19 -+ TCP_QUEUE_SEQ = 0x15 -+ TCP_QUICKACK = 0xc -+ TCP_REPAIR = 0x13 -+ TCP_REPAIR_OPTIONS = 0x16 -+ TCP_REPAIR_QUEUE = 0x14 -+ TCP_SAVED_SYN = 0x1c -+ TCP_SAVE_SYN = 0x1b -+ TCP_SYNCNT = 0x7 -+ TCP_S_DATA_IN = 0x4 -+ TCP_S_DATA_OUT = 0x8 -+ TCP_THIN_DUPACK = 0x11 -+ TCP_THIN_LINEAR_TIMEOUTS = 0x10 -+ TCP_TIMESTAMP = 0x18 -+ TCP_USER_TIMEOUT = 0x12 -+ TCP_WINDOW_CLAMP = 0xa -+ TCSAFLUSH = 0x2 -+ TCSBRK = 0x20005405 -+ TCSBRKP = 0x5425 -+ TCSETA = 0x80125402 -+ TCSETAF = 0x80125404 -+ TCSETAW = 0x80125403 -+ TCSETS = 0x80245409 -+ TCSETS2 = 0x802c540d -+ TCSETSF = 0x8024540b -+ TCSETSF2 = 0x802c540f -+ TCSETSW = 0x8024540a -+ TCSETSW2 = 0x802c540e -+ TCXONC = 0x20005406 -+ TIOCCBRK = 0x2000747a -+ TIOCCONS = 0x20007424 -+ TIOCEXCL = 0x2000740d -+ TIOCGDEV = 0x40045432 -+ TIOCGETD = 0x40047400 -+ TIOCGEXCL = 0x40045440 -+ TIOCGICOUNT = 0x545d -+ TIOCGLCKTRMIOS = 0x5456 -+ TIOCGPGRP = 0x40047483 -+ TIOCGPKT = 0x40045438 -+ TIOCGPTLCK = 0x40045439 -+ TIOCGPTN = 0x40047486 -+ TIOCGRS485 = 0x40205441 -+ TIOCGSERIAL = 0x541e -+ TIOCGSID = 0x40047485 -+ TIOCGSOFTCAR = 0x40047464 -+ TIOCGWINSZ = 0x40087468 -+ TIOCINQ = 0x4004667f -+ TIOCLINUX = 0x541c -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGET = 0x4004746a -+ TIOCMIWAIT = 0x545c -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_LOOP = 0x8000 -+ TIOCM_OUT1 = 0x2000 -+ TIOCM_OUT2 = 0x4000 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x2000747b -+ TIOCSCTTY = 0x20007484 -+ TIOCSERCONFIG = 0x5453 -+ TIOCSERGETLSR = 0x5459 -+ TIOCSERGETMULTI = 0x545a -+ TIOCSERGSTRUCT = 0x5458 -+ TIOCSERGWILD = 0x5454 -+ TIOCSERSETMULTI = 0x545b -+ TIOCSERSWILD = 0x5455 -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x80047401 -+ TIOCSIG = 0x80047488 -+ TIOCSLCKTRMIOS = 0x5457 -+ TIOCSPGRP = 0x80047482 -+ TIOCSPTLCK = 0x80047487 -+ TIOCSRS485 = 0xc0205442 -+ TIOCSSERIAL = 0x541f -+ TIOCSSOFTCAR = 0x80047465 -+ TIOCSTART = 0x2000746e -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCVHANGUP = 0x20005437 -+ TOSTOP = 0x100 -+ TUNATTACHFILTER = 0x801054d5 -+ TUNDETACHFILTER = 0x801054d6 -+ TUNGETFEATURES = 0x400454cf -+ TUNGETFILTER = 0x401054db -+ TUNGETIFF = 0x400454d2 -+ TUNGETSNDBUF = 0x400454d3 -+ TUNGETVNETBE = 0x400454df -+ TUNGETVNETHDRSZ = 0x400454d7 -+ TUNGETVNETLE = 0x400454dd -+ TUNSETDEBUG = 0x800454c9 -+ TUNSETGROUP = 0x800454ce -+ TUNSETIFF = 0x800454ca -+ TUNSETIFINDEX = 0x800454da -+ TUNSETLINK = 0x800454cd -+ TUNSETNOCSUM = 0x800454c8 -+ TUNSETOFFLOAD = 0x800454d0 -+ TUNSETOWNER = 0x800454cc -+ TUNSETPERSIST = 0x800454cb -+ TUNSETQUEUE = 0x800454d9 -+ TUNSETSNDBUF = 0x800454d4 -+ TUNSETTXFILTER = 0x800454d1 -+ TUNSETVNETBE = 0x800454de -+ TUNSETVNETHDRSZ = 0x800454d8 -+ TUNSETVNETLE = 0x800454dc -+ VDISCARD = 0xd -+ VDSUSP = 0xb -+ VEOF = 0x4 -+ VEOL = 0x5 -+ VEOL2 = 0x6 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x4 -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WEXITED = 0x4 -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x40 -+ WRAP = 0x20000 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XCASE = 0x4 -+ XTABS = 0x1800 -+ __TIOCFLUSH = 0x80047410 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EADV = syscall.Errno(0x53) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x25) -+ EBADE = syscall.Errno(0x66) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x5d) -+ EBADMSG = syscall.Errno(0x4c) -+ EBADR = syscall.Errno(0x67) -+ EBADRQC = syscall.Errno(0x6a) -+ EBADSLT = syscall.Errno(0x6b) -+ EBFONT = syscall.Errno(0x6d) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x7f) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x5e) -+ ECOMM = syscall.Errno(0x55) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0x4e) -+ EDEADLOCK = syscall.Errno(0x6c) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x58) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EHWPOISON = syscall.Errno(0x87) -+ EIDRM = syscall.Errno(0x4d) -+ EILSEQ = syscall.Errno(0x7a) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x78) -+ EKEYEXPIRED = syscall.Errno(0x81) -+ EKEYREJECTED = syscall.Errno(0x83) -+ EKEYREVOKED = syscall.Errno(0x82) -+ EL2HLT = syscall.Errno(0x65) -+ EL2NSYNC = syscall.Errno(0x5f) -+ EL3HLT = syscall.Errno(0x60) -+ EL3RST = syscall.Errno(0x61) -+ ELIBACC = syscall.Errno(0x72) -+ ELIBBAD = syscall.Errno(0x70) -+ ELIBEXEC = syscall.Errno(0x6e) -+ ELIBMAX = syscall.Errno(0x7b) -+ ELIBSCN = syscall.Errno(0x7c) -+ ELNRNG = syscall.Errno(0x62) -+ ELOOP = syscall.Errno(0x3e) -+ EMEDIUMTYPE = syscall.Errno(0x7e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x57) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENAVAIL = syscall.Errno(0x77) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x69) -+ ENOBUFS = syscall.Errno(0x37) -+ ENOCSI = syscall.Errno(0x64) -+ ENODATA = syscall.Errno(0x6f) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0x80) -+ ENOLCK = syscall.Errno(0x4f) -+ ENOLINK = syscall.Errno(0x52) -+ ENOMEDIUM = syscall.Errno(0x7d) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x4b) -+ ENONET = syscall.Errno(0x50) -+ ENOPKG = syscall.Errno(0x71) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x4a) -+ ENOSTR = syscall.Errno(0x48) -+ ENOSYS = syscall.Errno(0x5a) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTNAM = syscall.Errno(0x76) -+ ENOTRECOVERABLE = syscall.Errno(0x85) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x2d) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x73) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x2d) -+ EOVERFLOW = syscall.Errno(0x5c) -+ EOWNERDEAD = syscall.Errno(0x84) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROTO = syscall.Errno(0x56) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x59) -+ EREMOTE = syscall.Errno(0x47) -+ EREMOTEIO = syscall.Errno(0x79) -+ ERESTART = syscall.Errno(0x74) -+ ERFKILL = syscall.Errno(0x86) -+ EROFS = syscall.Errno(0x1e) -+ ERREMOTE = syscall.Errno(0x51) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x54) -+ ESTALE = syscall.Errno(0x46) -+ ESTRPIPE = syscall.Errno(0x5b) -+ ETIME = syscall.Errno(0x49) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x75) -+ EUNATCH = syscall.Errno(0x63) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x68) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGLOST = syscall.Signal(0x1d) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x17) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x1d) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "no such device or address", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device or resource busy", -+ 17: "file exists", -+ 18: "invalid cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "numerical result out of range", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol", -+ 48: "address already in use", -+ 49: "cannot assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "transport endpoint is already connected", -+ 57: "transport endpoint is not connected", -+ 58: "cannot send after transport endpoint shutdown", -+ 59: "too many references: cannot splice", -+ 60: "connection timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disk quota exceeded", -+ 70: "stale file handle", -+ 71: "object is remote", -+ 72: "device not a stream", -+ 73: "timer expired", -+ 74: "out of streams resources", -+ 75: "no message of desired type", -+ 76: "bad message", -+ 77: "identifier removed", -+ 78: "resource deadlock avoided", -+ 79: "no locks available", -+ 80: "machine is not on the network", -+ 81: "unknown error 81", -+ 82: "link has been severed", -+ 83: "advertise error", -+ 84: "srmount error", -+ 85: "communication error on send", -+ 86: "protocol error", -+ 87: "multihop attempted", -+ 88: "RFS specific error", -+ 89: "remote address changed", -+ 90: "function not implemented", -+ 91: "streams pipe error", -+ 92: "value too large for defined data type", -+ 93: "file descriptor in bad state", -+ 94: "channel number out of range", -+ 95: "level 2 not synchronized", -+ 96: "level 3 halted", -+ 97: "level 3 reset", -+ 98: "link number out of range", -+ 99: "protocol driver not attached", -+ 100: "no CSI structure available", -+ 101: "level 2 halted", -+ 102: "invalid exchange", -+ 103: "invalid request descriptor", -+ 104: "exchange full", -+ 105: "no anode", -+ 106: "invalid request code", -+ 107: "invalid slot", -+ 108: "file locking deadlock error", -+ 109: "bad font file format", -+ 110: "cannot exec a shared library directly", -+ 111: "no data available", -+ 112: "accessing a corrupted shared library", -+ 113: "package not installed", -+ 114: "can not access a needed shared library", -+ 115: "name not unique on network", -+ 116: "interrupted system call should be restarted", -+ 117: "structure needs cleaning", -+ 118: "not a XENIX named type file", -+ 119: "no XENIX semaphores available", -+ 120: "is a named type file", -+ 121: "remote I/O error", -+ 122: "invalid or incomplete multibyte or wide character", -+ 123: "attempting to link in too many shared libraries", -+ 124: ".lib section in a.out corrupted", -+ 125: "no medium found", -+ 126: "wrong medium type", -+ 127: "operation canceled", -+ 128: "required key not available", -+ 129: "key has expired", -+ 130: "key has been revoked", -+ 131: "key was rejected by service", -+ 132: "owner died", -+ 133: "state not recoverable", -+ 134: "operation not possible due to RF-kill", -+ 135: "memory page has hardware error", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/breakpoint trap", -+ 6: "aborted", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "stopped (signal)", -+ 18: "stopped", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "CPU time limit exceeded", -+ 25: "file size limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window changed", -+ 29: "resource lost", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go -new file mode 100644 -index 0000000..b4338d5 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go -@@ -0,0 +1,1712 @@ -+// mkerrors.sh -m32 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build 386,netbsd -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m32 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_ARP = 0x1c -+ AF_BLUETOOTH = 0x1f -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1a -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x20 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x18 -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1a -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x23 -+ AF_MPLS = 0x21 -+ AF_NATM = 0x1b -+ AF_NS = 0x6 -+ AF_OROUTE = 0x11 -+ AF_OSI = 0x7 -+ AF_PUP = 0x4 -+ AF_ROUTE = 0x22 -+ AF_SNA = 0xb -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_FRELAY = 0xf -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_STRIP = 0x17 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B460800 = 0x70800 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B921600 = 0xe1000 -+ B9600 = 0x2580 -+ BIOCFEEDBACK = 0x8004427d -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc0084277 -+ BIOCGETIF = 0x4090426b -+ BIOCGFEEDBACK = 0x4004427c -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRTIMEOUT = 0x400c427b -+ BIOCGSEESENT = 0x40044278 -+ BIOCGSTATS = 0x4080426f -+ BIOCGSTATSOLD = 0x4008426f -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDLT = 0x80044276 -+ BIOCSETF = 0x80084267 -+ BIOCSETIF = 0x8090426c -+ BIOCSFEEDBACK = 0x8004427d -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRTIMEOUT = 0x800c427a -+ BIOCSSEESENT = 0x80044279 -+ BIOCSTCPF = 0x80084272 -+ BIOCSUDPF = 0x80084273 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALIGNMENT32 = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DFLTBUFSIZE = 0x100000 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x1000000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CLONE_CSIGNAL = 0xff -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_PID = 0x1000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0xc -+ CTL_NET = 0x4 -+ CTL_QUERY = -0x2 -+ DIOCBSFLUSH = 0x20006478 -+ DLT_A429 = 0xb8 -+ DLT_A653_ICM = 0xb9 -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_AOS = 0xde -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_AX25_KISS = 0xca -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_BLUETOOTH_HCI_H4 = 0xbb -+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 -+ DLT_CAN20B = 0xbe -+ DLT_CAN_SOCKETCAN = 0xe3 -+ DLT_CHAOS = 0x5 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_C_HDLC_WITH_DIR = 0xcd -+ DLT_DECT = 0xdd -+ DLT_DOCSIS = 0x8f -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF = 0xc5 -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FC_2 = 0xe0 -+ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 -+ DLT_FDDI = 0xa -+ DLT_FLEXRAY = 0xd2 -+ DLT_FRELAY = 0x6b -+ DLT_FRELAY_WITH_DIR = 0xce -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_GSMTAP_ABIS = 0xda -+ DLT_GSMTAP_UM = 0xd9 -+ DLT_HDLC = 0x10 -+ DLT_HHDLC = 0x79 -+ DLT_HIPPI = 0xf -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IEEE802_15_4 = 0xc3 -+ DLT_IEEE802_15_4_LINUX = 0xbf -+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 -+ DLT_IEEE802_16_MAC_CPS = 0xbc -+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 -+ DLT_IPMB = 0xc7 -+ DLT_IPMB_LINUX = 0xd1 -+ DLT_IPNET = 0xe2 -+ DLT_IPV4 = 0xe4 -+ DLT_IPV6 = 0xe5 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_ISM = 0xc2 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_JUNIPER_ST = 0xc8 -+ DLT_JUNIPER_VP = 0xb7 -+ DLT_LAPB_WITH_DIR = 0xcf -+ DLT_LAPD = 0xcb -+ DLT_LIN = 0xd4 -+ DLT_LINUX_EVDEV = 0xd8 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MFR = 0xb6 -+ DLT_MOST = 0xd3 -+ DLT_MPLS = 0xdb -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPI = 0xc0 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0xe -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PPP_WITH_DIR = 0xcc -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAIF1 = 0xc6 -+ DLT_RAW = 0xc -+ DLT_RAWAF_MASK = 0x2240000 -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SITA = 0xc4 -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xd -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ DLT_USB = 0xba -+ DLT_USB_LINUX = 0xbd -+ DLT_USB_LINUX_MMAPPED = 0xdc -+ DLT_WIHART = 0xdf -+ DLT_X2E_SERIAL = 0xd5 -+ DLT_X2E_XORAYA = 0xd6 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EMUL_LINUX = 0x1 -+ EMUL_LINUX32 = 0x5 -+ EMUL_MAXID = 0x6 -+ EN_SW_CTL_INF = 0x1000 -+ EN_SW_CTL_PREC = 0x300 -+ EN_SW_CTL_ROUND = 0xc00 -+ EN_SW_DATACHAIN = 0x80 -+ EN_SW_DENORM = 0x2 -+ EN_SW_INVOP = 0x1 -+ EN_SW_OVERFLOW = 0x8 -+ EN_SW_PRECLOSS = 0x20 -+ EN_SW_UNDERFLOW = 0x10 -+ EN_SW_ZERODIV = 0x4 -+ ETHERCAP_JUMBO_MTU = 0x4 -+ ETHERCAP_VLAN_HWTAGGING = 0x2 -+ ETHERCAP_VLAN_MTU = 0x1 -+ ETHERMIN = 0x2e -+ ETHERMTU = 0x5dc -+ ETHERMTU_JUMBO = 0x2328 -+ ETHERTYPE_8023 = 0x4 -+ ETHERTYPE_AARP = 0x80f3 -+ ETHERTYPE_ACCTON = 0x8390 -+ ETHERTYPE_AEONIC = 0x8036 -+ ETHERTYPE_ALPHA = 0x814a -+ ETHERTYPE_AMBER = 0x6008 -+ ETHERTYPE_AMOEBA = 0x8145 -+ ETHERTYPE_APOLLO = 0x80f7 -+ ETHERTYPE_APOLLODOMAIN = 0x8019 -+ ETHERTYPE_APPLETALK = 0x809b -+ ETHERTYPE_APPLITEK = 0x80c7 -+ ETHERTYPE_ARGONAUT = 0x803a -+ ETHERTYPE_ARP = 0x806 -+ ETHERTYPE_AT = 0x809b -+ ETHERTYPE_ATALK = 0x809b -+ ETHERTYPE_ATOMIC = 0x86df -+ ETHERTYPE_ATT = 0x8069 -+ ETHERTYPE_ATTSTANFORD = 0x8008 -+ ETHERTYPE_AUTOPHON = 0x806a -+ ETHERTYPE_AXIS = 0x8856 -+ ETHERTYPE_BCLOOP = 0x9003 -+ ETHERTYPE_BOFL = 0x8102 -+ ETHERTYPE_CABLETRON = 0x7034 -+ ETHERTYPE_CHAOS = 0x804 -+ ETHERTYPE_COMDESIGN = 0x806c -+ ETHERTYPE_COMPUGRAPHIC = 0x806d -+ ETHERTYPE_COUNTERPOINT = 0x8062 -+ ETHERTYPE_CRONUS = 0x8004 -+ ETHERTYPE_CRONUSVLN = 0x8003 -+ ETHERTYPE_DCA = 0x1234 -+ ETHERTYPE_DDE = 0x807b -+ ETHERTYPE_DEBNI = 0xaaaa -+ ETHERTYPE_DECAM = 0x8048 -+ ETHERTYPE_DECCUST = 0x6006 -+ ETHERTYPE_DECDIAG = 0x6005 -+ ETHERTYPE_DECDNS = 0x803c -+ ETHERTYPE_DECDTS = 0x803e -+ ETHERTYPE_DECEXPER = 0x6000 -+ ETHERTYPE_DECLAST = 0x8041 -+ ETHERTYPE_DECLTM = 0x803f -+ ETHERTYPE_DECMUMPS = 0x6009 -+ ETHERTYPE_DECNETBIOS = 0x8040 -+ ETHERTYPE_DELTACON = 0x86de -+ ETHERTYPE_DIDDLE = 0x4321 -+ ETHERTYPE_DLOG1 = 0x660 -+ ETHERTYPE_DLOG2 = 0x661 -+ ETHERTYPE_DN = 0x6003 -+ ETHERTYPE_DOGFIGHT = 0x1989 -+ ETHERTYPE_DSMD = 0x8039 -+ ETHERTYPE_ECMA = 0x803 -+ ETHERTYPE_ENCRYPT = 0x803d -+ ETHERTYPE_ES = 0x805d -+ ETHERTYPE_EXCELAN = 0x8010 -+ ETHERTYPE_EXPERDATA = 0x8049 -+ ETHERTYPE_FLIP = 0x8146 -+ ETHERTYPE_FLOWCONTROL = 0x8808 -+ ETHERTYPE_FRARP = 0x808 -+ ETHERTYPE_GENDYN = 0x8068 -+ ETHERTYPE_HAYES = 0x8130 -+ ETHERTYPE_HIPPI_FP = 0x8180 -+ ETHERTYPE_HITACHI = 0x8820 -+ ETHERTYPE_HP = 0x8005 -+ ETHERTYPE_IEEEPUP = 0xa00 -+ ETHERTYPE_IEEEPUPAT = 0xa01 -+ ETHERTYPE_IMLBL = 0x4c42 -+ ETHERTYPE_IMLBLDIAG = 0x424c -+ ETHERTYPE_IP = 0x800 -+ ETHERTYPE_IPAS = 0x876c -+ ETHERTYPE_IPV6 = 0x86dd -+ ETHERTYPE_IPX = 0x8137 -+ ETHERTYPE_IPXNEW = 0x8037 -+ ETHERTYPE_KALPANA = 0x8582 -+ ETHERTYPE_LANBRIDGE = 0x8038 -+ ETHERTYPE_LANPROBE = 0x8888 -+ ETHERTYPE_LAT = 0x6004 -+ ETHERTYPE_LBACK = 0x9000 -+ ETHERTYPE_LITTLE = 0x8060 -+ ETHERTYPE_LOGICRAFT = 0x8148 -+ ETHERTYPE_LOOPBACK = 0x9000 -+ ETHERTYPE_MATRA = 0x807a -+ ETHERTYPE_MAX = 0xffff -+ ETHERTYPE_MERIT = 0x807c -+ ETHERTYPE_MICP = 0x873a -+ ETHERTYPE_MOPDL = 0x6001 -+ ETHERTYPE_MOPRC = 0x6002 -+ ETHERTYPE_MOTOROLA = 0x818d -+ ETHERTYPE_MPLS = 0x8847 -+ ETHERTYPE_MPLS_MCAST = 0x8848 -+ ETHERTYPE_MUMPS = 0x813f -+ ETHERTYPE_NBPCC = 0x3c04 -+ ETHERTYPE_NBPCLAIM = 0x3c09 -+ ETHERTYPE_NBPCLREQ = 0x3c05 -+ ETHERTYPE_NBPCLRSP = 0x3c06 -+ ETHERTYPE_NBPCREQ = 0x3c02 -+ ETHERTYPE_NBPCRSP = 0x3c03 -+ ETHERTYPE_NBPDG = 0x3c07 -+ ETHERTYPE_NBPDGB = 0x3c08 -+ ETHERTYPE_NBPDLTE = 0x3c0a -+ ETHERTYPE_NBPRAR = 0x3c0c -+ ETHERTYPE_NBPRAS = 0x3c0b -+ ETHERTYPE_NBPRST = 0x3c0d -+ ETHERTYPE_NBPSCD = 0x3c01 -+ ETHERTYPE_NBPVCD = 0x3c00 -+ ETHERTYPE_NBS = 0x802 -+ ETHERTYPE_NCD = 0x8149 -+ ETHERTYPE_NESTAR = 0x8006 -+ ETHERTYPE_NETBEUI = 0x8191 -+ ETHERTYPE_NOVELL = 0x8138 -+ ETHERTYPE_NS = 0x600 -+ ETHERTYPE_NSAT = 0x601 -+ ETHERTYPE_NSCOMPAT = 0x807 -+ ETHERTYPE_NTRAILER = 0x10 -+ ETHERTYPE_OS9 = 0x7007 -+ ETHERTYPE_OS9NET = 0x7009 -+ ETHERTYPE_PACER = 0x80c6 -+ ETHERTYPE_PAE = 0x888e -+ ETHERTYPE_PCS = 0x4242 -+ ETHERTYPE_PLANNING = 0x8044 -+ ETHERTYPE_PPP = 0x880b -+ ETHERTYPE_PPPOE = 0x8864 -+ ETHERTYPE_PPPOEDISC = 0x8863 -+ ETHERTYPE_PRIMENTS = 0x7031 -+ ETHERTYPE_PUP = 0x200 -+ ETHERTYPE_PUPAT = 0x200 -+ ETHERTYPE_RACAL = 0x7030 -+ ETHERTYPE_RATIONAL = 0x8150 -+ ETHERTYPE_RAWFR = 0x6559 -+ ETHERTYPE_RCL = 0x1995 -+ ETHERTYPE_RDP = 0x8739 -+ ETHERTYPE_RETIX = 0x80f2 -+ ETHERTYPE_REVARP = 0x8035 -+ ETHERTYPE_SCA = 0x6007 -+ ETHERTYPE_SECTRA = 0x86db -+ ETHERTYPE_SECUREDATA = 0x876d -+ ETHERTYPE_SGITW = 0x817e -+ ETHERTYPE_SG_BOUNCE = 0x8016 -+ ETHERTYPE_SG_DIAG = 0x8013 -+ ETHERTYPE_SG_NETGAMES = 0x8014 -+ ETHERTYPE_SG_RESV = 0x8015 -+ ETHERTYPE_SIMNET = 0x5208 -+ ETHERTYPE_SLOWPROTOCOLS = 0x8809 -+ ETHERTYPE_SNA = 0x80d5 -+ ETHERTYPE_SNMP = 0x814c -+ ETHERTYPE_SONIX = 0xfaf5 -+ ETHERTYPE_SPIDER = 0x809f -+ ETHERTYPE_SPRITE = 0x500 -+ ETHERTYPE_STP = 0x8181 -+ ETHERTYPE_TALARIS = 0x812b -+ ETHERTYPE_TALARISMC = 0x852b -+ ETHERTYPE_TCPCOMP = 0x876b -+ ETHERTYPE_TCPSM = 0x9002 -+ ETHERTYPE_TEC = 0x814f -+ ETHERTYPE_TIGAN = 0x802f -+ ETHERTYPE_TRAIL = 0x1000 -+ ETHERTYPE_TRANSETHER = 0x6558 -+ ETHERTYPE_TYMSHARE = 0x802e -+ ETHERTYPE_UBBST = 0x7005 -+ ETHERTYPE_UBDEBUG = 0x900 -+ ETHERTYPE_UBDIAGLOOP = 0x7002 -+ ETHERTYPE_UBDL = 0x7000 -+ ETHERTYPE_UBNIU = 0x7001 -+ ETHERTYPE_UBNMC = 0x7003 -+ ETHERTYPE_VALID = 0x1600 -+ ETHERTYPE_VARIAN = 0x80dd -+ ETHERTYPE_VAXELN = 0x803b -+ ETHERTYPE_VEECO = 0x8067 -+ ETHERTYPE_VEXP = 0x805b -+ ETHERTYPE_VGLAB = 0x8131 -+ ETHERTYPE_VINES = 0xbad -+ ETHERTYPE_VINESECHO = 0xbaf -+ ETHERTYPE_VINESLOOP = 0xbae -+ ETHERTYPE_VITAL = 0xff00 -+ ETHERTYPE_VLAN = 0x8100 -+ ETHERTYPE_VLTLMAN = 0x8080 -+ ETHERTYPE_VPROD = 0x805c -+ ETHERTYPE_VURESERVED = 0x8147 -+ ETHERTYPE_WATERLOO = 0x8130 -+ ETHERTYPE_WELLFLEET = 0x8103 -+ ETHERTYPE_X25 = 0x805 -+ ETHERTYPE_X75 = 0x801 -+ ETHERTYPE_XNSSM = 0x9001 -+ ETHERTYPE_XTP = 0x817d -+ ETHER_ADDR_LEN = 0x6 -+ ETHER_CRC_LEN = 0x4 -+ ETHER_CRC_POLY_BE = 0x4c11db6 -+ ETHER_CRC_POLY_LE = 0xedb88320 -+ ETHER_HDR_LEN = 0xe -+ ETHER_MAX_LEN = 0x5ee -+ ETHER_MAX_LEN_JUMBO = 0x233a -+ ETHER_MIN_LEN = 0x40 -+ ETHER_PPPOE_ENCAP_LEN = 0x8 -+ ETHER_TYPE_LEN = 0x2 -+ ETHER_VLAN_ENCAP_LEN = 0x4 -+ EVFILT_AIO = 0x2 -+ EVFILT_PROC = 0x4 -+ EVFILT_READ = 0x0 -+ EVFILT_SIGNAL = 0x5 -+ EVFILT_SYSCOUNT = 0x7 -+ EVFILT_TIMER = 0x6 -+ EVFILT_VNODE = 0x3 -+ EVFILT_WRITE = 0x1 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x100 -+ FLUSHO = 0x800000 -+ F_CLOSEM = 0xa -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0xc -+ F_FSCTL = -0x80000000 -+ F_FSDIRMASK = 0x70000000 -+ F_FSIN = 0x10000000 -+ F_FSINOUT = 0x30000000 -+ F_FSOUT = 0x20000000 -+ F_FSPRIV = 0x8000 -+ F_FSVOID = 0x40000000 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0x7 -+ F_GETNOSIGPIPE = 0xd -+ F_GETOWN = 0x5 -+ F_MAXFD = 0xb -+ F_OK = 0x0 -+ F_PARAM_MASK = 0xfff -+ F_PARAM_MAX = 0xfff -+ F_RDLCK = 0x1 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x8 -+ F_SETLKW = 0x9 -+ F_SETNOSIGPIPE = 0xe -+ F_SETOWN = 0x6 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFAN_ARRIVAL = 0x0 -+ IFAN_DEPARTURE = 0x1 -+ IFA_ROUTE = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_BROADCAST = 0x2 -+ IFF_CANTCHANGE = 0x8f52 -+ IFF_DEBUG = 0x4 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_A12MPPSWITCH = 0x82 -+ IFT_AAL2 = 0xbb -+ IFT_AAL5 = 0x31 -+ IFT_ADSL = 0x5e -+ IFT_AFLANE8023 = 0x3b -+ IFT_AFLANE8025 = 0x3c -+ IFT_ARAP = 0x58 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ASYNC = 0x54 -+ IFT_ATM = 0x25 -+ IFT_ATMDXI = 0x69 -+ IFT_ATMFUNI = 0x6a -+ IFT_ATMIMA = 0x6b -+ IFT_ATMLOGICAL = 0x50 -+ IFT_ATMRADIO = 0xbd -+ IFT_ATMSUBINTERFACE = 0x86 -+ IFT_ATMVCIENDPT = 0xc2 -+ IFT_ATMVIRTUAL = 0x95 -+ IFT_BGPPOLICYACCOUNTING = 0xa2 -+ IFT_BRIDGE = 0xd1 -+ IFT_BSC = 0x53 -+ IFT_CARP = 0xf8 -+ IFT_CCTEMUL = 0x3d -+ IFT_CEPT = 0x13 -+ IFT_CES = 0x85 -+ IFT_CHANNEL = 0x46 -+ IFT_CNR = 0x55 -+ IFT_COFFEE = 0x84 -+ IFT_COMPOSITELINK = 0x9b -+ IFT_DCN = 0x8d -+ IFT_DIGITALPOWERLINE = 0x8a -+ IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba -+ IFT_DLSW = 0x4a -+ IFT_DOCSCABLEDOWNSTREAM = 0x80 -+ IFT_DOCSCABLEMACLAYER = 0x7f -+ IFT_DOCSCABLEUPSTREAM = 0x81 -+ IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd -+ IFT_DS0 = 0x51 -+ IFT_DS0BUNDLE = 0x52 -+ IFT_DS1FDL = 0xaa -+ IFT_DS3 = 0x1e -+ IFT_DTM = 0x8c -+ IFT_DVBASILN = 0xac -+ IFT_DVBASIOUT = 0xad -+ IFT_DVBRCCDOWNSTREAM = 0x93 -+ IFT_DVBRCCMACLAYER = 0x92 -+ IFT_DVBRCCUPSTREAM = 0x94 -+ IFT_ECONET = 0xce -+ IFT_EON = 0x19 -+ IFT_EPLRS = 0x57 -+ IFT_ESCON = 0x49 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0xf2 -+ IFT_FAST = 0x7d -+ IFT_FASTETHER = 0x3e -+ IFT_FASTETHERFX = 0x45 -+ IFT_FDDI = 0xf -+ IFT_FIBRECHANNEL = 0x38 -+ IFT_FRAMERELAYINTERCONNECT = 0x3a -+ IFT_FRAMERELAYMPI = 0x5c -+ IFT_FRDLCIENDPT = 0xc1 -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_FRF16MFRBUNDLE = 0xa3 -+ IFT_FRFORWARD = 0x9e -+ IFT_G703AT2MB = 0x43 -+ IFT_G703AT64K = 0x42 -+ IFT_GIF = 0xf0 -+ IFT_GIGABITETHERNET = 0x75 -+ IFT_GR303IDT = 0xb2 -+ IFT_GR303RDT = 0xb1 -+ IFT_H323GATEKEEPER = 0xa4 -+ IFT_H323PROXY = 0xa5 -+ IFT_HDH1822 = 0x3 -+ IFT_HDLC = 0x76 -+ IFT_HDSL2 = 0xa8 -+ IFT_HIPERLAN2 = 0xb7 -+ IFT_HIPPI = 0x2f -+ IFT_HIPPIINTERFACE = 0x39 -+ IFT_HOSTPAD = 0x5a -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IBM370PARCHAN = 0x48 -+ IFT_IDSL = 0x9a -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE80211 = 0x47 -+ IFT_IEEE80212 = 0x37 -+ IFT_IEEE8023ADLAG = 0xa1 -+ IFT_IFGSN = 0x91 -+ IFT_IMT = 0xbe -+ IFT_INFINIBAND = 0xc7 -+ IFT_INTERLEAVE = 0x7c -+ IFT_IP = 0x7e -+ IFT_IPFORWARD = 0x8e -+ IFT_IPOVERATM = 0x72 -+ IFT_IPOVERCDLC = 0x6d -+ IFT_IPOVERCLAW = 0x6e -+ IFT_IPSWITCH = 0x4e -+ IFT_ISDN = 0x3f -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISDNS = 0x4b -+ IFT_ISDNU = 0x4c -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88025CRFPINT = 0x62 -+ IFT_ISO88025DTR = 0x56 -+ IFT_ISO88025FIBER = 0x73 -+ IFT_ISO88026 = 0xa -+ IFT_ISUP = 0xb3 -+ IFT_L2VLAN = 0x87 -+ IFT_L3IPVLAN = 0x88 -+ IFT_L3IPXVLAN = 0x89 -+ IFT_LAPB = 0x10 -+ IFT_LAPD = 0x4d -+ IFT_LAPF = 0x77 -+ IFT_LINEGROUP = 0xd2 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MEDIAMAILOVERIP = 0x8b -+ IFT_MFSIGLINK = 0xa7 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_MPC = 0x71 -+ IFT_MPLS = 0xa6 -+ IFT_MPLSTUNNEL = 0x96 -+ IFT_MSDSL = 0x8f -+ IFT_MVL = 0xbf -+ IFT_MYRINET = 0x63 -+ IFT_NFAS = 0xaf -+ IFT_NSIP = 0x1b -+ IFT_OPTICALCHANNEL = 0xc3 -+ IFT_OPTICALTRANSPORT = 0xc4 -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PFLOG = 0xf5 -+ IFT_PFSYNC = 0xf6 -+ IFT_PLC = 0xae -+ IFT_PON155 = 0xcf -+ IFT_PON622 = 0xd0 -+ IFT_POS = 0xab -+ IFT_PPP = 0x17 -+ IFT_PPPMULTILINKBUNDLE = 0x6c -+ IFT_PROPATM = 0xc5 -+ IFT_PROPBWAP2MP = 0xb8 -+ IFT_PROPCNLS = 0x59 -+ IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 -+ IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 -+ IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PROPWIRELESSP2P = 0x9d -+ IFT_PTPSERIAL = 0x16 -+ IFT_PVC = 0xf1 -+ IFT_Q2931 = 0xc9 -+ IFT_QLLC = 0x44 -+ IFT_RADIOMAC = 0xbc -+ IFT_RADSL = 0x5f -+ IFT_REACHDSL = 0xc0 -+ IFT_RFC1483 = 0x9f -+ IFT_RS232 = 0x21 -+ IFT_RSRB = 0x4f -+ IFT_SDLC = 0x11 -+ IFT_SDSL = 0x60 -+ IFT_SHDSL = 0xa9 -+ IFT_SIP = 0x1f -+ IFT_SIPSIG = 0xcc -+ IFT_SIPTG = 0xcb -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETOVERHEADCHANNEL = 0xb9 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_SRP = 0x97 -+ IFT_SS7SIGLINK = 0x9c -+ IFT_STACKTOSTACK = 0x6f -+ IFT_STARLAN = 0xb -+ IFT_STF = 0xd7 -+ IFT_T1 = 0x12 -+ IFT_TDLC = 0x74 -+ IFT_TELINK = 0xc8 -+ IFT_TERMPAD = 0x5b -+ IFT_TR008 = 0xb0 -+ IFT_TRANSPHDLC = 0x7b -+ IFT_TUNNEL = 0x83 -+ IFT_ULTRA = 0x1d -+ IFT_USB = 0xa0 -+ IFT_V11 = 0x40 -+ IFT_V35 = 0x2d -+ IFT_V36 = 0x41 -+ IFT_V37 = 0x78 -+ IFT_VDSL = 0x61 -+ IFT_VIRTUALIPADDRESS = 0x70 -+ IFT_VIRTUALTG = 0xca -+ IFT_VOICEDID = 0xd5 -+ IFT_VOICEEM = 0x64 -+ IFT_VOICEEMFGD = 0xd3 -+ IFT_VOICEENCAP = 0x67 -+ IFT_VOICEFGDEANA = 0xd4 -+ IFT_VOICEFXO = 0x65 -+ IFT_VOICEFXS = 0x66 -+ IFT_VOICEOVERATM = 0x98 -+ IFT_VOICEOVERCABLE = 0xc6 -+ IFT_VOICEOVERFRAMERELAY = 0x99 -+ IFT_VOICEOVERIP = 0x68 -+ IFT_X213 = 0x5d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25HUNTGROUP = 0x7a -+ IFT_X25MLP = 0x79 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LOOPBACKNET = 0x7f -+ IPPROTO_AH = 0x33 -+ IPPROTO_CARP = 0x70 -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IPV6_ICMP = 0x3a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MOBILE = 0x37 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PFSYNC = 0xf0 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_VRRP = 0x70 -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DSTOPTS = 0x32 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x78 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_HOPLIMIT = 0x2f -+ IPV6_HOPOPTS = 0x31 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MMTU = 0x500 -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_NEXTHOP = 0x30 -+ IPV6_PATHMTU = 0x2c -+ IPV6_PKTINFO = 0x2e -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_RECVDSTOPTS = 0x28 -+ IPV6_RECVHOPLIMIT = 0x25 -+ IPV6_RECVHOPOPTS = 0x27 -+ IPV6_RECVPATHMTU = 0x2b -+ IPV6_RECVPKTINFO = 0x24 -+ IPV6_RECVRTHDR = 0x26 -+ IPV6_RECVTCLASS = 0x39 -+ IPV6_RTHDR = 0x33 -+ IPV6_RTHDRDSTOPTS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x3d -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_USE_MIN_MTU = 0x2a -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_EF = 0x8000 -+ IP_ERRORMTU = 0x15 -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x16 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINFRAGSIZE = 0x45 -+ IP_MINTTL = 0x18 -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x1 -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTTL = 0x17 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_TOS = 0x3 -+ IP_TTL = 0x4 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x6 -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_SPACEAVAIL = 0x5 -+ MADV_WILLNEED = 0x3 -+ MAP_ALIGNMENT_16MB = 0x18000000 -+ MAP_ALIGNMENT_1TB = 0x28000000 -+ MAP_ALIGNMENT_256TB = 0x30000000 -+ MAP_ALIGNMENT_4GB = 0x20000000 -+ MAP_ALIGNMENT_64KB = 0x10000000 -+ MAP_ALIGNMENT_64PB = 0x38000000 -+ MAP_ALIGNMENT_MASK = -0x1000000 -+ MAP_ALIGNMENT_SHIFT = 0x18 -+ MAP_ANON = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_INHERIT = 0x80 -+ MAP_INHERIT_COPY = 0x1 -+ MAP_INHERIT_DEFAULT = 0x1 -+ MAP_INHERIT_DONATE_COPY = 0x3 -+ MAP_INHERIT_NONE = 0x2 -+ MAP_INHERIT_SHARE = 0x0 -+ MAP_NORESERVE = 0x40 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x2000 -+ MAP_TRYFIXED = 0x400 -+ MAP_WIRED = 0x800 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_BCAST = 0x100 -+ MSG_CMSG_CLOEXEC = 0x800 -+ MSG_CONTROLMBUF = 0x2000000 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOR = 0x8 -+ MSG_IOVUSRSPACE = 0x4000000 -+ MSG_LENUSRSPACE = 0x8000000 -+ MSG_MCAST = 0x200 -+ MSG_NAMEMBUF = 0x1000000 -+ MSG_NBIO = 0x1000 -+ MSG_NOSIGNAL = 0x400 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_TRUNC = 0x10 -+ MSG_USERFLAGS = 0xffffff -+ MSG_WAITALL = 0x40 -+ MS_ASYNC = 0x1 -+ MS_INVALIDATE = 0x2 -+ MS_SYNC = 0x4 -+ NAME_MAX = 0x1ff -+ NET_RT_DUMP = 0x1 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x5 -+ NET_RT_MAXID = 0x6 -+ NET_RT_OIFLIST = 0x4 -+ NET_RT_OOIFLIST = 0x3 -+ NOFLSH = 0x80000000 -+ NOTE_ATTRIB = 0x8 -+ NOTE_CHILD = 0x4 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FORK = 0x40000000 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_PCTRLMASK = 0xf0000000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ OFIOGETBMAP = 0xc004667a -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_ALT_IO = 0x40000 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x400000 -+ O_CREAT = 0x200 -+ O_DIRECT = 0x80000 -+ O_DIRECTORY = 0x200000 -+ O_DSYNC = 0x10000 -+ O_EXCL = 0x800 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x8000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_NOSIGPIPE = 0x1000000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x20000 -+ O_SHLOCK = 0x10 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PRI_IOFLUSH = 0x7c -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ RLIMIT_AS = 0xa -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x9 -+ RTAX_NETMASK = 0x2 -+ RTAX_TAG = 0x8 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTA_TAG = 0x100 -+ RTF_ANNOUNCE = 0x20000 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_CLONED = 0x2000 -+ RTF_CLONING = 0x100 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_LLINFO = 0x400 -+ RTF_MASK = 0x80 -+ RTF_MODIFIED = 0x20 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_REJECT = 0x8 -+ RTF_SRC = 0x10000 -+ RTF_STATIC = 0x800 -+ RTF_UP = 0x1 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_CHGADDR = 0x15 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_GET = 0x4 -+ RTM_IEEE80211 = 0x11 -+ RTM_IFANNOUNCE = 0x10 -+ RTM_IFINFO = 0x14 -+ RTM_LLINFO_UPD = 0x13 -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_OIFINFO = 0xf -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_OOIFINFO = 0xe -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_SETGATE = 0x12 -+ RTM_VERSION = 0x4 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ SCM_CREDS = 0x4 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x8 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80906931 -+ SIOCADDRT = 0x8030720a -+ SIOCAIFADDR = 0x8040691a -+ SIOCALIFADDR = 0x8118691c -+ SIOCATMARK = 0x40047307 -+ SIOCDELMULTI = 0x80906932 -+ SIOCDELRT = 0x8030720b -+ SIOCDIFADDR = 0x80906919 -+ SIOCDIFPHYADDR = 0x80906949 -+ SIOCDLIFADDR = 0x8118691e -+ SIOCGDRVSPEC = 0xc01c697b -+ SIOCGETPFSYNC = 0xc09069f8 -+ SIOCGETSGCNT = 0xc0147534 -+ SIOCGETVIFCNT = 0xc0147533 -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0906921 -+ SIOCGIFADDRPREF = 0xc0946920 -+ SIOCGIFALIAS = 0xc040691b -+ SIOCGIFBRDADDR = 0xc0906923 -+ SIOCGIFCAP = 0xc0206976 -+ SIOCGIFCONF = 0xc0086926 -+ SIOCGIFDATA = 0xc0946985 -+ SIOCGIFDLT = 0xc0906977 -+ SIOCGIFDSTADDR = 0xc0906922 -+ SIOCGIFFLAGS = 0xc0906911 -+ SIOCGIFGENERIC = 0xc090693a -+ SIOCGIFMEDIA = 0xc0286936 -+ SIOCGIFMETRIC = 0xc0906917 -+ SIOCGIFMTU = 0xc090697e -+ SIOCGIFNETMASK = 0xc0906925 -+ SIOCGIFPDSTADDR = 0xc0906948 -+ SIOCGIFPSRCADDR = 0xc0906947 -+ SIOCGLIFADDR = 0xc118691d -+ SIOCGLIFPHYADDR = 0xc118694b -+ SIOCGLINKSTR = 0xc01c6987 -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCGVH = 0xc0906983 -+ SIOCIFCREATE = 0x8090697a -+ SIOCIFDESTROY = 0x80906979 -+ SIOCIFGCLONERS = 0xc00c6978 -+ SIOCINITIFADDR = 0xc0446984 -+ SIOCSDRVSPEC = 0x801c697b -+ SIOCSETPFSYNC = 0x809069f7 -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8090690c -+ SIOCSIFADDRPREF = 0x8094691f -+ SIOCSIFBRDADDR = 0x80906913 -+ SIOCSIFCAP = 0x80206975 -+ SIOCSIFDSTADDR = 0x8090690e -+ SIOCSIFFLAGS = 0x80906910 -+ SIOCSIFGENERIC = 0x80906939 -+ SIOCSIFMEDIA = 0xc0906935 -+ SIOCSIFMETRIC = 0x80906918 -+ SIOCSIFMTU = 0x8090697f -+ SIOCSIFNETMASK = 0x80906916 -+ SIOCSIFPHYADDR = 0x80406946 -+ SIOCSLIFPHYADDR = 0x8118694a -+ SIOCSLINKSTR = 0x801c6988 -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SIOCSVH = 0xc0906982 -+ SIOCZIFDATA = 0xc0946986 -+ SOCK_CLOEXEC = 0x10000000 -+ SOCK_DGRAM = 0x2 -+ SOCK_FLAGS_MASK = 0xf0000000 -+ SOCK_NONBLOCK = 0x20000000 -+ SOCK_NOSIGPIPE = 0x40000000 -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_ACCEPTFILTER = 0x1000 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_NOHEADER = 0x100a -+ SO_NOSIGPIPE = 0x800 -+ SO_OOBINLINE = 0x100 -+ SO_OVERFLOWED = 0x1009 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x100c -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x100b -+ SO_TIMESTAMP = 0x2000 -+ SO_TYPE = 0x1008 -+ SO_USELOOPBACK = 0x40 -+ SYSCTL_VERSION = 0x1000000 -+ SYSCTL_VERS_0 = 0x0 -+ SYSCTL_VERS_1 = 0x1000000 -+ SYSCTL_VERS_MASK = 0xff000000 -+ S_ARCH1 = 0x10000 -+ S_ARCH2 = 0x20000 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IFWHT = 0xe000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISTXT = 0x200 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ S_LOGIN_SET = 0x1 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_CONGCTL = 0x20 -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x3 -+ TCP_KEEPINIT = 0x7 -+ TCP_KEEPINTVL = 0x5 -+ TCP_MAXBURST = 0x4 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0x10 -+ TCP_MINMSS = 0xd8 -+ TCP_MSS = 0x218 -+ TCP_NODELAY = 0x1 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDCDTIMESTAMP = 0x400c7458 -+ TIOCDRAIN = 0x2000745e -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLAG_CDTRCTS = 0x10 -+ TIOCFLAG_CLOCAL = 0x2 -+ TIOCFLAG_CRTSCTS = 0x4 -+ TIOCFLAG_MDMBUF = 0x8 -+ TIOCFLAG_SOFTCAR = 0x1 -+ TIOCFLUSH = 0x80047410 -+ TIOCGETA = 0x402c7413 -+ TIOCGETD = 0x4004741a -+ TIOCGFLAGS = 0x4004745d -+ TIOCGLINED = 0x40207442 -+ TIOCGPGRP = 0x40047477 -+ TIOCGQSIZE = 0x40047481 -+ TIOCGRANTPT = 0x20007447 -+ TIOCGSID = 0x40047463 -+ TIOCGSIZE = 0x40087468 -+ TIOCGWINSZ = 0x40087468 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGET = 0x4004746a -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCPTMGET = 0x40287446 -+ TIOCPTSNAME = 0x40287448 -+ TIOCRCVFRAME = 0x80047445 -+ TIOCREMOTE = 0x80047469 -+ TIOCSBRK = 0x2000747b -+ TIOCSCTTY = 0x20007461 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x802c7414 -+ TIOCSETAF = 0x802c7416 -+ TIOCSETAW = 0x802c7415 -+ TIOCSETD = 0x8004741b -+ TIOCSFLAGS = 0x8004745c -+ TIOCSIG = 0x2000745f -+ TIOCSLINED = 0x80207443 -+ TIOCSPGRP = 0x80047476 -+ TIOCSQSIZE = 0x80047480 -+ TIOCSSIZE = 0x80087467 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x80047465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCUCNTL = 0x80047466 -+ TIOCXMTFRAME = 0x80047444 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WALL = 0x8 -+ WALLSIG = 0x8 -+ WALTSIG = 0x4 -+ WCLONE = 0x4 -+ WCOREFLAG = 0x80 -+ WNOHANG = 0x1 -+ WNOWAIT = 0x10000 -+ WNOZOMBIE = 0x20000 -+ WOPTSCHECKED = 0x40000 -+ WSTOPPED = 0x7f -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADF = syscall.Errno(0x9) -+ EBADMSG = syscall.Errno(0x58) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x57) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDOM = syscall.Errno(0x21) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x52) -+ EILSEQ = syscall.Errno(0x55) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x60) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5e) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x5d) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODATA = syscall.Errno(0x59) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x5f) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x53) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x5a) -+ ENOSTR = syscall.Errno(0x5b) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x56) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x2d) -+ EOVERFLOW = syscall.Errno(0x54) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x60) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIME = syscall.Errno(0x5c) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x20) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large or too small", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol option not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "connection timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "identifier removed", -+ 83: "no message of desired type", -+ 84: "value too large to be stored in data type", -+ 85: "illegal byte sequence", -+ 86: "not supported", -+ 87: "operation Canceled", -+ 88: "bad or Corrupt message", -+ 89: "no message available", -+ 90: "no STREAM resources", -+ 91: "not a STREAM", -+ 92: "STREAM ioctl timeout", -+ 93: "attribute not found", -+ 94: "multihop attempted", -+ 95: "link has been severed", -+ 96: "protocol error", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "stopped (signal)", -+ 18: "stopped", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+ 32: "power fail/restart", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go -new file mode 100644 -index 0000000..4994437 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go -@@ -0,0 +1,1702 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build amd64,netbsd -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_ARP = 0x1c -+ AF_BLUETOOTH = 0x1f -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1a -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x20 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x18 -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1a -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x23 -+ AF_MPLS = 0x21 -+ AF_NATM = 0x1b -+ AF_NS = 0x6 -+ AF_OROUTE = 0x11 -+ AF_OSI = 0x7 -+ AF_PUP = 0x4 -+ AF_ROUTE = 0x22 -+ AF_SNA = 0xb -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_FRELAY = 0xf -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_STRIP = 0x17 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B460800 = 0x70800 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B921600 = 0xe1000 -+ B9600 = 0x2580 -+ BIOCFEEDBACK = 0x8004427d -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc0104277 -+ BIOCGETIF = 0x4090426b -+ BIOCGFEEDBACK = 0x4004427c -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRTIMEOUT = 0x4010427b -+ BIOCGSEESENT = 0x40044278 -+ BIOCGSTATS = 0x4080426f -+ BIOCGSTATSOLD = 0x4008426f -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDLT = 0x80044276 -+ BIOCSETF = 0x80104267 -+ BIOCSETIF = 0x8090426c -+ BIOCSFEEDBACK = 0x8004427d -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRTIMEOUT = 0x8010427a -+ BIOCSSEESENT = 0x80044279 -+ BIOCSTCPF = 0x80104272 -+ BIOCSUDPF = 0x80104273 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x8 -+ BPF_ALIGNMENT32 = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DFLTBUFSIZE = 0x100000 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x1000000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CLONE_CSIGNAL = 0xff -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_PID = 0x1000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0xc -+ CTL_NET = 0x4 -+ CTL_QUERY = -0x2 -+ DIOCBSFLUSH = 0x20006478 -+ DLT_A429 = 0xb8 -+ DLT_A653_ICM = 0xb9 -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_AOS = 0xde -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_AX25_KISS = 0xca -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_BLUETOOTH_HCI_H4 = 0xbb -+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 -+ DLT_CAN20B = 0xbe -+ DLT_CAN_SOCKETCAN = 0xe3 -+ DLT_CHAOS = 0x5 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_C_HDLC_WITH_DIR = 0xcd -+ DLT_DECT = 0xdd -+ DLT_DOCSIS = 0x8f -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF = 0xc5 -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FC_2 = 0xe0 -+ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 -+ DLT_FDDI = 0xa -+ DLT_FLEXRAY = 0xd2 -+ DLT_FRELAY = 0x6b -+ DLT_FRELAY_WITH_DIR = 0xce -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_GSMTAP_ABIS = 0xda -+ DLT_GSMTAP_UM = 0xd9 -+ DLT_HDLC = 0x10 -+ DLT_HHDLC = 0x79 -+ DLT_HIPPI = 0xf -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IEEE802_15_4 = 0xc3 -+ DLT_IEEE802_15_4_LINUX = 0xbf -+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 -+ DLT_IEEE802_16_MAC_CPS = 0xbc -+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 -+ DLT_IPMB = 0xc7 -+ DLT_IPMB_LINUX = 0xd1 -+ DLT_IPNET = 0xe2 -+ DLT_IPV4 = 0xe4 -+ DLT_IPV6 = 0xe5 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_ISM = 0xc2 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_JUNIPER_ST = 0xc8 -+ DLT_JUNIPER_VP = 0xb7 -+ DLT_LAPB_WITH_DIR = 0xcf -+ DLT_LAPD = 0xcb -+ DLT_LIN = 0xd4 -+ DLT_LINUX_EVDEV = 0xd8 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MFR = 0xb6 -+ DLT_MOST = 0xd3 -+ DLT_MPLS = 0xdb -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPI = 0xc0 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0xe -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PPP_WITH_DIR = 0xcc -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAIF1 = 0xc6 -+ DLT_RAW = 0xc -+ DLT_RAWAF_MASK = 0x2240000 -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SITA = 0xc4 -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xd -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ DLT_USB = 0xba -+ DLT_USB_LINUX = 0xbd -+ DLT_USB_LINUX_MMAPPED = 0xdc -+ DLT_WIHART = 0xdf -+ DLT_X2E_SERIAL = 0xd5 -+ DLT_X2E_XORAYA = 0xd6 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EMUL_LINUX = 0x1 -+ EMUL_LINUX32 = 0x5 -+ EMUL_MAXID = 0x6 -+ ETHERCAP_JUMBO_MTU = 0x4 -+ ETHERCAP_VLAN_HWTAGGING = 0x2 -+ ETHERCAP_VLAN_MTU = 0x1 -+ ETHERMIN = 0x2e -+ ETHERMTU = 0x5dc -+ ETHERMTU_JUMBO = 0x2328 -+ ETHERTYPE_8023 = 0x4 -+ ETHERTYPE_AARP = 0x80f3 -+ ETHERTYPE_ACCTON = 0x8390 -+ ETHERTYPE_AEONIC = 0x8036 -+ ETHERTYPE_ALPHA = 0x814a -+ ETHERTYPE_AMBER = 0x6008 -+ ETHERTYPE_AMOEBA = 0x8145 -+ ETHERTYPE_APOLLO = 0x80f7 -+ ETHERTYPE_APOLLODOMAIN = 0x8019 -+ ETHERTYPE_APPLETALK = 0x809b -+ ETHERTYPE_APPLITEK = 0x80c7 -+ ETHERTYPE_ARGONAUT = 0x803a -+ ETHERTYPE_ARP = 0x806 -+ ETHERTYPE_AT = 0x809b -+ ETHERTYPE_ATALK = 0x809b -+ ETHERTYPE_ATOMIC = 0x86df -+ ETHERTYPE_ATT = 0x8069 -+ ETHERTYPE_ATTSTANFORD = 0x8008 -+ ETHERTYPE_AUTOPHON = 0x806a -+ ETHERTYPE_AXIS = 0x8856 -+ ETHERTYPE_BCLOOP = 0x9003 -+ ETHERTYPE_BOFL = 0x8102 -+ ETHERTYPE_CABLETRON = 0x7034 -+ ETHERTYPE_CHAOS = 0x804 -+ ETHERTYPE_COMDESIGN = 0x806c -+ ETHERTYPE_COMPUGRAPHIC = 0x806d -+ ETHERTYPE_COUNTERPOINT = 0x8062 -+ ETHERTYPE_CRONUS = 0x8004 -+ ETHERTYPE_CRONUSVLN = 0x8003 -+ ETHERTYPE_DCA = 0x1234 -+ ETHERTYPE_DDE = 0x807b -+ ETHERTYPE_DEBNI = 0xaaaa -+ ETHERTYPE_DECAM = 0x8048 -+ ETHERTYPE_DECCUST = 0x6006 -+ ETHERTYPE_DECDIAG = 0x6005 -+ ETHERTYPE_DECDNS = 0x803c -+ ETHERTYPE_DECDTS = 0x803e -+ ETHERTYPE_DECEXPER = 0x6000 -+ ETHERTYPE_DECLAST = 0x8041 -+ ETHERTYPE_DECLTM = 0x803f -+ ETHERTYPE_DECMUMPS = 0x6009 -+ ETHERTYPE_DECNETBIOS = 0x8040 -+ ETHERTYPE_DELTACON = 0x86de -+ ETHERTYPE_DIDDLE = 0x4321 -+ ETHERTYPE_DLOG1 = 0x660 -+ ETHERTYPE_DLOG2 = 0x661 -+ ETHERTYPE_DN = 0x6003 -+ ETHERTYPE_DOGFIGHT = 0x1989 -+ ETHERTYPE_DSMD = 0x8039 -+ ETHERTYPE_ECMA = 0x803 -+ ETHERTYPE_ENCRYPT = 0x803d -+ ETHERTYPE_ES = 0x805d -+ ETHERTYPE_EXCELAN = 0x8010 -+ ETHERTYPE_EXPERDATA = 0x8049 -+ ETHERTYPE_FLIP = 0x8146 -+ ETHERTYPE_FLOWCONTROL = 0x8808 -+ ETHERTYPE_FRARP = 0x808 -+ ETHERTYPE_GENDYN = 0x8068 -+ ETHERTYPE_HAYES = 0x8130 -+ ETHERTYPE_HIPPI_FP = 0x8180 -+ ETHERTYPE_HITACHI = 0x8820 -+ ETHERTYPE_HP = 0x8005 -+ ETHERTYPE_IEEEPUP = 0xa00 -+ ETHERTYPE_IEEEPUPAT = 0xa01 -+ ETHERTYPE_IMLBL = 0x4c42 -+ ETHERTYPE_IMLBLDIAG = 0x424c -+ ETHERTYPE_IP = 0x800 -+ ETHERTYPE_IPAS = 0x876c -+ ETHERTYPE_IPV6 = 0x86dd -+ ETHERTYPE_IPX = 0x8137 -+ ETHERTYPE_IPXNEW = 0x8037 -+ ETHERTYPE_KALPANA = 0x8582 -+ ETHERTYPE_LANBRIDGE = 0x8038 -+ ETHERTYPE_LANPROBE = 0x8888 -+ ETHERTYPE_LAT = 0x6004 -+ ETHERTYPE_LBACK = 0x9000 -+ ETHERTYPE_LITTLE = 0x8060 -+ ETHERTYPE_LOGICRAFT = 0x8148 -+ ETHERTYPE_LOOPBACK = 0x9000 -+ ETHERTYPE_MATRA = 0x807a -+ ETHERTYPE_MAX = 0xffff -+ ETHERTYPE_MERIT = 0x807c -+ ETHERTYPE_MICP = 0x873a -+ ETHERTYPE_MOPDL = 0x6001 -+ ETHERTYPE_MOPRC = 0x6002 -+ ETHERTYPE_MOTOROLA = 0x818d -+ ETHERTYPE_MPLS = 0x8847 -+ ETHERTYPE_MPLS_MCAST = 0x8848 -+ ETHERTYPE_MUMPS = 0x813f -+ ETHERTYPE_NBPCC = 0x3c04 -+ ETHERTYPE_NBPCLAIM = 0x3c09 -+ ETHERTYPE_NBPCLREQ = 0x3c05 -+ ETHERTYPE_NBPCLRSP = 0x3c06 -+ ETHERTYPE_NBPCREQ = 0x3c02 -+ ETHERTYPE_NBPCRSP = 0x3c03 -+ ETHERTYPE_NBPDG = 0x3c07 -+ ETHERTYPE_NBPDGB = 0x3c08 -+ ETHERTYPE_NBPDLTE = 0x3c0a -+ ETHERTYPE_NBPRAR = 0x3c0c -+ ETHERTYPE_NBPRAS = 0x3c0b -+ ETHERTYPE_NBPRST = 0x3c0d -+ ETHERTYPE_NBPSCD = 0x3c01 -+ ETHERTYPE_NBPVCD = 0x3c00 -+ ETHERTYPE_NBS = 0x802 -+ ETHERTYPE_NCD = 0x8149 -+ ETHERTYPE_NESTAR = 0x8006 -+ ETHERTYPE_NETBEUI = 0x8191 -+ ETHERTYPE_NOVELL = 0x8138 -+ ETHERTYPE_NS = 0x600 -+ ETHERTYPE_NSAT = 0x601 -+ ETHERTYPE_NSCOMPAT = 0x807 -+ ETHERTYPE_NTRAILER = 0x10 -+ ETHERTYPE_OS9 = 0x7007 -+ ETHERTYPE_OS9NET = 0x7009 -+ ETHERTYPE_PACER = 0x80c6 -+ ETHERTYPE_PAE = 0x888e -+ ETHERTYPE_PCS = 0x4242 -+ ETHERTYPE_PLANNING = 0x8044 -+ ETHERTYPE_PPP = 0x880b -+ ETHERTYPE_PPPOE = 0x8864 -+ ETHERTYPE_PPPOEDISC = 0x8863 -+ ETHERTYPE_PRIMENTS = 0x7031 -+ ETHERTYPE_PUP = 0x200 -+ ETHERTYPE_PUPAT = 0x200 -+ ETHERTYPE_RACAL = 0x7030 -+ ETHERTYPE_RATIONAL = 0x8150 -+ ETHERTYPE_RAWFR = 0x6559 -+ ETHERTYPE_RCL = 0x1995 -+ ETHERTYPE_RDP = 0x8739 -+ ETHERTYPE_RETIX = 0x80f2 -+ ETHERTYPE_REVARP = 0x8035 -+ ETHERTYPE_SCA = 0x6007 -+ ETHERTYPE_SECTRA = 0x86db -+ ETHERTYPE_SECUREDATA = 0x876d -+ ETHERTYPE_SGITW = 0x817e -+ ETHERTYPE_SG_BOUNCE = 0x8016 -+ ETHERTYPE_SG_DIAG = 0x8013 -+ ETHERTYPE_SG_NETGAMES = 0x8014 -+ ETHERTYPE_SG_RESV = 0x8015 -+ ETHERTYPE_SIMNET = 0x5208 -+ ETHERTYPE_SLOWPROTOCOLS = 0x8809 -+ ETHERTYPE_SNA = 0x80d5 -+ ETHERTYPE_SNMP = 0x814c -+ ETHERTYPE_SONIX = 0xfaf5 -+ ETHERTYPE_SPIDER = 0x809f -+ ETHERTYPE_SPRITE = 0x500 -+ ETHERTYPE_STP = 0x8181 -+ ETHERTYPE_TALARIS = 0x812b -+ ETHERTYPE_TALARISMC = 0x852b -+ ETHERTYPE_TCPCOMP = 0x876b -+ ETHERTYPE_TCPSM = 0x9002 -+ ETHERTYPE_TEC = 0x814f -+ ETHERTYPE_TIGAN = 0x802f -+ ETHERTYPE_TRAIL = 0x1000 -+ ETHERTYPE_TRANSETHER = 0x6558 -+ ETHERTYPE_TYMSHARE = 0x802e -+ ETHERTYPE_UBBST = 0x7005 -+ ETHERTYPE_UBDEBUG = 0x900 -+ ETHERTYPE_UBDIAGLOOP = 0x7002 -+ ETHERTYPE_UBDL = 0x7000 -+ ETHERTYPE_UBNIU = 0x7001 -+ ETHERTYPE_UBNMC = 0x7003 -+ ETHERTYPE_VALID = 0x1600 -+ ETHERTYPE_VARIAN = 0x80dd -+ ETHERTYPE_VAXELN = 0x803b -+ ETHERTYPE_VEECO = 0x8067 -+ ETHERTYPE_VEXP = 0x805b -+ ETHERTYPE_VGLAB = 0x8131 -+ ETHERTYPE_VINES = 0xbad -+ ETHERTYPE_VINESECHO = 0xbaf -+ ETHERTYPE_VINESLOOP = 0xbae -+ ETHERTYPE_VITAL = 0xff00 -+ ETHERTYPE_VLAN = 0x8100 -+ ETHERTYPE_VLTLMAN = 0x8080 -+ ETHERTYPE_VPROD = 0x805c -+ ETHERTYPE_VURESERVED = 0x8147 -+ ETHERTYPE_WATERLOO = 0x8130 -+ ETHERTYPE_WELLFLEET = 0x8103 -+ ETHERTYPE_X25 = 0x805 -+ ETHERTYPE_X75 = 0x801 -+ ETHERTYPE_XNSSM = 0x9001 -+ ETHERTYPE_XTP = 0x817d -+ ETHER_ADDR_LEN = 0x6 -+ ETHER_CRC_LEN = 0x4 -+ ETHER_CRC_POLY_BE = 0x4c11db6 -+ ETHER_CRC_POLY_LE = 0xedb88320 -+ ETHER_HDR_LEN = 0xe -+ ETHER_MAX_LEN = 0x5ee -+ ETHER_MAX_LEN_JUMBO = 0x233a -+ ETHER_MIN_LEN = 0x40 -+ ETHER_PPPOE_ENCAP_LEN = 0x8 -+ ETHER_TYPE_LEN = 0x2 -+ ETHER_VLAN_ENCAP_LEN = 0x4 -+ EVFILT_AIO = 0x2 -+ EVFILT_PROC = 0x4 -+ EVFILT_READ = 0x0 -+ EVFILT_SIGNAL = 0x5 -+ EVFILT_SYSCOUNT = 0x7 -+ EVFILT_TIMER = 0x6 -+ EVFILT_VNODE = 0x3 -+ EVFILT_WRITE = 0x1 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x100 -+ FLUSHO = 0x800000 -+ F_CLOSEM = 0xa -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0xc -+ F_FSCTL = -0x80000000 -+ F_FSDIRMASK = 0x70000000 -+ F_FSIN = 0x10000000 -+ F_FSINOUT = 0x30000000 -+ F_FSOUT = 0x20000000 -+ F_FSPRIV = 0x8000 -+ F_FSVOID = 0x40000000 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0x7 -+ F_GETNOSIGPIPE = 0xd -+ F_GETOWN = 0x5 -+ F_MAXFD = 0xb -+ F_OK = 0x0 -+ F_PARAM_MASK = 0xfff -+ F_PARAM_MAX = 0xfff -+ F_RDLCK = 0x1 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x8 -+ F_SETLKW = 0x9 -+ F_SETNOSIGPIPE = 0xe -+ F_SETOWN = 0x6 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFAN_ARRIVAL = 0x0 -+ IFAN_DEPARTURE = 0x1 -+ IFA_ROUTE = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_BROADCAST = 0x2 -+ IFF_CANTCHANGE = 0x8f52 -+ IFF_DEBUG = 0x4 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_A12MPPSWITCH = 0x82 -+ IFT_AAL2 = 0xbb -+ IFT_AAL5 = 0x31 -+ IFT_ADSL = 0x5e -+ IFT_AFLANE8023 = 0x3b -+ IFT_AFLANE8025 = 0x3c -+ IFT_ARAP = 0x58 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ASYNC = 0x54 -+ IFT_ATM = 0x25 -+ IFT_ATMDXI = 0x69 -+ IFT_ATMFUNI = 0x6a -+ IFT_ATMIMA = 0x6b -+ IFT_ATMLOGICAL = 0x50 -+ IFT_ATMRADIO = 0xbd -+ IFT_ATMSUBINTERFACE = 0x86 -+ IFT_ATMVCIENDPT = 0xc2 -+ IFT_ATMVIRTUAL = 0x95 -+ IFT_BGPPOLICYACCOUNTING = 0xa2 -+ IFT_BRIDGE = 0xd1 -+ IFT_BSC = 0x53 -+ IFT_CARP = 0xf8 -+ IFT_CCTEMUL = 0x3d -+ IFT_CEPT = 0x13 -+ IFT_CES = 0x85 -+ IFT_CHANNEL = 0x46 -+ IFT_CNR = 0x55 -+ IFT_COFFEE = 0x84 -+ IFT_COMPOSITELINK = 0x9b -+ IFT_DCN = 0x8d -+ IFT_DIGITALPOWERLINE = 0x8a -+ IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba -+ IFT_DLSW = 0x4a -+ IFT_DOCSCABLEDOWNSTREAM = 0x80 -+ IFT_DOCSCABLEMACLAYER = 0x7f -+ IFT_DOCSCABLEUPSTREAM = 0x81 -+ IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd -+ IFT_DS0 = 0x51 -+ IFT_DS0BUNDLE = 0x52 -+ IFT_DS1FDL = 0xaa -+ IFT_DS3 = 0x1e -+ IFT_DTM = 0x8c -+ IFT_DVBASILN = 0xac -+ IFT_DVBASIOUT = 0xad -+ IFT_DVBRCCDOWNSTREAM = 0x93 -+ IFT_DVBRCCMACLAYER = 0x92 -+ IFT_DVBRCCUPSTREAM = 0x94 -+ IFT_ECONET = 0xce -+ IFT_EON = 0x19 -+ IFT_EPLRS = 0x57 -+ IFT_ESCON = 0x49 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0xf2 -+ IFT_FAST = 0x7d -+ IFT_FASTETHER = 0x3e -+ IFT_FASTETHERFX = 0x45 -+ IFT_FDDI = 0xf -+ IFT_FIBRECHANNEL = 0x38 -+ IFT_FRAMERELAYINTERCONNECT = 0x3a -+ IFT_FRAMERELAYMPI = 0x5c -+ IFT_FRDLCIENDPT = 0xc1 -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_FRF16MFRBUNDLE = 0xa3 -+ IFT_FRFORWARD = 0x9e -+ IFT_G703AT2MB = 0x43 -+ IFT_G703AT64K = 0x42 -+ IFT_GIF = 0xf0 -+ IFT_GIGABITETHERNET = 0x75 -+ IFT_GR303IDT = 0xb2 -+ IFT_GR303RDT = 0xb1 -+ IFT_H323GATEKEEPER = 0xa4 -+ IFT_H323PROXY = 0xa5 -+ IFT_HDH1822 = 0x3 -+ IFT_HDLC = 0x76 -+ IFT_HDSL2 = 0xa8 -+ IFT_HIPERLAN2 = 0xb7 -+ IFT_HIPPI = 0x2f -+ IFT_HIPPIINTERFACE = 0x39 -+ IFT_HOSTPAD = 0x5a -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IBM370PARCHAN = 0x48 -+ IFT_IDSL = 0x9a -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE80211 = 0x47 -+ IFT_IEEE80212 = 0x37 -+ IFT_IEEE8023ADLAG = 0xa1 -+ IFT_IFGSN = 0x91 -+ IFT_IMT = 0xbe -+ IFT_INFINIBAND = 0xc7 -+ IFT_INTERLEAVE = 0x7c -+ IFT_IP = 0x7e -+ IFT_IPFORWARD = 0x8e -+ IFT_IPOVERATM = 0x72 -+ IFT_IPOVERCDLC = 0x6d -+ IFT_IPOVERCLAW = 0x6e -+ IFT_IPSWITCH = 0x4e -+ IFT_ISDN = 0x3f -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISDNS = 0x4b -+ IFT_ISDNU = 0x4c -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88025CRFPINT = 0x62 -+ IFT_ISO88025DTR = 0x56 -+ IFT_ISO88025FIBER = 0x73 -+ IFT_ISO88026 = 0xa -+ IFT_ISUP = 0xb3 -+ IFT_L2VLAN = 0x87 -+ IFT_L3IPVLAN = 0x88 -+ IFT_L3IPXVLAN = 0x89 -+ IFT_LAPB = 0x10 -+ IFT_LAPD = 0x4d -+ IFT_LAPF = 0x77 -+ IFT_LINEGROUP = 0xd2 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MEDIAMAILOVERIP = 0x8b -+ IFT_MFSIGLINK = 0xa7 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_MPC = 0x71 -+ IFT_MPLS = 0xa6 -+ IFT_MPLSTUNNEL = 0x96 -+ IFT_MSDSL = 0x8f -+ IFT_MVL = 0xbf -+ IFT_MYRINET = 0x63 -+ IFT_NFAS = 0xaf -+ IFT_NSIP = 0x1b -+ IFT_OPTICALCHANNEL = 0xc3 -+ IFT_OPTICALTRANSPORT = 0xc4 -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PFLOG = 0xf5 -+ IFT_PFSYNC = 0xf6 -+ IFT_PLC = 0xae -+ IFT_PON155 = 0xcf -+ IFT_PON622 = 0xd0 -+ IFT_POS = 0xab -+ IFT_PPP = 0x17 -+ IFT_PPPMULTILINKBUNDLE = 0x6c -+ IFT_PROPATM = 0xc5 -+ IFT_PROPBWAP2MP = 0xb8 -+ IFT_PROPCNLS = 0x59 -+ IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 -+ IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 -+ IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PROPWIRELESSP2P = 0x9d -+ IFT_PTPSERIAL = 0x16 -+ IFT_PVC = 0xf1 -+ IFT_Q2931 = 0xc9 -+ IFT_QLLC = 0x44 -+ IFT_RADIOMAC = 0xbc -+ IFT_RADSL = 0x5f -+ IFT_REACHDSL = 0xc0 -+ IFT_RFC1483 = 0x9f -+ IFT_RS232 = 0x21 -+ IFT_RSRB = 0x4f -+ IFT_SDLC = 0x11 -+ IFT_SDSL = 0x60 -+ IFT_SHDSL = 0xa9 -+ IFT_SIP = 0x1f -+ IFT_SIPSIG = 0xcc -+ IFT_SIPTG = 0xcb -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETOVERHEADCHANNEL = 0xb9 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_SRP = 0x97 -+ IFT_SS7SIGLINK = 0x9c -+ IFT_STACKTOSTACK = 0x6f -+ IFT_STARLAN = 0xb -+ IFT_STF = 0xd7 -+ IFT_T1 = 0x12 -+ IFT_TDLC = 0x74 -+ IFT_TELINK = 0xc8 -+ IFT_TERMPAD = 0x5b -+ IFT_TR008 = 0xb0 -+ IFT_TRANSPHDLC = 0x7b -+ IFT_TUNNEL = 0x83 -+ IFT_ULTRA = 0x1d -+ IFT_USB = 0xa0 -+ IFT_V11 = 0x40 -+ IFT_V35 = 0x2d -+ IFT_V36 = 0x41 -+ IFT_V37 = 0x78 -+ IFT_VDSL = 0x61 -+ IFT_VIRTUALIPADDRESS = 0x70 -+ IFT_VIRTUALTG = 0xca -+ IFT_VOICEDID = 0xd5 -+ IFT_VOICEEM = 0x64 -+ IFT_VOICEEMFGD = 0xd3 -+ IFT_VOICEENCAP = 0x67 -+ IFT_VOICEFGDEANA = 0xd4 -+ IFT_VOICEFXO = 0x65 -+ IFT_VOICEFXS = 0x66 -+ IFT_VOICEOVERATM = 0x98 -+ IFT_VOICEOVERCABLE = 0xc6 -+ IFT_VOICEOVERFRAMERELAY = 0x99 -+ IFT_VOICEOVERIP = 0x68 -+ IFT_X213 = 0x5d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25HUNTGROUP = 0x7a -+ IFT_X25MLP = 0x79 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LOOPBACKNET = 0x7f -+ IPPROTO_AH = 0x33 -+ IPPROTO_CARP = 0x70 -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IPV6_ICMP = 0x3a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MOBILE = 0x37 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PFSYNC = 0xf0 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_VRRP = 0x70 -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DSTOPTS = 0x32 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x78 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_HOPLIMIT = 0x2f -+ IPV6_HOPOPTS = 0x31 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MMTU = 0x500 -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_NEXTHOP = 0x30 -+ IPV6_PATHMTU = 0x2c -+ IPV6_PKTINFO = 0x2e -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_RECVDSTOPTS = 0x28 -+ IPV6_RECVHOPLIMIT = 0x25 -+ IPV6_RECVHOPOPTS = 0x27 -+ IPV6_RECVPATHMTU = 0x2b -+ IPV6_RECVPKTINFO = 0x24 -+ IPV6_RECVRTHDR = 0x26 -+ IPV6_RECVTCLASS = 0x39 -+ IPV6_RTHDR = 0x33 -+ IPV6_RTHDRDSTOPTS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x3d -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_USE_MIN_MTU = 0x2a -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_EF = 0x8000 -+ IP_ERRORMTU = 0x15 -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x16 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINFRAGSIZE = 0x45 -+ IP_MINTTL = 0x18 -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x1 -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTTL = 0x17 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_TOS = 0x3 -+ IP_TTL = 0x4 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x6 -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_SPACEAVAIL = 0x5 -+ MADV_WILLNEED = 0x3 -+ MAP_ALIGNMENT_16MB = 0x18000000 -+ MAP_ALIGNMENT_1TB = 0x28000000 -+ MAP_ALIGNMENT_256TB = 0x30000000 -+ MAP_ALIGNMENT_4GB = 0x20000000 -+ MAP_ALIGNMENT_64KB = 0x10000000 -+ MAP_ALIGNMENT_64PB = 0x38000000 -+ MAP_ALIGNMENT_MASK = -0x1000000 -+ MAP_ALIGNMENT_SHIFT = 0x18 -+ MAP_ANON = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_INHERIT = 0x80 -+ MAP_INHERIT_COPY = 0x1 -+ MAP_INHERIT_DEFAULT = 0x1 -+ MAP_INHERIT_DONATE_COPY = 0x3 -+ MAP_INHERIT_NONE = 0x2 -+ MAP_INHERIT_SHARE = 0x0 -+ MAP_NORESERVE = 0x40 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x2000 -+ MAP_TRYFIXED = 0x400 -+ MAP_WIRED = 0x800 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_BCAST = 0x100 -+ MSG_CMSG_CLOEXEC = 0x800 -+ MSG_CONTROLMBUF = 0x2000000 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOR = 0x8 -+ MSG_IOVUSRSPACE = 0x4000000 -+ MSG_LENUSRSPACE = 0x8000000 -+ MSG_MCAST = 0x200 -+ MSG_NAMEMBUF = 0x1000000 -+ MSG_NBIO = 0x1000 -+ MSG_NOSIGNAL = 0x400 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_TRUNC = 0x10 -+ MSG_USERFLAGS = 0xffffff -+ MSG_WAITALL = 0x40 -+ MS_ASYNC = 0x1 -+ MS_INVALIDATE = 0x2 -+ MS_SYNC = 0x4 -+ NAME_MAX = 0x1ff -+ NET_RT_DUMP = 0x1 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x5 -+ NET_RT_MAXID = 0x6 -+ NET_RT_OIFLIST = 0x4 -+ NET_RT_OOIFLIST = 0x3 -+ NOFLSH = 0x80000000 -+ NOTE_ATTRIB = 0x8 -+ NOTE_CHILD = 0x4 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FORK = 0x40000000 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_PCTRLMASK = 0xf0000000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ OFIOGETBMAP = 0xc004667a -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_ALT_IO = 0x40000 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x400000 -+ O_CREAT = 0x200 -+ O_DIRECT = 0x80000 -+ O_DIRECTORY = 0x200000 -+ O_DSYNC = 0x10000 -+ O_EXCL = 0x800 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x8000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_NOSIGPIPE = 0x1000000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x20000 -+ O_SHLOCK = 0x10 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PRI_IOFLUSH = 0x7c -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ RLIMIT_AS = 0xa -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x9 -+ RTAX_NETMASK = 0x2 -+ RTAX_TAG = 0x8 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTA_TAG = 0x100 -+ RTF_ANNOUNCE = 0x20000 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_CLONED = 0x2000 -+ RTF_CLONING = 0x100 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_LLINFO = 0x400 -+ RTF_MASK = 0x80 -+ RTF_MODIFIED = 0x20 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_REJECT = 0x8 -+ RTF_SRC = 0x10000 -+ RTF_STATIC = 0x800 -+ RTF_UP = 0x1 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_CHGADDR = 0x15 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_GET = 0x4 -+ RTM_IEEE80211 = 0x11 -+ RTM_IFANNOUNCE = 0x10 -+ RTM_IFINFO = 0x14 -+ RTM_LLINFO_UPD = 0x13 -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_OIFINFO = 0xf -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_OOIFINFO = 0xe -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_SETGATE = 0x12 -+ RTM_VERSION = 0x4 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ SCM_CREDS = 0x4 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x8 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80906931 -+ SIOCADDRT = 0x8038720a -+ SIOCAIFADDR = 0x8040691a -+ SIOCALIFADDR = 0x8118691c -+ SIOCATMARK = 0x40047307 -+ SIOCDELMULTI = 0x80906932 -+ SIOCDELRT = 0x8038720b -+ SIOCDIFADDR = 0x80906919 -+ SIOCDIFPHYADDR = 0x80906949 -+ SIOCDLIFADDR = 0x8118691e -+ SIOCGDRVSPEC = 0xc028697b -+ SIOCGETPFSYNC = 0xc09069f8 -+ SIOCGETSGCNT = 0xc0207534 -+ SIOCGETVIFCNT = 0xc0287533 -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0906921 -+ SIOCGIFADDRPREF = 0xc0986920 -+ SIOCGIFALIAS = 0xc040691b -+ SIOCGIFBRDADDR = 0xc0906923 -+ SIOCGIFCAP = 0xc0206976 -+ SIOCGIFCONF = 0xc0106926 -+ SIOCGIFDATA = 0xc0986985 -+ SIOCGIFDLT = 0xc0906977 -+ SIOCGIFDSTADDR = 0xc0906922 -+ SIOCGIFFLAGS = 0xc0906911 -+ SIOCGIFGENERIC = 0xc090693a -+ SIOCGIFMEDIA = 0xc0306936 -+ SIOCGIFMETRIC = 0xc0906917 -+ SIOCGIFMTU = 0xc090697e -+ SIOCGIFNETMASK = 0xc0906925 -+ SIOCGIFPDSTADDR = 0xc0906948 -+ SIOCGIFPSRCADDR = 0xc0906947 -+ SIOCGLIFADDR = 0xc118691d -+ SIOCGLIFPHYADDR = 0xc118694b -+ SIOCGLINKSTR = 0xc0286987 -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCGVH = 0xc0906983 -+ SIOCIFCREATE = 0x8090697a -+ SIOCIFDESTROY = 0x80906979 -+ SIOCIFGCLONERS = 0xc0106978 -+ SIOCINITIFADDR = 0xc0706984 -+ SIOCSDRVSPEC = 0x8028697b -+ SIOCSETPFSYNC = 0x809069f7 -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8090690c -+ SIOCSIFADDRPREF = 0x8098691f -+ SIOCSIFBRDADDR = 0x80906913 -+ SIOCSIFCAP = 0x80206975 -+ SIOCSIFDSTADDR = 0x8090690e -+ SIOCSIFFLAGS = 0x80906910 -+ SIOCSIFGENERIC = 0x80906939 -+ SIOCSIFMEDIA = 0xc0906935 -+ SIOCSIFMETRIC = 0x80906918 -+ SIOCSIFMTU = 0x8090697f -+ SIOCSIFNETMASK = 0x80906916 -+ SIOCSIFPHYADDR = 0x80406946 -+ SIOCSLIFPHYADDR = 0x8118694a -+ SIOCSLINKSTR = 0x80286988 -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SIOCSVH = 0xc0906982 -+ SIOCZIFDATA = 0xc0986986 -+ SOCK_CLOEXEC = 0x10000000 -+ SOCK_DGRAM = 0x2 -+ SOCK_FLAGS_MASK = 0xf0000000 -+ SOCK_NONBLOCK = 0x20000000 -+ SOCK_NOSIGPIPE = 0x40000000 -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_ACCEPTFILTER = 0x1000 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_NOHEADER = 0x100a -+ SO_NOSIGPIPE = 0x800 -+ SO_OOBINLINE = 0x100 -+ SO_OVERFLOWED = 0x1009 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x100c -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x100b -+ SO_TIMESTAMP = 0x2000 -+ SO_TYPE = 0x1008 -+ SO_USELOOPBACK = 0x40 -+ SYSCTL_VERSION = 0x1000000 -+ SYSCTL_VERS_0 = 0x0 -+ SYSCTL_VERS_1 = 0x1000000 -+ SYSCTL_VERS_MASK = 0xff000000 -+ S_ARCH1 = 0x10000 -+ S_ARCH2 = 0x20000 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IFWHT = 0xe000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISTXT = 0x200 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ S_LOGIN_SET = 0x1 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_CONGCTL = 0x20 -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x3 -+ TCP_KEEPINIT = 0x7 -+ TCP_KEEPINTVL = 0x5 -+ TCP_MAXBURST = 0x4 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0x10 -+ TCP_MINMSS = 0xd8 -+ TCP_MSS = 0x218 -+ TCP_NODELAY = 0x1 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDCDTIMESTAMP = 0x40107458 -+ TIOCDRAIN = 0x2000745e -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLAG_CDTRCTS = 0x10 -+ TIOCFLAG_CLOCAL = 0x2 -+ TIOCFLAG_CRTSCTS = 0x4 -+ TIOCFLAG_MDMBUF = 0x8 -+ TIOCFLAG_SOFTCAR = 0x1 -+ TIOCFLUSH = 0x80047410 -+ TIOCGETA = 0x402c7413 -+ TIOCGETD = 0x4004741a -+ TIOCGFLAGS = 0x4004745d -+ TIOCGLINED = 0x40207442 -+ TIOCGPGRP = 0x40047477 -+ TIOCGQSIZE = 0x40047481 -+ TIOCGRANTPT = 0x20007447 -+ TIOCGSID = 0x40047463 -+ TIOCGSIZE = 0x40087468 -+ TIOCGWINSZ = 0x40087468 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGET = 0x4004746a -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCPTMGET = 0x40287446 -+ TIOCPTSNAME = 0x40287448 -+ TIOCRCVFRAME = 0x80087445 -+ TIOCREMOTE = 0x80047469 -+ TIOCSBRK = 0x2000747b -+ TIOCSCTTY = 0x20007461 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x802c7414 -+ TIOCSETAF = 0x802c7416 -+ TIOCSETAW = 0x802c7415 -+ TIOCSETD = 0x8004741b -+ TIOCSFLAGS = 0x8004745c -+ TIOCSIG = 0x2000745f -+ TIOCSLINED = 0x80207443 -+ TIOCSPGRP = 0x80047476 -+ TIOCSQSIZE = 0x80047480 -+ TIOCSSIZE = 0x80087467 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x80047465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCUCNTL = 0x80047466 -+ TIOCXMTFRAME = 0x80087444 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WALL = 0x8 -+ WALLSIG = 0x8 -+ WALTSIG = 0x4 -+ WCLONE = 0x4 -+ WCOREFLAG = 0x80 -+ WNOHANG = 0x1 -+ WNOWAIT = 0x10000 -+ WNOZOMBIE = 0x20000 -+ WOPTSCHECKED = 0x40000 -+ WSTOPPED = 0x7f -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADF = syscall.Errno(0x9) -+ EBADMSG = syscall.Errno(0x58) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x57) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDOM = syscall.Errno(0x21) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x52) -+ EILSEQ = syscall.Errno(0x55) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x60) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5e) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x5d) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODATA = syscall.Errno(0x59) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x5f) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x53) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x5a) -+ ENOSTR = syscall.Errno(0x5b) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x56) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x2d) -+ EOVERFLOW = syscall.Errno(0x54) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x60) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIME = syscall.Errno(0x5c) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x20) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large or too small", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol option not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "connection timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "identifier removed", -+ 83: "no message of desired type", -+ 84: "value too large to be stored in data type", -+ 85: "illegal byte sequence", -+ 86: "not supported", -+ 87: "operation Canceled", -+ 88: "bad or Corrupt message", -+ 89: "no message available", -+ 90: "no STREAM resources", -+ 91: "not a STREAM", -+ 92: "STREAM ioctl timeout", -+ 93: "attribute not found", -+ 94: "multihop attempted", -+ 95: "link has been severed", -+ 96: "protocol error", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "stopped (signal)", -+ 18: "stopped", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+ 32: "power fail/restart", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go -new file mode 100644 -index 0000000..ac85ca6 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go -@@ -0,0 +1,1688 @@ -+// mkerrors.sh -marm -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build arm,netbsd -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -marm _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_ARP = 0x1c -+ AF_BLUETOOTH = 0x1f -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1a -+ AF_ECMA = 0x8 -+ AF_HYLINK = 0xf -+ AF_IEEE80211 = 0x20 -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x18 -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1a -+ AF_ISO = 0x7 -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x23 -+ AF_MPLS = 0x21 -+ AF_NATM = 0x1b -+ AF_NS = 0x6 -+ AF_OROUTE = 0x11 -+ AF_OSI = 0x7 -+ AF_PUP = 0x4 -+ AF_ROUTE = 0x22 -+ AF_SNA = 0xb -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_FRELAY = 0xf -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_STRIP = 0x17 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B460800 = 0x70800 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B921600 = 0xe1000 -+ B9600 = 0x2580 -+ BIOCFEEDBACK = 0x8004427d -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc0084277 -+ BIOCGETIF = 0x4090426b -+ BIOCGFEEDBACK = 0x4004427c -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRTIMEOUT = 0x400c427b -+ BIOCGSEESENT = 0x40044278 -+ BIOCGSTATS = 0x4080426f -+ BIOCGSTATSOLD = 0x4008426f -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDLT = 0x80044276 -+ BIOCSETF = 0x80084267 -+ BIOCSETIF = 0x8090426c -+ BIOCSFEEDBACK = 0x8004427d -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRTIMEOUT = 0x800c427a -+ BIOCSSEESENT = 0x80044279 -+ BIOCSTCPF = 0x80084272 -+ BIOCSUDPF = 0x80084273 -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALIGNMENT32 = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DFLTBUFSIZE = 0x100000 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x1000000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0xc -+ CTL_NET = 0x4 -+ CTL_QUERY = -0x2 -+ DIOCBSFLUSH = 0x20006478 -+ DLT_A429 = 0xb8 -+ DLT_A653_ICM = 0xb9 -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_AOS = 0xde -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_AX25_KISS = 0xca -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_BLUETOOTH_HCI_H4 = 0xbb -+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9 -+ DLT_CAN20B = 0xbe -+ DLT_CAN_SOCKETCAN = 0xe3 -+ DLT_CHAOS = 0x5 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_C_HDLC_WITH_DIR = 0xcd -+ DLT_DECT = 0xdd -+ DLT_DOCSIS = 0x8f -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF = 0xc5 -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FC_2 = 0xe0 -+ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1 -+ DLT_FDDI = 0xa -+ DLT_FLEXRAY = 0xd2 -+ DLT_FRELAY = 0x6b -+ DLT_FRELAY_WITH_DIR = 0xce -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_GSMTAP_ABIS = 0xda -+ DLT_GSMTAP_UM = 0xd9 -+ DLT_HDLC = 0x10 -+ DLT_HHDLC = 0x79 -+ DLT_HIPPI = 0xf -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IEEE802_15_4 = 0xc3 -+ DLT_IEEE802_15_4_LINUX = 0xbf -+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7 -+ DLT_IEEE802_16_MAC_CPS = 0xbc -+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1 -+ DLT_IPMB = 0xc7 -+ DLT_IPMB_LINUX = 0xd1 -+ DLT_IPNET = 0xe2 -+ DLT_IPV4 = 0xe4 -+ DLT_IPV6 = 0xe5 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_ISM = 0xc2 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_JUNIPER_ST = 0xc8 -+ DLT_JUNIPER_VP = 0xb7 -+ DLT_LAPB_WITH_DIR = 0xcf -+ DLT_LAPD = 0xcb -+ DLT_LIN = 0xd4 -+ DLT_LINUX_EVDEV = 0xd8 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MFR = 0xb6 -+ DLT_MOST = 0xd3 -+ DLT_MPLS = 0xdb -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPI = 0xc0 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0xe -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PPP_WITH_DIR = 0xcc -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAIF1 = 0xc6 -+ DLT_RAW = 0xc -+ DLT_RAWAF_MASK = 0x2240000 -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SITA = 0xc4 -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xd -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ DLT_USB = 0xba -+ DLT_USB_LINUX = 0xbd -+ DLT_USB_LINUX_MMAPPED = 0xdc -+ DLT_WIHART = 0xdf -+ DLT_X2E_SERIAL = 0xd5 -+ DLT_X2E_XORAYA = 0xd6 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EMUL_LINUX = 0x1 -+ EMUL_LINUX32 = 0x5 -+ EMUL_MAXID = 0x6 -+ ETHERCAP_JUMBO_MTU = 0x4 -+ ETHERCAP_VLAN_HWTAGGING = 0x2 -+ ETHERCAP_VLAN_MTU = 0x1 -+ ETHERMIN = 0x2e -+ ETHERMTU = 0x5dc -+ ETHERMTU_JUMBO = 0x2328 -+ ETHERTYPE_8023 = 0x4 -+ ETHERTYPE_AARP = 0x80f3 -+ ETHERTYPE_ACCTON = 0x8390 -+ ETHERTYPE_AEONIC = 0x8036 -+ ETHERTYPE_ALPHA = 0x814a -+ ETHERTYPE_AMBER = 0x6008 -+ ETHERTYPE_AMOEBA = 0x8145 -+ ETHERTYPE_APOLLO = 0x80f7 -+ ETHERTYPE_APOLLODOMAIN = 0x8019 -+ ETHERTYPE_APPLETALK = 0x809b -+ ETHERTYPE_APPLITEK = 0x80c7 -+ ETHERTYPE_ARGONAUT = 0x803a -+ ETHERTYPE_ARP = 0x806 -+ ETHERTYPE_AT = 0x809b -+ ETHERTYPE_ATALK = 0x809b -+ ETHERTYPE_ATOMIC = 0x86df -+ ETHERTYPE_ATT = 0x8069 -+ ETHERTYPE_ATTSTANFORD = 0x8008 -+ ETHERTYPE_AUTOPHON = 0x806a -+ ETHERTYPE_AXIS = 0x8856 -+ ETHERTYPE_BCLOOP = 0x9003 -+ ETHERTYPE_BOFL = 0x8102 -+ ETHERTYPE_CABLETRON = 0x7034 -+ ETHERTYPE_CHAOS = 0x804 -+ ETHERTYPE_COMDESIGN = 0x806c -+ ETHERTYPE_COMPUGRAPHIC = 0x806d -+ ETHERTYPE_COUNTERPOINT = 0x8062 -+ ETHERTYPE_CRONUS = 0x8004 -+ ETHERTYPE_CRONUSVLN = 0x8003 -+ ETHERTYPE_DCA = 0x1234 -+ ETHERTYPE_DDE = 0x807b -+ ETHERTYPE_DEBNI = 0xaaaa -+ ETHERTYPE_DECAM = 0x8048 -+ ETHERTYPE_DECCUST = 0x6006 -+ ETHERTYPE_DECDIAG = 0x6005 -+ ETHERTYPE_DECDNS = 0x803c -+ ETHERTYPE_DECDTS = 0x803e -+ ETHERTYPE_DECEXPER = 0x6000 -+ ETHERTYPE_DECLAST = 0x8041 -+ ETHERTYPE_DECLTM = 0x803f -+ ETHERTYPE_DECMUMPS = 0x6009 -+ ETHERTYPE_DECNETBIOS = 0x8040 -+ ETHERTYPE_DELTACON = 0x86de -+ ETHERTYPE_DIDDLE = 0x4321 -+ ETHERTYPE_DLOG1 = 0x660 -+ ETHERTYPE_DLOG2 = 0x661 -+ ETHERTYPE_DN = 0x6003 -+ ETHERTYPE_DOGFIGHT = 0x1989 -+ ETHERTYPE_DSMD = 0x8039 -+ ETHERTYPE_ECMA = 0x803 -+ ETHERTYPE_ENCRYPT = 0x803d -+ ETHERTYPE_ES = 0x805d -+ ETHERTYPE_EXCELAN = 0x8010 -+ ETHERTYPE_EXPERDATA = 0x8049 -+ ETHERTYPE_FLIP = 0x8146 -+ ETHERTYPE_FLOWCONTROL = 0x8808 -+ ETHERTYPE_FRARP = 0x808 -+ ETHERTYPE_GENDYN = 0x8068 -+ ETHERTYPE_HAYES = 0x8130 -+ ETHERTYPE_HIPPI_FP = 0x8180 -+ ETHERTYPE_HITACHI = 0x8820 -+ ETHERTYPE_HP = 0x8005 -+ ETHERTYPE_IEEEPUP = 0xa00 -+ ETHERTYPE_IEEEPUPAT = 0xa01 -+ ETHERTYPE_IMLBL = 0x4c42 -+ ETHERTYPE_IMLBLDIAG = 0x424c -+ ETHERTYPE_IP = 0x800 -+ ETHERTYPE_IPAS = 0x876c -+ ETHERTYPE_IPV6 = 0x86dd -+ ETHERTYPE_IPX = 0x8137 -+ ETHERTYPE_IPXNEW = 0x8037 -+ ETHERTYPE_KALPANA = 0x8582 -+ ETHERTYPE_LANBRIDGE = 0x8038 -+ ETHERTYPE_LANPROBE = 0x8888 -+ ETHERTYPE_LAT = 0x6004 -+ ETHERTYPE_LBACK = 0x9000 -+ ETHERTYPE_LITTLE = 0x8060 -+ ETHERTYPE_LOGICRAFT = 0x8148 -+ ETHERTYPE_LOOPBACK = 0x9000 -+ ETHERTYPE_MATRA = 0x807a -+ ETHERTYPE_MAX = 0xffff -+ ETHERTYPE_MERIT = 0x807c -+ ETHERTYPE_MICP = 0x873a -+ ETHERTYPE_MOPDL = 0x6001 -+ ETHERTYPE_MOPRC = 0x6002 -+ ETHERTYPE_MOTOROLA = 0x818d -+ ETHERTYPE_MPLS = 0x8847 -+ ETHERTYPE_MPLS_MCAST = 0x8848 -+ ETHERTYPE_MUMPS = 0x813f -+ ETHERTYPE_NBPCC = 0x3c04 -+ ETHERTYPE_NBPCLAIM = 0x3c09 -+ ETHERTYPE_NBPCLREQ = 0x3c05 -+ ETHERTYPE_NBPCLRSP = 0x3c06 -+ ETHERTYPE_NBPCREQ = 0x3c02 -+ ETHERTYPE_NBPCRSP = 0x3c03 -+ ETHERTYPE_NBPDG = 0x3c07 -+ ETHERTYPE_NBPDGB = 0x3c08 -+ ETHERTYPE_NBPDLTE = 0x3c0a -+ ETHERTYPE_NBPRAR = 0x3c0c -+ ETHERTYPE_NBPRAS = 0x3c0b -+ ETHERTYPE_NBPRST = 0x3c0d -+ ETHERTYPE_NBPSCD = 0x3c01 -+ ETHERTYPE_NBPVCD = 0x3c00 -+ ETHERTYPE_NBS = 0x802 -+ ETHERTYPE_NCD = 0x8149 -+ ETHERTYPE_NESTAR = 0x8006 -+ ETHERTYPE_NETBEUI = 0x8191 -+ ETHERTYPE_NOVELL = 0x8138 -+ ETHERTYPE_NS = 0x600 -+ ETHERTYPE_NSAT = 0x601 -+ ETHERTYPE_NSCOMPAT = 0x807 -+ ETHERTYPE_NTRAILER = 0x10 -+ ETHERTYPE_OS9 = 0x7007 -+ ETHERTYPE_OS9NET = 0x7009 -+ ETHERTYPE_PACER = 0x80c6 -+ ETHERTYPE_PAE = 0x888e -+ ETHERTYPE_PCS = 0x4242 -+ ETHERTYPE_PLANNING = 0x8044 -+ ETHERTYPE_PPP = 0x880b -+ ETHERTYPE_PPPOE = 0x8864 -+ ETHERTYPE_PPPOEDISC = 0x8863 -+ ETHERTYPE_PRIMENTS = 0x7031 -+ ETHERTYPE_PUP = 0x200 -+ ETHERTYPE_PUPAT = 0x200 -+ ETHERTYPE_RACAL = 0x7030 -+ ETHERTYPE_RATIONAL = 0x8150 -+ ETHERTYPE_RAWFR = 0x6559 -+ ETHERTYPE_RCL = 0x1995 -+ ETHERTYPE_RDP = 0x8739 -+ ETHERTYPE_RETIX = 0x80f2 -+ ETHERTYPE_REVARP = 0x8035 -+ ETHERTYPE_SCA = 0x6007 -+ ETHERTYPE_SECTRA = 0x86db -+ ETHERTYPE_SECUREDATA = 0x876d -+ ETHERTYPE_SGITW = 0x817e -+ ETHERTYPE_SG_BOUNCE = 0x8016 -+ ETHERTYPE_SG_DIAG = 0x8013 -+ ETHERTYPE_SG_NETGAMES = 0x8014 -+ ETHERTYPE_SG_RESV = 0x8015 -+ ETHERTYPE_SIMNET = 0x5208 -+ ETHERTYPE_SLOWPROTOCOLS = 0x8809 -+ ETHERTYPE_SNA = 0x80d5 -+ ETHERTYPE_SNMP = 0x814c -+ ETHERTYPE_SONIX = 0xfaf5 -+ ETHERTYPE_SPIDER = 0x809f -+ ETHERTYPE_SPRITE = 0x500 -+ ETHERTYPE_STP = 0x8181 -+ ETHERTYPE_TALARIS = 0x812b -+ ETHERTYPE_TALARISMC = 0x852b -+ ETHERTYPE_TCPCOMP = 0x876b -+ ETHERTYPE_TCPSM = 0x9002 -+ ETHERTYPE_TEC = 0x814f -+ ETHERTYPE_TIGAN = 0x802f -+ ETHERTYPE_TRAIL = 0x1000 -+ ETHERTYPE_TRANSETHER = 0x6558 -+ ETHERTYPE_TYMSHARE = 0x802e -+ ETHERTYPE_UBBST = 0x7005 -+ ETHERTYPE_UBDEBUG = 0x900 -+ ETHERTYPE_UBDIAGLOOP = 0x7002 -+ ETHERTYPE_UBDL = 0x7000 -+ ETHERTYPE_UBNIU = 0x7001 -+ ETHERTYPE_UBNMC = 0x7003 -+ ETHERTYPE_VALID = 0x1600 -+ ETHERTYPE_VARIAN = 0x80dd -+ ETHERTYPE_VAXELN = 0x803b -+ ETHERTYPE_VEECO = 0x8067 -+ ETHERTYPE_VEXP = 0x805b -+ ETHERTYPE_VGLAB = 0x8131 -+ ETHERTYPE_VINES = 0xbad -+ ETHERTYPE_VINESECHO = 0xbaf -+ ETHERTYPE_VINESLOOP = 0xbae -+ ETHERTYPE_VITAL = 0xff00 -+ ETHERTYPE_VLAN = 0x8100 -+ ETHERTYPE_VLTLMAN = 0x8080 -+ ETHERTYPE_VPROD = 0x805c -+ ETHERTYPE_VURESERVED = 0x8147 -+ ETHERTYPE_WATERLOO = 0x8130 -+ ETHERTYPE_WELLFLEET = 0x8103 -+ ETHERTYPE_X25 = 0x805 -+ ETHERTYPE_X75 = 0x801 -+ ETHERTYPE_XNSSM = 0x9001 -+ ETHERTYPE_XTP = 0x817d -+ ETHER_ADDR_LEN = 0x6 -+ ETHER_CRC_LEN = 0x4 -+ ETHER_CRC_POLY_BE = 0x4c11db6 -+ ETHER_CRC_POLY_LE = 0xedb88320 -+ ETHER_HDR_LEN = 0xe -+ ETHER_MAX_LEN = 0x5ee -+ ETHER_MAX_LEN_JUMBO = 0x233a -+ ETHER_MIN_LEN = 0x40 -+ ETHER_PPPOE_ENCAP_LEN = 0x8 -+ ETHER_TYPE_LEN = 0x2 -+ ETHER_VLAN_ENCAP_LEN = 0x4 -+ EVFILT_AIO = 0x2 -+ EVFILT_PROC = 0x4 -+ EVFILT_READ = 0x0 -+ EVFILT_SIGNAL = 0x5 -+ EVFILT_SYSCOUNT = 0x7 -+ EVFILT_TIMER = 0x6 -+ EVFILT_VNODE = 0x3 -+ EVFILT_WRITE = 0x1 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x100 -+ FLUSHO = 0x800000 -+ F_CLOSEM = 0xa -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0xc -+ F_FSCTL = -0x80000000 -+ F_FSDIRMASK = 0x70000000 -+ F_FSIN = 0x10000000 -+ F_FSINOUT = 0x30000000 -+ F_FSOUT = 0x20000000 -+ F_FSPRIV = 0x8000 -+ F_FSVOID = 0x40000000 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0x7 -+ F_GETNOSIGPIPE = 0xd -+ F_GETOWN = 0x5 -+ F_MAXFD = 0xb -+ F_OK = 0x0 -+ F_PARAM_MASK = 0xfff -+ F_PARAM_MAX = 0xfff -+ F_RDLCK = 0x1 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x8 -+ F_SETLKW = 0x9 -+ F_SETNOSIGPIPE = 0xe -+ F_SETOWN = 0x6 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFAN_ARRIVAL = 0x0 -+ IFAN_DEPARTURE = 0x1 -+ IFA_ROUTE = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_BROADCAST = 0x2 -+ IFF_CANTCHANGE = 0x8f52 -+ IFF_DEBUG = 0x4 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_A12MPPSWITCH = 0x82 -+ IFT_AAL2 = 0xbb -+ IFT_AAL5 = 0x31 -+ IFT_ADSL = 0x5e -+ IFT_AFLANE8023 = 0x3b -+ IFT_AFLANE8025 = 0x3c -+ IFT_ARAP = 0x58 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ASYNC = 0x54 -+ IFT_ATM = 0x25 -+ IFT_ATMDXI = 0x69 -+ IFT_ATMFUNI = 0x6a -+ IFT_ATMIMA = 0x6b -+ IFT_ATMLOGICAL = 0x50 -+ IFT_ATMRADIO = 0xbd -+ IFT_ATMSUBINTERFACE = 0x86 -+ IFT_ATMVCIENDPT = 0xc2 -+ IFT_ATMVIRTUAL = 0x95 -+ IFT_BGPPOLICYACCOUNTING = 0xa2 -+ IFT_BRIDGE = 0xd1 -+ IFT_BSC = 0x53 -+ IFT_CARP = 0xf8 -+ IFT_CCTEMUL = 0x3d -+ IFT_CEPT = 0x13 -+ IFT_CES = 0x85 -+ IFT_CHANNEL = 0x46 -+ IFT_CNR = 0x55 -+ IFT_COFFEE = 0x84 -+ IFT_COMPOSITELINK = 0x9b -+ IFT_DCN = 0x8d -+ IFT_DIGITALPOWERLINE = 0x8a -+ IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba -+ IFT_DLSW = 0x4a -+ IFT_DOCSCABLEDOWNSTREAM = 0x80 -+ IFT_DOCSCABLEMACLAYER = 0x7f -+ IFT_DOCSCABLEUPSTREAM = 0x81 -+ IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd -+ IFT_DS0 = 0x51 -+ IFT_DS0BUNDLE = 0x52 -+ IFT_DS1FDL = 0xaa -+ IFT_DS3 = 0x1e -+ IFT_DTM = 0x8c -+ IFT_DVBASILN = 0xac -+ IFT_DVBASIOUT = 0xad -+ IFT_DVBRCCDOWNSTREAM = 0x93 -+ IFT_DVBRCCMACLAYER = 0x92 -+ IFT_DVBRCCUPSTREAM = 0x94 -+ IFT_ECONET = 0xce -+ IFT_EON = 0x19 -+ IFT_EPLRS = 0x57 -+ IFT_ESCON = 0x49 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0xf2 -+ IFT_FAST = 0x7d -+ IFT_FASTETHER = 0x3e -+ IFT_FASTETHERFX = 0x45 -+ IFT_FDDI = 0xf -+ IFT_FIBRECHANNEL = 0x38 -+ IFT_FRAMERELAYINTERCONNECT = 0x3a -+ IFT_FRAMERELAYMPI = 0x5c -+ IFT_FRDLCIENDPT = 0xc1 -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_FRF16MFRBUNDLE = 0xa3 -+ IFT_FRFORWARD = 0x9e -+ IFT_G703AT2MB = 0x43 -+ IFT_G703AT64K = 0x42 -+ IFT_GIF = 0xf0 -+ IFT_GIGABITETHERNET = 0x75 -+ IFT_GR303IDT = 0xb2 -+ IFT_GR303RDT = 0xb1 -+ IFT_H323GATEKEEPER = 0xa4 -+ IFT_H323PROXY = 0xa5 -+ IFT_HDH1822 = 0x3 -+ IFT_HDLC = 0x76 -+ IFT_HDSL2 = 0xa8 -+ IFT_HIPERLAN2 = 0xb7 -+ IFT_HIPPI = 0x2f -+ IFT_HIPPIINTERFACE = 0x39 -+ IFT_HOSTPAD = 0x5a -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IBM370PARCHAN = 0x48 -+ IFT_IDSL = 0x9a -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE80211 = 0x47 -+ IFT_IEEE80212 = 0x37 -+ IFT_IEEE8023ADLAG = 0xa1 -+ IFT_IFGSN = 0x91 -+ IFT_IMT = 0xbe -+ IFT_INFINIBAND = 0xc7 -+ IFT_INTERLEAVE = 0x7c -+ IFT_IP = 0x7e -+ IFT_IPFORWARD = 0x8e -+ IFT_IPOVERATM = 0x72 -+ IFT_IPOVERCDLC = 0x6d -+ IFT_IPOVERCLAW = 0x6e -+ IFT_IPSWITCH = 0x4e -+ IFT_ISDN = 0x3f -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISDNS = 0x4b -+ IFT_ISDNU = 0x4c -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88025CRFPINT = 0x62 -+ IFT_ISO88025DTR = 0x56 -+ IFT_ISO88025FIBER = 0x73 -+ IFT_ISO88026 = 0xa -+ IFT_ISUP = 0xb3 -+ IFT_L2VLAN = 0x87 -+ IFT_L3IPVLAN = 0x88 -+ IFT_L3IPXVLAN = 0x89 -+ IFT_LAPB = 0x10 -+ IFT_LAPD = 0x4d -+ IFT_LAPF = 0x77 -+ IFT_LINEGROUP = 0xd2 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MEDIAMAILOVERIP = 0x8b -+ IFT_MFSIGLINK = 0xa7 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_MPC = 0x71 -+ IFT_MPLS = 0xa6 -+ IFT_MPLSTUNNEL = 0x96 -+ IFT_MSDSL = 0x8f -+ IFT_MVL = 0xbf -+ IFT_MYRINET = 0x63 -+ IFT_NFAS = 0xaf -+ IFT_NSIP = 0x1b -+ IFT_OPTICALCHANNEL = 0xc3 -+ IFT_OPTICALTRANSPORT = 0xc4 -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PFLOG = 0xf5 -+ IFT_PFSYNC = 0xf6 -+ IFT_PLC = 0xae -+ IFT_PON155 = 0xcf -+ IFT_PON622 = 0xd0 -+ IFT_POS = 0xab -+ IFT_PPP = 0x17 -+ IFT_PPPMULTILINKBUNDLE = 0x6c -+ IFT_PROPATM = 0xc5 -+ IFT_PROPBWAP2MP = 0xb8 -+ IFT_PROPCNLS = 0x59 -+ IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 -+ IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 -+ IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PROPWIRELESSP2P = 0x9d -+ IFT_PTPSERIAL = 0x16 -+ IFT_PVC = 0xf1 -+ IFT_Q2931 = 0xc9 -+ IFT_QLLC = 0x44 -+ IFT_RADIOMAC = 0xbc -+ IFT_RADSL = 0x5f -+ IFT_REACHDSL = 0xc0 -+ IFT_RFC1483 = 0x9f -+ IFT_RS232 = 0x21 -+ IFT_RSRB = 0x4f -+ IFT_SDLC = 0x11 -+ IFT_SDSL = 0x60 -+ IFT_SHDSL = 0xa9 -+ IFT_SIP = 0x1f -+ IFT_SIPSIG = 0xcc -+ IFT_SIPTG = 0xcb -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETOVERHEADCHANNEL = 0xb9 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_SRP = 0x97 -+ IFT_SS7SIGLINK = 0x9c -+ IFT_STACKTOSTACK = 0x6f -+ IFT_STARLAN = 0xb -+ IFT_STF = 0xd7 -+ IFT_T1 = 0x12 -+ IFT_TDLC = 0x74 -+ IFT_TELINK = 0xc8 -+ IFT_TERMPAD = 0x5b -+ IFT_TR008 = 0xb0 -+ IFT_TRANSPHDLC = 0x7b -+ IFT_TUNNEL = 0x83 -+ IFT_ULTRA = 0x1d -+ IFT_USB = 0xa0 -+ IFT_V11 = 0x40 -+ IFT_V35 = 0x2d -+ IFT_V36 = 0x41 -+ IFT_V37 = 0x78 -+ IFT_VDSL = 0x61 -+ IFT_VIRTUALIPADDRESS = 0x70 -+ IFT_VIRTUALTG = 0xca -+ IFT_VOICEDID = 0xd5 -+ IFT_VOICEEM = 0x64 -+ IFT_VOICEEMFGD = 0xd3 -+ IFT_VOICEENCAP = 0x67 -+ IFT_VOICEFGDEANA = 0xd4 -+ IFT_VOICEFXO = 0x65 -+ IFT_VOICEFXS = 0x66 -+ IFT_VOICEOVERATM = 0x98 -+ IFT_VOICEOVERCABLE = 0xc6 -+ IFT_VOICEOVERFRAMERELAY = 0x99 -+ IFT_VOICEOVERIP = 0x68 -+ IFT_X213 = 0x5d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25HUNTGROUP = 0x7a -+ IFT_X25MLP = 0x79 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LOOPBACKNET = 0x7f -+ IPPROTO_AH = 0x33 -+ IPPROTO_CARP = 0x70 -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_IPV6_ICMP = 0x3a -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x34 -+ IPPROTO_MOBILE = 0x37 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PFSYNC = 0xf0 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_VRRP = 0x70 -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DSTOPTS = 0x32 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x78 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_HOPLIMIT = 0x2f -+ IPV6_HOPOPTS = 0x31 -+ IPV6_IPSEC_POLICY = 0x1c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MMTU = 0x500 -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_NEXTHOP = 0x30 -+ IPV6_PATHMTU = 0x2c -+ IPV6_PKTINFO = 0x2e -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_RECVDSTOPTS = 0x28 -+ IPV6_RECVHOPLIMIT = 0x25 -+ IPV6_RECVHOPOPTS = 0x27 -+ IPV6_RECVPATHMTU = 0x2b -+ IPV6_RECVPKTINFO = 0x24 -+ IPV6_RECVRTHDR = 0x26 -+ IPV6_RECVTCLASS = 0x39 -+ IPV6_RTHDR = 0x33 -+ IPV6_RTHDRDSTOPTS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x3d -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_USE_MIN_MTU = 0x2a -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_EF = 0x8000 -+ IP_ERRORMTU = 0x15 -+ IP_HDRINCL = 0x2 -+ IP_IPSEC_POLICY = 0x16 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINFRAGSIZE = 0x45 -+ IP_MINTTL = 0x18 -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x1 -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x14 -+ IP_RECVOPTS = 0x5 -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVTTL = 0x17 -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_TOS = 0x3 -+ IP_TTL = 0x4 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x6 -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_SPACEAVAIL = 0x5 -+ MADV_WILLNEED = 0x3 -+ MAP_ALIGNMENT_16MB = 0x18000000 -+ MAP_ALIGNMENT_1TB = 0x28000000 -+ MAP_ALIGNMENT_256TB = 0x30000000 -+ MAP_ALIGNMENT_4GB = 0x20000000 -+ MAP_ALIGNMENT_64KB = 0x10000000 -+ MAP_ALIGNMENT_64PB = 0x38000000 -+ MAP_ALIGNMENT_MASK = -0x1000000 -+ MAP_ALIGNMENT_SHIFT = 0x18 -+ MAP_ANON = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_INHERIT = 0x80 -+ MAP_INHERIT_COPY = 0x1 -+ MAP_INHERIT_DEFAULT = 0x1 -+ MAP_INHERIT_DONATE_COPY = 0x3 -+ MAP_INHERIT_NONE = 0x2 -+ MAP_INHERIT_SHARE = 0x0 -+ MAP_NORESERVE = 0x40 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_SHARED = 0x1 -+ MAP_STACK = 0x2000 -+ MAP_TRYFIXED = 0x400 -+ MAP_WIRED = 0x800 -+ MSG_BCAST = 0x100 -+ MSG_CMSG_CLOEXEC = 0x800 -+ MSG_CONTROLMBUF = 0x2000000 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOR = 0x8 -+ MSG_IOVUSRSPACE = 0x4000000 -+ MSG_LENUSRSPACE = 0x8000000 -+ MSG_MCAST = 0x200 -+ MSG_NAMEMBUF = 0x1000000 -+ MSG_NBIO = 0x1000 -+ MSG_NOSIGNAL = 0x400 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_TRUNC = 0x10 -+ MSG_USERFLAGS = 0xffffff -+ MSG_WAITALL = 0x40 -+ NAME_MAX = 0x1ff -+ NET_RT_DUMP = 0x1 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x5 -+ NET_RT_MAXID = 0x6 -+ NET_RT_OIFLIST = 0x4 -+ NET_RT_OOIFLIST = 0x3 -+ NOFLSH = 0x80000000 -+ NOTE_ATTRIB = 0x8 -+ NOTE_CHILD = 0x4 -+ NOTE_DELETE = 0x1 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FORK = 0x40000000 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_PCTRLMASK = 0xf0000000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ OFIOGETBMAP = 0xc004667a -+ ONLCR = 0x2 -+ ONLRET = 0x40 -+ ONOCR = 0x20 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_ALT_IO = 0x40000 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x400000 -+ O_CREAT = 0x200 -+ O_DIRECT = 0x80000 -+ O_DIRECTORY = 0x200000 -+ O_DSYNC = 0x10000 -+ O_EXCL = 0x800 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x8000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_NOSIGPIPE = 0x1000000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x20000 -+ O_SHLOCK = 0x10 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PRI_IOFLUSH = 0x7c -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ RLIMIT_AS = 0xa -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x9 -+ RTAX_NETMASK = 0x2 -+ RTAX_TAG = 0x8 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTA_TAG = 0x100 -+ RTF_ANNOUNCE = 0x20000 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_CLONED = 0x2000 -+ RTF_CLONING = 0x100 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_LLINFO = 0x400 -+ RTF_MASK = 0x80 -+ RTF_MODIFIED = 0x20 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_REJECT = 0x8 -+ RTF_SRC = 0x10000 -+ RTF_STATIC = 0x800 -+ RTF_UP = 0x1 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_CHGADDR = 0x15 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_GET = 0x4 -+ RTM_IEEE80211 = 0x11 -+ RTM_IFANNOUNCE = 0x10 -+ RTM_IFINFO = 0x14 -+ RTM_LLINFO_UPD = 0x13 -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_OIFINFO = 0xf -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_OOIFINFO = 0xe -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_SETGATE = 0x12 -+ RTM_VERSION = 0x4 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ SCM_CREDS = 0x4 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x8 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80906931 -+ SIOCADDRT = 0x8030720a -+ SIOCAIFADDR = 0x8040691a -+ SIOCALIFADDR = 0x8118691c -+ SIOCATMARK = 0x40047307 -+ SIOCDELMULTI = 0x80906932 -+ SIOCDELRT = 0x8030720b -+ SIOCDIFADDR = 0x80906919 -+ SIOCDIFPHYADDR = 0x80906949 -+ SIOCDLIFADDR = 0x8118691e -+ SIOCGDRVSPEC = 0xc01c697b -+ SIOCGETPFSYNC = 0xc09069f8 -+ SIOCGETSGCNT = 0xc0147534 -+ SIOCGETVIFCNT = 0xc0147533 -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0906921 -+ SIOCGIFADDRPREF = 0xc0946920 -+ SIOCGIFALIAS = 0xc040691b -+ SIOCGIFBRDADDR = 0xc0906923 -+ SIOCGIFCAP = 0xc0206976 -+ SIOCGIFCONF = 0xc0086926 -+ SIOCGIFDATA = 0xc0946985 -+ SIOCGIFDLT = 0xc0906977 -+ SIOCGIFDSTADDR = 0xc0906922 -+ SIOCGIFFLAGS = 0xc0906911 -+ SIOCGIFGENERIC = 0xc090693a -+ SIOCGIFMEDIA = 0xc0286936 -+ SIOCGIFMETRIC = 0xc0906917 -+ SIOCGIFMTU = 0xc090697e -+ SIOCGIFNETMASK = 0xc0906925 -+ SIOCGIFPDSTADDR = 0xc0906948 -+ SIOCGIFPSRCADDR = 0xc0906947 -+ SIOCGLIFADDR = 0xc118691d -+ SIOCGLIFPHYADDR = 0xc118694b -+ SIOCGLINKSTR = 0xc01c6987 -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCGVH = 0xc0906983 -+ SIOCIFCREATE = 0x8090697a -+ SIOCIFDESTROY = 0x80906979 -+ SIOCIFGCLONERS = 0xc00c6978 -+ SIOCINITIFADDR = 0xc0446984 -+ SIOCSDRVSPEC = 0x801c697b -+ SIOCSETPFSYNC = 0x809069f7 -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8090690c -+ SIOCSIFADDRPREF = 0x8094691f -+ SIOCSIFBRDADDR = 0x80906913 -+ SIOCSIFCAP = 0x80206975 -+ SIOCSIFDSTADDR = 0x8090690e -+ SIOCSIFFLAGS = 0x80906910 -+ SIOCSIFGENERIC = 0x80906939 -+ SIOCSIFMEDIA = 0xc0906935 -+ SIOCSIFMETRIC = 0x80906918 -+ SIOCSIFMTU = 0x8090697f -+ SIOCSIFNETMASK = 0x80906916 -+ SIOCSIFPHYADDR = 0x80406946 -+ SIOCSLIFPHYADDR = 0x8118694a -+ SIOCSLINKSTR = 0x801c6988 -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SIOCSVH = 0xc0906982 -+ SIOCZIFDATA = 0xc0946986 -+ SOCK_CLOEXEC = 0x10000000 -+ SOCK_DGRAM = 0x2 -+ SOCK_FLAGS_MASK = 0xf0000000 -+ SOCK_NONBLOCK = 0x20000000 -+ SOCK_NOSIGPIPE = 0x40000000 -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_ACCEPTFILTER = 0x1000 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_NOHEADER = 0x100a -+ SO_NOSIGPIPE = 0x800 -+ SO_OOBINLINE = 0x100 -+ SO_OVERFLOWED = 0x1009 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x100c -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x100b -+ SO_TIMESTAMP = 0x2000 -+ SO_TYPE = 0x1008 -+ SO_USELOOPBACK = 0x40 -+ SYSCTL_VERSION = 0x1000000 -+ SYSCTL_VERS_0 = 0x0 -+ SYSCTL_VERS_1 = 0x1000000 -+ SYSCTL_VERS_MASK = 0xff000000 -+ S_ARCH1 = 0x10000 -+ S_ARCH2 = 0x20000 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IFWHT = 0xe000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISTXT = 0x200 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_CONGCTL = 0x20 -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x3 -+ TCP_KEEPINIT = 0x7 -+ TCP_KEEPINTVL = 0x5 -+ TCP_MAXBURST = 0x4 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0x10 -+ TCP_MINMSS = 0xd8 -+ TCP_MSS = 0x218 -+ TCP_NODELAY = 0x1 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDCDTIMESTAMP = 0x400c7458 -+ TIOCDRAIN = 0x2000745e -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLAG_CDTRCTS = 0x10 -+ TIOCFLAG_CLOCAL = 0x2 -+ TIOCFLAG_CRTSCTS = 0x4 -+ TIOCFLAG_MDMBUF = 0x8 -+ TIOCFLAG_SOFTCAR = 0x1 -+ TIOCFLUSH = 0x80047410 -+ TIOCGETA = 0x402c7413 -+ TIOCGETD = 0x4004741a -+ TIOCGFLAGS = 0x4004745d -+ TIOCGLINED = 0x40207442 -+ TIOCGPGRP = 0x40047477 -+ TIOCGQSIZE = 0x40047481 -+ TIOCGRANTPT = 0x20007447 -+ TIOCGSID = 0x40047463 -+ TIOCGSIZE = 0x40087468 -+ TIOCGWINSZ = 0x40087468 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGET = 0x4004746a -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCPTMGET = 0x48087446 -+ TIOCPTSNAME = 0x48087448 -+ TIOCRCVFRAME = 0x80047445 -+ TIOCREMOTE = 0x80047469 -+ TIOCSBRK = 0x2000747b -+ TIOCSCTTY = 0x20007461 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x802c7414 -+ TIOCSETAF = 0x802c7416 -+ TIOCSETAW = 0x802c7415 -+ TIOCSETD = 0x8004741b -+ TIOCSFLAGS = 0x8004745c -+ TIOCSIG = 0x2000745f -+ TIOCSLINED = 0x80207443 -+ TIOCSPGRP = 0x80047476 -+ TIOCSQSIZE = 0x80047480 -+ TIOCSSIZE = 0x80087467 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x80047465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSWINSZ = 0x80087467 -+ TIOCUCNTL = 0x80047466 -+ TIOCXMTFRAME = 0x80047444 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WALL = 0x8 -+ WALLSIG = 0x8 -+ WALTSIG = 0x4 -+ WCLONE = 0x4 -+ WCOREFLAG = 0x80 -+ WNOHANG = 0x1 -+ WNOWAIT = 0x10000 -+ WNOZOMBIE = 0x20000 -+ WOPTSCHECKED = 0x40000 -+ WSTOPPED = 0x7f -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADF = syscall.Errno(0x9) -+ EBADMSG = syscall.Errno(0x58) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x57) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDOM = syscall.Errno(0x21) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x52) -+ EILSEQ = syscall.Errno(0x55) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x60) -+ ELOOP = syscall.Errno(0x3e) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ EMULTIHOP = syscall.Errno(0x5e) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x5d) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODATA = syscall.Errno(0x59) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOLINK = syscall.Errno(0x5f) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x53) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x5a) -+ ENOSTR = syscall.Errno(0x5b) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x56) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x2d) -+ EOVERFLOW = syscall.Errno(0x54) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTO = syscall.Errno(0x60) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIME = syscall.Errno(0x5c) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x20) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large or too small", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol option not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "connection timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "identifier removed", -+ 83: "no message of desired type", -+ 84: "value too large to be stored in data type", -+ 85: "illegal byte sequence", -+ 86: "not supported", -+ 87: "operation Canceled", -+ 88: "bad or Corrupt message", -+ 89: "no message available", -+ 90: "no STREAM resources", -+ 91: "not a STREAM", -+ 92: "STREAM ioctl timeout", -+ 93: "attribute not found", -+ 94: "multihop attempted", -+ 95: "link has been severed", -+ 96: "protocol error", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "stopped (signal)", -+ 18: "stopped", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+ 32: "power fail/restart", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go -new file mode 100644 -index 0000000..3322e99 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go -@@ -0,0 +1,1584 @@ -+// mkerrors.sh -m32 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build 386,openbsd -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m32 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_BLUETOOTH = 0x20 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1a -+ AF_ECMA = 0x8 -+ AF_ENCAP = 0x1c -+ AF_HYLINK = 0xf -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x18 -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1a -+ AF_ISO = 0x7 -+ AF_KEY = 0x1e -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x24 -+ AF_MPLS = 0x21 -+ AF_NATM = 0x1b -+ AF_NS = 0x6 -+ AF_OSI = 0x7 -+ AF_PUP = 0x4 -+ AF_ROUTE = 0x11 -+ AF_SIP = 0x1d -+ AF_SNA = 0xb -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_FRELAY = 0xf -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B9600 = 0x2580 -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDIRFILT = 0x4004427c -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc008427b -+ BIOCGETIF = 0x4020426b -+ BIOCGFILDROP = 0x40044278 -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRSIG = 0x40044273 -+ BIOCGRTIMEOUT = 0x400c426e -+ BIOCGSTATS = 0x4008426f -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCLOCK = 0x20004276 -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDIRFILT = 0x8004427d -+ BIOCSDLT = 0x8004427a -+ BIOCSETF = 0x80084267 -+ BIOCSETIF = 0x8020426c -+ BIOCSETWF = 0x80084277 -+ BIOCSFILDROP = 0x80044279 -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRSIG = 0x80044272 -+ BIOCSRTIMEOUT = 0x800c426d -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIRECTION_IN = 0x1 -+ BPF_DIRECTION_OUT = 0x2 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x200000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0xff -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0xc -+ CTL_NET = 0x4 -+ DIOCOSFPFLUSH = 0x2000444e -+ DLT_ARCNET = 0x7 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AX25 = 0x3 -+ DLT_CHAOS = 0x5 -+ DLT_C_HDLC = 0x68 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0xd -+ DLT_FDDI = 0xa -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_LOOP = 0xc -+ DLT_MPLS = 0xdb -+ DLT_NULL = 0x0 -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0x10 -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PRONET = 0x4 -+ DLT_RAW = 0xe -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xf -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EMT_TAGOVF = 0x1 -+ EMUL_ENABLED = 0x1 -+ EMUL_NATIVE = 0x2 -+ ENDRUNDISC = 0x9 -+ ETHERMIN = 0x2e -+ ETHERMTU = 0x5dc -+ ETHERTYPE_8023 = 0x4 -+ ETHERTYPE_AARP = 0x80f3 -+ ETHERTYPE_ACCTON = 0x8390 -+ ETHERTYPE_AEONIC = 0x8036 -+ ETHERTYPE_ALPHA = 0x814a -+ ETHERTYPE_AMBER = 0x6008 -+ ETHERTYPE_AMOEBA = 0x8145 -+ ETHERTYPE_AOE = 0x88a2 -+ ETHERTYPE_APOLLO = 0x80f7 -+ ETHERTYPE_APOLLODOMAIN = 0x8019 -+ ETHERTYPE_APPLETALK = 0x809b -+ ETHERTYPE_APPLITEK = 0x80c7 -+ ETHERTYPE_ARGONAUT = 0x803a -+ ETHERTYPE_ARP = 0x806 -+ ETHERTYPE_AT = 0x809b -+ ETHERTYPE_ATALK = 0x809b -+ ETHERTYPE_ATOMIC = 0x86df -+ ETHERTYPE_ATT = 0x8069 -+ ETHERTYPE_ATTSTANFORD = 0x8008 -+ ETHERTYPE_AUTOPHON = 0x806a -+ ETHERTYPE_AXIS = 0x8856 -+ ETHERTYPE_BCLOOP = 0x9003 -+ ETHERTYPE_BOFL = 0x8102 -+ ETHERTYPE_CABLETRON = 0x7034 -+ ETHERTYPE_CHAOS = 0x804 -+ ETHERTYPE_COMDESIGN = 0x806c -+ ETHERTYPE_COMPUGRAPHIC = 0x806d -+ ETHERTYPE_COUNTERPOINT = 0x8062 -+ ETHERTYPE_CRONUS = 0x8004 -+ ETHERTYPE_CRONUSVLN = 0x8003 -+ ETHERTYPE_DCA = 0x1234 -+ ETHERTYPE_DDE = 0x807b -+ ETHERTYPE_DEBNI = 0xaaaa -+ ETHERTYPE_DECAM = 0x8048 -+ ETHERTYPE_DECCUST = 0x6006 -+ ETHERTYPE_DECDIAG = 0x6005 -+ ETHERTYPE_DECDNS = 0x803c -+ ETHERTYPE_DECDTS = 0x803e -+ ETHERTYPE_DECEXPER = 0x6000 -+ ETHERTYPE_DECLAST = 0x8041 -+ ETHERTYPE_DECLTM = 0x803f -+ ETHERTYPE_DECMUMPS = 0x6009 -+ ETHERTYPE_DECNETBIOS = 0x8040 -+ ETHERTYPE_DELTACON = 0x86de -+ ETHERTYPE_DIDDLE = 0x4321 -+ ETHERTYPE_DLOG1 = 0x660 -+ ETHERTYPE_DLOG2 = 0x661 -+ ETHERTYPE_DN = 0x6003 -+ ETHERTYPE_DOGFIGHT = 0x1989 -+ ETHERTYPE_DSMD = 0x8039 -+ ETHERTYPE_ECMA = 0x803 -+ ETHERTYPE_ENCRYPT = 0x803d -+ ETHERTYPE_ES = 0x805d -+ ETHERTYPE_EXCELAN = 0x8010 -+ ETHERTYPE_EXPERDATA = 0x8049 -+ ETHERTYPE_FLIP = 0x8146 -+ ETHERTYPE_FLOWCONTROL = 0x8808 -+ ETHERTYPE_FRARP = 0x808 -+ ETHERTYPE_GENDYN = 0x8068 -+ ETHERTYPE_HAYES = 0x8130 -+ ETHERTYPE_HIPPI_FP = 0x8180 -+ ETHERTYPE_HITACHI = 0x8820 -+ ETHERTYPE_HP = 0x8005 -+ ETHERTYPE_IEEEPUP = 0xa00 -+ ETHERTYPE_IEEEPUPAT = 0xa01 -+ ETHERTYPE_IMLBL = 0x4c42 -+ ETHERTYPE_IMLBLDIAG = 0x424c -+ ETHERTYPE_IP = 0x800 -+ ETHERTYPE_IPAS = 0x876c -+ ETHERTYPE_IPV6 = 0x86dd -+ ETHERTYPE_IPX = 0x8137 -+ ETHERTYPE_IPXNEW = 0x8037 -+ ETHERTYPE_KALPANA = 0x8582 -+ ETHERTYPE_LANBRIDGE = 0x8038 -+ ETHERTYPE_LANPROBE = 0x8888 -+ ETHERTYPE_LAT = 0x6004 -+ ETHERTYPE_LBACK = 0x9000 -+ ETHERTYPE_LITTLE = 0x8060 -+ ETHERTYPE_LLDP = 0x88cc -+ ETHERTYPE_LOGICRAFT = 0x8148 -+ ETHERTYPE_LOOPBACK = 0x9000 -+ ETHERTYPE_MATRA = 0x807a -+ ETHERTYPE_MAX = 0xffff -+ ETHERTYPE_MERIT = 0x807c -+ ETHERTYPE_MICP = 0x873a -+ ETHERTYPE_MOPDL = 0x6001 -+ ETHERTYPE_MOPRC = 0x6002 -+ ETHERTYPE_MOTOROLA = 0x818d -+ ETHERTYPE_MPLS = 0x8847 -+ ETHERTYPE_MPLS_MCAST = 0x8848 -+ ETHERTYPE_MUMPS = 0x813f -+ ETHERTYPE_NBPCC = 0x3c04 -+ ETHERTYPE_NBPCLAIM = 0x3c09 -+ ETHERTYPE_NBPCLREQ = 0x3c05 -+ ETHERTYPE_NBPCLRSP = 0x3c06 -+ ETHERTYPE_NBPCREQ = 0x3c02 -+ ETHERTYPE_NBPCRSP = 0x3c03 -+ ETHERTYPE_NBPDG = 0x3c07 -+ ETHERTYPE_NBPDGB = 0x3c08 -+ ETHERTYPE_NBPDLTE = 0x3c0a -+ ETHERTYPE_NBPRAR = 0x3c0c -+ ETHERTYPE_NBPRAS = 0x3c0b -+ ETHERTYPE_NBPRST = 0x3c0d -+ ETHERTYPE_NBPSCD = 0x3c01 -+ ETHERTYPE_NBPVCD = 0x3c00 -+ ETHERTYPE_NBS = 0x802 -+ ETHERTYPE_NCD = 0x8149 -+ ETHERTYPE_NESTAR = 0x8006 -+ ETHERTYPE_NETBEUI = 0x8191 -+ ETHERTYPE_NOVELL = 0x8138 -+ ETHERTYPE_NS = 0x600 -+ ETHERTYPE_NSAT = 0x601 -+ ETHERTYPE_NSCOMPAT = 0x807 -+ ETHERTYPE_NTRAILER = 0x10 -+ ETHERTYPE_OS9 = 0x7007 -+ ETHERTYPE_OS9NET = 0x7009 -+ ETHERTYPE_PACER = 0x80c6 -+ ETHERTYPE_PAE = 0x888e -+ ETHERTYPE_PCS = 0x4242 -+ ETHERTYPE_PLANNING = 0x8044 -+ ETHERTYPE_PPP = 0x880b -+ ETHERTYPE_PPPOE = 0x8864 -+ ETHERTYPE_PPPOEDISC = 0x8863 -+ ETHERTYPE_PRIMENTS = 0x7031 -+ ETHERTYPE_PUP = 0x200 -+ ETHERTYPE_PUPAT = 0x200 -+ ETHERTYPE_QINQ = 0x88a8 -+ ETHERTYPE_RACAL = 0x7030 -+ ETHERTYPE_RATIONAL = 0x8150 -+ ETHERTYPE_RAWFR = 0x6559 -+ ETHERTYPE_RCL = 0x1995 -+ ETHERTYPE_RDP = 0x8739 -+ ETHERTYPE_RETIX = 0x80f2 -+ ETHERTYPE_REVARP = 0x8035 -+ ETHERTYPE_SCA = 0x6007 -+ ETHERTYPE_SECTRA = 0x86db -+ ETHERTYPE_SECUREDATA = 0x876d -+ ETHERTYPE_SGITW = 0x817e -+ ETHERTYPE_SG_BOUNCE = 0x8016 -+ ETHERTYPE_SG_DIAG = 0x8013 -+ ETHERTYPE_SG_NETGAMES = 0x8014 -+ ETHERTYPE_SG_RESV = 0x8015 -+ ETHERTYPE_SIMNET = 0x5208 -+ ETHERTYPE_SLOW = 0x8809 -+ ETHERTYPE_SNA = 0x80d5 -+ ETHERTYPE_SNMP = 0x814c -+ ETHERTYPE_SONIX = 0xfaf5 -+ ETHERTYPE_SPIDER = 0x809f -+ ETHERTYPE_SPRITE = 0x500 -+ ETHERTYPE_STP = 0x8181 -+ ETHERTYPE_TALARIS = 0x812b -+ ETHERTYPE_TALARISMC = 0x852b -+ ETHERTYPE_TCPCOMP = 0x876b -+ ETHERTYPE_TCPSM = 0x9002 -+ ETHERTYPE_TEC = 0x814f -+ ETHERTYPE_TIGAN = 0x802f -+ ETHERTYPE_TRAIL = 0x1000 -+ ETHERTYPE_TRANSETHER = 0x6558 -+ ETHERTYPE_TYMSHARE = 0x802e -+ ETHERTYPE_UBBST = 0x7005 -+ ETHERTYPE_UBDEBUG = 0x900 -+ ETHERTYPE_UBDIAGLOOP = 0x7002 -+ ETHERTYPE_UBDL = 0x7000 -+ ETHERTYPE_UBNIU = 0x7001 -+ ETHERTYPE_UBNMC = 0x7003 -+ ETHERTYPE_VALID = 0x1600 -+ ETHERTYPE_VARIAN = 0x80dd -+ ETHERTYPE_VAXELN = 0x803b -+ ETHERTYPE_VEECO = 0x8067 -+ ETHERTYPE_VEXP = 0x805b -+ ETHERTYPE_VGLAB = 0x8131 -+ ETHERTYPE_VINES = 0xbad -+ ETHERTYPE_VINESECHO = 0xbaf -+ ETHERTYPE_VINESLOOP = 0xbae -+ ETHERTYPE_VITAL = 0xff00 -+ ETHERTYPE_VLAN = 0x8100 -+ ETHERTYPE_VLTLMAN = 0x8080 -+ ETHERTYPE_VPROD = 0x805c -+ ETHERTYPE_VURESERVED = 0x8147 -+ ETHERTYPE_WATERLOO = 0x8130 -+ ETHERTYPE_WELLFLEET = 0x8103 -+ ETHERTYPE_X25 = 0x805 -+ ETHERTYPE_X75 = 0x801 -+ ETHERTYPE_XNSSM = 0x9001 -+ ETHERTYPE_XTP = 0x817d -+ ETHER_ADDR_LEN = 0x6 -+ ETHER_ALIGN = 0x2 -+ ETHER_CRC_LEN = 0x4 -+ ETHER_CRC_POLY_BE = 0x4c11db6 -+ ETHER_CRC_POLY_LE = 0xedb88320 -+ ETHER_HDR_LEN = 0xe -+ ETHER_MAX_DIX_LEN = 0x600 -+ ETHER_MAX_LEN = 0x5ee -+ ETHER_MIN_LEN = 0x40 -+ ETHER_TYPE_LEN = 0x2 -+ ETHER_VLAN_ENCAP_LEN = 0x4 -+ EVFILT_AIO = -0x3 -+ EVFILT_PROC = -0x5 -+ EVFILT_READ = -0x1 -+ EVFILT_SIGNAL = -0x6 -+ EVFILT_SYSCOUNT = 0x7 -+ EVFILT_TIMER = -0x7 -+ EVFILT_VNODE = -0x4 -+ EVFILT_WRITE = -0x2 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x800000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0xa -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0x7 -+ F_GETOWN = 0x5 -+ F_OK = 0x0 -+ F_RDLCK = 0x1 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x8 -+ F_SETLKW = 0x9 -+ F_SETOWN = 0x6 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFAN_ARRIVAL = 0x0 -+ IFAN_DEPARTURE = 0x1 -+ IFA_ROUTE = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_BROADCAST = 0x2 -+ IFF_CANTCHANGE = 0x8e52 -+ IFF_DEBUG = 0x4 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_A12MPPSWITCH = 0x82 -+ IFT_AAL2 = 0xbb -+ IFT_AAL5 = 0x31 -+ IFT_ADSL = 0x5e -+ IFT_AFLANE8023 = 0x3b -+ IFT_AFLANE8025 = 0x3c -+ IFT_ARAP = 0x58 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ASYNC = 0x54 -+ IFT_ATM = 0x25 -+ IFT_ATMDXI = 0x69 -+ IFT_ATMFUNI = 0x6a -+ IFT_ATMIMA = 0x6b -+ IFT_ATMLOGICAL = 0x50 -+ IFT_ATMRADIO = 0xbd -+ IFT_ATMSUBINTERFACE = 0x86 -+ IFT_ATMVCIENDPT = 0xc2 -+ IFT_ATMVIRTUAL = 0x95 -+ IFT_BGPPOLICYACCOUNTING = 0xa2 -+ IFT_BLUETOOTH = 0xf8 -+ IFT_BRIDGE = 0xd1 -+ IFT_BSC = 0x53 -+ IFT_CARP = 0xf7 -+ IFT_CCTEMUL = 0x3d -+ IFT_CEPT = 0x13 -+ IFT_CES = 0x85 -+ IFT_CHANNEL = 0x46 -+ IFT_CNR = 0x55 -+ IFT_COFFEE = 0x84 -+ IFT_COMPOSITELINK = 0x9b -+ IFT_DCN = 0x8d -+ IFT_DIGITALPOWERLINE = 0x8a -+ IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba -+ IFT_DLSW = 0x4a -+ IFT_DOCSCABLEDOWNSTREAM = 0x80 -+ IFT_DOCSCABLEMACLAYER = 0x7f -+ IFT_DOCSCABLEUPSTREAM = 0x81 -+ IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd -+ IFT_DS0 = 0x51 -+ IFT_DS0BUNDLE = 0x52 -+ IFT_DS1FDL = 0xaa -+ IFT_DS3 = 0x1e -+ IFT_DTM = 0x8c -+ IFT_DUMMY = 0xf1 -+ IFT_DVBASILN = 0xac -+ IFT_DVBASIOUT = 0xad -+ IFT_DVBRCCDOWNSTREAM = 0x93 -+ IFT_DVBRCCMACLAYER = 0x92 -+ IFT_DVBRCCUPSTREAM = 0x94 -+ IFT_ECONET = 0xce -+ IFT_ENC = 0xf4 -+ IFT_EON = 0x19 -+ IFT_EPLRS = 0x57 -+ IFT_ESCON = 0x49 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0xf3 -+ IFT_FAST = 0x7d -+ IFT_FASTETHER = 0x3e -+ IFT_FASTETHERFX = 0x45 -+ IFT_FDDI = 0xf -+ IFT_FIBRECHANNEL = 0x38 -+ IFT_FRAMERELAYINTERCONNECT = 0x3a -+ IFT_FRAMERELAYMPI = 0x5c -+ IFT_FRDLCIENDPT = 0xc1 -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_FRF16MFRBUNDLE = 0xa3 -+ IFT_FRFORWARD = 0x9e -+ IFT_G703AT2MB = 0x43 -+ IFT_G703AT64K = 0x42 -+ IFT_GIF = 0xf0 -+ IFT_GIGABITETHERNET = 0x75 -+ IFT_GR303IDT = 0xb2 -+ IFT_GR303RDT = 0xb1 -+ IFT_H323GATEKEEPER = 0xa4 -+ IFT_H323PROXY = 0xa5 -+ IFT_HDH1822 = 0x3 -+ IFT_HDLC = 0x76 -+ IFT_HDSL2 = 0xa8 -+ IFT_HIPERLAN2 = 0xb7 -+ IFT_HIPPI = 0x2f -+ IFT_HIPPIINTERFACE = 0x39 -+ IFT_HOSTPAD = 0x5a -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IBM370PARCHAN = 0x48 -+ IFT_IDSL = 0x9a -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE80211 = 0x47 -+ IFT_IEEE80212 = 0x37 -+ IFT_IEEE8023ADLAG = 0xa1 -+ IFT_IFGSN = 0x91 -+ IFT_IMT = 0xbe -+ IFT_INFINIBAND = 0xc7 -+ IFT_INTERLEAVE = 0x7c -+ IFT_IP = 0x7e -+ IFT_IPFORWARD = 0x8e -+ IFT_IPOVERATM = 0x72 -+ IFT_IPOVERCDLC = 0x6d -+ IFT_IPOVERCLAW = 0x6e -+ IFT_IPSWITCH = 0x4e -+ IFT_ISDN = 0x3f -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISDNS = 0x4b -+ IFT_ISDNU = 0x4c -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88025CRFPINT = 0x62 -+ IFT_ISO88025DTR = 0x56 -+ IFT_ISO88025FIBER = 0x73 -+ IFT_ISO88026 = 0xa -+ IFT_ISUP = 0xb3 -+ IFT_L2VLAN = 0x87 -+ IFT_L3IPVLAN = 0x88 -+ IFT_L3IPXVLAN = 0x89 -+ IFT_LAPB = 0x10 -+ IFT_LAPD = 0x4d -+ IFT_LAPF = 0x77 -+ IFT_LINEGROUP = 0xd2 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MEDIAMAILOVERIP = 0x8b -+ IFT_MFSIGLINK = 0xa7 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_MPC = 0x71 -+ IFT_MPLS = 0xa6 -+ IFT_MPLSTUNNEL = 0x96 -+ IFT_MSDSL = 0x8f -+ IFT_MVL = 0xbf -+ IFT_MYRINET = 0x63 -+ IFT_NFAS = 0xaf -+ IFT_NSIP = 0x1b -+ IFT_OPTICALCHANNEL = 0xc3 -+ IFT_OPTICALTRANSPORT = 0xc4 -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PFLOG = 0xf5 -+ IFT_PFLOW = 0xf9 -+ IFT_PFSYNC = 0xf6 -+ IFT_PLC = 0xae -+ IFT_PON155 = 0xcf -+ IFT_PON622 = 0xd0 -+ IFT_POS = 0xab -+ IFT_PPP = 0x17 -+ IFT_PPPMULTILINKBUNDLE = 0x6c -+ IFT_PROPATM = 0xc5 -+ IFT_PROPBWAP2MP = 0xb8 -+ IFT_PROPCNLS = 0x59 -+ IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 -+ IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 -+ IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PROPWIRELESSP2P = 0x9d -+ IFT_PTPSERIAL = 0x16 -+ IFT_PVC = 0xf2 -+ IFT_Q2931 = 0xc9 -+ IFT_QLLC = 0x44 -+ IFT_RADIOMAC = 0xbc -+ IFT_RADSL = 0x5f -+ IFT_REACHDSL = 0xc0 -+ IFT_RFC1483 = 0x9f -+ IFT_RS232 = 0x21 -+ IFT_RSRB = 0x4f -+ IFT_SDLC = 0x11 -+ IFT_SDSL = 0x60 -+ IFT_SHDSL = 0xa9 -+ IFT_SIP = 0x1f -+ IFT_SIPSIG = 0xcc -+ IFT_SIPTG = 0xcb -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETOVERHEADCHANNEL = 0xb9 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_SRP = 0x97 -+ IFT_SS7SIGLINK = 0x9c -+ IFT_STACKTOSTACK = 0x6f -+ IFT_STARLAN = 0xb -+ IFT_T1 = 0x12 -+ IFT_TDLC = 0x74 -+ IFT_TELINK = 0xc8 -+ IFT_TERMPAD = 0x5b -+ IFT_TR008 = 0xb0 -+ IFT_TRANSPHDLC = 0x7b -+ IFT_TUNNEL = 0x83 -+ IFT_ULTRA = 0x1d -+ IFT_USB = 0xa0 -+ IFT_V11 = 0x40 -+ IFT_V35 = 0x2d -+ IFT_V36 = 0x41 -+ IFT_V37 = 0x78 -+ IFT_VDSL = 0x61 -+ IFT_VIRTUALIPADDRESS = 0x70 -+ IFT_VIRTUALTG = 0xca -+ IFT_VOICEDID = 0xd5 -+ IFT_VOICEEM = 0x64 -+ IFT_VOICEEMFGD = 0xd3 -+ IFT_VOICEENCAP = 0x67 -+ IFT_VOICEFGDEANA = 0xd4 -+ IFT_VOICEFXO = 0x65 -+ IFT_VOICEFXS = 0x66 -+ IFT_VOICEOVERATM = 0x98 -+ IFT_VOICEOVERCABLE = 0xc6 -+ IFT_VOICEOVERFRAMERELAY = 0x99 -+ IFT_VOICEOVERIP = 0x68 -+ IFT_X213 = 0x5d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25HUNTGROUP = 0x7a -+ IFT_X25MLP = 0x79 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LOOPBACKNET = 0x7f -+ IN_RFC3021_HOST = 0x1 -+ IN_RFC3021_NET = 0xfffffffe -+ IN_RFC3021_NSHIFT = 0x1f -+ IPPROTO_AH = 0x33 -+ IPPROTO_CARP = 0x70 -+ IPPROTO_DIVERT = 0x102 -+ IPPROTO_DIVERT_INIT = 0x2 -+ IPPROTO_DIVERT_RESP = 0x1 -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x103 -+ IPPROTO_MOBILE = 0x37 -+ IPPROTO_MPLS = 0x89 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PFSYNC = 0xf0 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPV6_AUTH_LEVEL = 0x35 -+ IPV6_AUTOFLOWLABEL = 0x3b -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DSTOPTS = 0x32 -+ IPV6_ESP_NETWORK_LEVEL = 0x37 -+ IPV6_ESP_TRANS_LEVEL = 0x36 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x78 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_HOPLIMIT = 0x2f -+ IPV6_HOPOPTS = 0x31 -+ IPV6_IPCOMP_LEVEL = 0x3c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MMTU = 0x500 -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_NEXTHOP = 0x30 -+ IPV6_OPTIONS = 0x1 -+ IPV6_PATHMTU = 0x2c -+ IPV6_PIPEX = 0x3f -+ IPV6_PKTINFO = 0x2e -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_RECVDSTOPTS = 0x28 -+ IPV6_RECVDSTPORT = 0x40 -+ IPV6_RECVHOPLIMIT = 0x25 -+ IPV6_RECVHOPOPTS = 0x27 -+ IPV6_RECVPATHMTU = 0x2b -+ IPV6_RECVPKTINFO = 0x24 -+ IPV6_RECVRTHDR = 0x26 -+ IPV6_RECVTCLASS = 0x39 -+ IPV6_RTABLE = 0x1021 -+ IPV6_RTHDR = 0x33 -+ IPV6_RTHDRDSTOPTS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x3d -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_USE_MIN_MTU = 0x2a -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_AUTH_LEVEL = 0x14 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DIVERTFL = 0x1022 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_ESP_NETWORK_LEVEL = 0x16 -+ IP_ESP_TRANS_LEVEL = 0x15 -+ IP_HDRINCL = 0x2 -+ IP_IPCOMP_LEVEL = 0x1d -+ IP_IPSECFLOWINFO = 0x24 -+ IP_IPSEC_LOCAL_AUTH = 0x1b -+ IP_IPSEC_LOCAL_CRED = 0x19 -+ IP_IPSEC_LOCAL_ID = 0x17 -+ IP_IPSEC_REMOTE_AUTH = 0x1c -+ IP_IPSEC_REMOTE_CRED = 0x1a -+ IP_IPSEC_REMOTE_ID = 0x18 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0xfff -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x20 -+ IP_MIN_MEMBERSHIPS = 0xf -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x1 -+ IP_PIPEX = 0x22 -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVDSTPORT = 0x21 -+ IP_RECVIF = 0x1e -+ IP_RECVOPTS = 0x5 -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVRTABLE = 0x23 -+ IP_RECVTTL = 0x1f -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_RTABLE = 0x1021 -+ IP_TOS = 0x3 -+ IP_TTL = 0x4 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LCNT_OVERLOAD_FLUSH = 0x6 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x6 -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_SPACEAVAIL = 0x5 -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x1000 -+ MAP_COPY = 0x4 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_FLAGMASK = 0x1ff7 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_INHERIT = 0x80 -+ MAP_INHERIT_COPY = 0x1 -+ MAP_INHERIT_DONATE_COPY = 0x3 -+ MAP_INHERIT_NONE = 0x2 -+ MAP_INHERIT_SHARE = 0x0 -+ MAP_NOEXTEND = 0x100 -+ MAP_NORESERVE = 0x40 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_SHARED = 0x1 -+ MAP_TRYFIXED = 0x400 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_BCAST = 0x100 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOR = 0x8 -+ MSG_MCAST = 0x200 -+ MSG_NOSIGNAL = 0x400 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_TRUNC = 0x10 -+ MSG_WAITALL = 0x40 -+ MS_ASYNC = 0x1 -+ MS_INVALIDATE = 0x4 -+ MS_SYNC = 0x2 -+ NAME_MAX = 0xff -+ NET_RT_DUMP = 0x1 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x3 -+ NET_RT_MAXID = 0x6 -+ NET_RT_STATS = 0x4 -+ NET_RT_TABLE = 0x5 -+ NOFLSH = 0x80000000 -+ NOTE_ATTRIB = 0x8 -+ NOTE_CHILD = 0x4 -+ NOTE_DELETE = 0x1 -+ NOTE_EOF = 0x2 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FORK = 0x40000000 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_PCTRLMASK = 0xf0000000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_TRUNCATE = 0x80 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ ONLCR = 0x2 -+ ONLRET = 0x80 -+ ONOCR = 0x40 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x10000 -+ O_CREAT = 0x200 -+ O_DIRECTORY = 0x20000 -+ O_DSYNC = 0x80 -+ O_EXCL = 0x800 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x8000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x80 -+ O_SHLOCK = 0x10 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PF_FLUSH = 0x1 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PT_MASK = 0x3ff000 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_LABEL = 0xa -+ RTAX_MAX = 0xb -+ RTAX_NETMASK = 0x2 -+ RTAX_SRC = 0x8 -+ RTAX_SRCMASK = 0x9 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_LABEL = 0x400 -+ RTA_NETMASK = 0x4 -+ RTA_SRC = 0x100 -+ RTA_SRCMASK = 0x200 -+ RTF_ANNOUNCE = 0x4000 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_CLONED = 0x10000 -+ RTF_CLONING = 0x100 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_FMASK = 0x10f808 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_LLINFO = 0x400 -+ RTF_MASK = 0x80 -+ RTF_MODIFIED = 0x20 -+ RTF_MPATH = 0x40000 -+ RTF_MPLS = 0x100000 -+ RTF_PERMANENT_ARP = 0x2000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_PROTO3 = 0x2000 -+ RTF_REJECT = 0x8 -+ RTF_SOURCE = 0x20000 -+ RTF_STATIC = 0x800 -+ RTF_TUNNEL = 0x100000 -+ RTF_UP = 0x1 -+ RTF_USETRAILERS = 0x8000 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_DESYNC = 0x10 -+ RTM_GET = 0x4 -+ RTM_IFANNOUNCE = 0xf -+ RTM_IFINFO = 0xe -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MAXSIZE = 0x800 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_VERSION = 0x5 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RT_TABLEID_MAX = 0xff -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x4 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80206931 -+ SIOCAIFADDR = 0x8040691a -+ SIOCAIFGROUP = 0x80246987 -+ SIOCALIFADDR = 0x8218691c -+ SIOCATMARK = 0x40047307 -+ SIOCBRDGADD = 0x8054693c -+ SIOCBRDGADDS = 0x80546941 -+ SIOCBRDGARL = 0x806e694d -+ SIOCBRDGDADDR = 0x81286947 -+ SIOCBRDGDEL = 0x8054693d -+ SIOCBRDGDELS = 0x80546942 -+ SIOCBRDGFLUSH = 0x80546948 -+ SIOCBRDGFRL = 0x806e694e -+ SIOCBRDGGCACHE = 0xc0146941 -+ SIOCBRDGGFD = 0xc0146952 -+ SIOCBRDGGHT = 0xc0146951 -+ SIOCBRDGGIFFLGS = 0xc054693e -+ SIOCBRDGGMA = 0xc0146953 -+ SIOCBRDGGPARAM = 0xc03c6958 -+ SIOCBRDGGPRI = 0xc0146950 -+ SIOCBRDGGRL = 0xc028694f -+ SIOCBRDGGSIFS = 0xc054693c -+ SIOCBRDGGTO = 0xc0146946 -+ SIOCBRDGIFS = 0xc0546942 -+ SIOCBRDGRTS = 0xc0186943 -+ SIOCBRDGSADDR = 0xc1286944 -+ SIOCBRDGSCACHE = 0x80146940 -+ SIOCBRDGSFD = 0x80146952 -+ SIOCBRDGSHT = 0x80146951 -+ SIOCBRDGSIFCOST = 0x80546955 -+ SIOCBRDGSIFFLGS = 0x8054693f -+ SIOCBRDGSIFPRIO = 0x80546954 -+ SIOCBRDGSMA = 0x80146953 -+ SIOCBRDGSPRI = 0x80146950 -+ SIOCBRDGSPROTO = 0x8014695a -+ SIOCBRDGSTO = 0x80146945 -+ SIOCBRDGSTXHC = 0x80146959 -+ SIOCDELMULTI = 0x80206932 -+ SIOCDIFADDR = 0x80206919 -+ SIOCDIFGROUP = 0x80246989 -+ SIOCDIFPHYADDR = 0x80206949 -+ SIOCDLIFADDR = 0x8218691e -+ SIOCGETKALIVE = 0xc01869a4 -+ SIOCGETLABEL = 0x8020699a -+ SIOCGETPFLOW = 0xc02069fe -+ SIOCGETPFSYNC = 0xc02069f8 -+ SIOCGETSGCNT = 0xc0147534 -+ SIOCGETVIFCNT = 0xc0147533 -+ SIOCGETVLAN = 0xc0206990 -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0206921 -+ SIOCGIFASYNCMAP = 0xc020697c -+ SIOCGIFBRDADDR = 0xc0206923 -+ SIOCGIFCONF = 0xc0086924 -+ SIOCGIFDATA = 0xc020691b -+ SIOCGIFDESCR = 0xc0206981 -+ SIOCGIFDSTADDR = 0xc0206922 -+ SIOCGIFFLAGS = 0xc0206911 -+ SIOCGIFGATTR = 0xc024698b -+ SIOCGIFGENERIC = 0xc020693a -+ SIOCGIFGMEMB = 0xc024698a -+ SIOCGIFGROUP = 0xc0246988 -+ SIOCGIFHARDMTU = 0xc02069a5 -+ SIOCGIFMEDIA = 0xc0286936 -+ SIOCGIFMETRIC = 0xc0206917 -+ SIOCGIFMTU = 0xc020697e -+ SIOCGIFNETMASK = 0xc0206925 -+ SIOCGIFPDSTADDR = 0xc0206948 -+ SIOCGIFPRIORITY = 0xc020699c -+ SIOCGIFPSRCADDR = 0xc0206947 -+ SIOCGIFRDOMAIN = 0xc02069a0 -+ SIOCGIFRTLABEL = 0xc0206983 -+ SIOCGIFTIMESLOT = 0xc0206986 -+ SIOCGIFXFLAGS = 0xc020699e -+ SIOCGLIFADDR = 0xc218691d -+ SIOCGLIFPHYADDR = 0xc218694b -+ SIOCGLIFPHYRTABLE = 0xc02069a2 -+ SIOCGLIFPHYTTL = 0xc02069a9 -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCGSPPPPARAMS = 0xc0206994 -+ SIOCGVH = 0xc02069f6 -+ SIOCGVNETID = 0xc02069a7 -+ SIOCIFCREATE = 0x8020697a -+ SIOCIFDESTROY = 0x80206979 -+ SIOCIFGCLONERS = 0xc00c6978 -+ SIOCSETKALIVE = 0x801869a3 -+ SIOCSETLABEL = 0x80206999 -+ SIOCSETPFLOW = 0x802069fd -+ SIOCSETPFSYNC = 0x802069f7 -+ SIOCSETVLAN = 0x8020698f -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8020690c -+ SIOCSIFASYNCMAP = 0x8020697d -+ SIOCSIFBRDADDR = 0x80206913 -+ SIOCSIFDESCR = 0x80206980 -+ SIOCSIFDSTADDR = 0x8020690e -+ SIOCSIFFLAGS = 0x80206910 -+ SIOCSIFGATTR = 0x8024698c -+ SIOCSIFGENERIC = 0x80206939 -+ SIOCSIFLLADDR = 0x8020691f -+ SIOCSIFMEDIA = 0xc0206935 -+ SIOCSIFMETRIC = 0x80206918 -+ SIOCSIFMTU = 0x8020697f -+ SIOCSIFNETMASK = 0x80206916 -+ SIOCSIFPHYADDR = 0x80406946 -+ SIOCSIFPRIORITY = 0x8020699b -+ SIOCSIFRDOMAIN = 0x8020699f -+ SIOCSIFRTLABEL = 0x80206982 -+ SIOCSIFTIMESLOT = 0x80206985 -+ SIOCSIFXFLAGS = 0x8020699d -+ SIOCSLIFPHYADDR = 0x8218694a -+ SIOCSLIFPHYRTABLE = 0x802069a1 -+ SIOCSLIFPHYTTL = 0x802069a8 -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SIOCSSPPPPARAMS = 0x80206993 -+ SIOCSVH = 0xc02069f5 -+ SIOCSVNETID = 0x802069a6 -+ SOCK_DGRAM = 0x2 -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_BINDANY = 0x1000 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_NETPROC = 0x1020 -+ SO_OOBINLINE = 0x100 -+ SO_PEERCRED = 0x1022 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_RTABLE = 0x1021 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_SPLICE = 0x1023 -+ SO_TIMESTAMP = 0x800 -+ SO_TYPE = 0x1008 -+ SO_USELOOPBACK = 0x40 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_MAXBURST = 0x4 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_SACK = 0x3 -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0x4 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_NOPUSH = 0x10 -+ TCP_NSTATES = 0xb -+ TCP_SACK_ENABLE = 0x8 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDRAIN = 0x2000745e -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLAG_CLOCAL = 0x2 -+ TIOCFLAG_CRTSCTS = 0x4 -+ TIOCFLAG_MDMBUF = 0x8 -+ TIOCFLAG_PPS = 0x10 -+ TIOCFLAG_SOFTCAR = 0x1 -+ TIOCFLUSH = 0x80047410 -+ TIOCGETA = 0x402c7413 -+ TIOCGETD = 0x4004741a -+ TIOCGFLAGS = 0x4004745d -+ TIOCGPGRP = 0x40047477 -+ TIOCGSID = 0x40047463 -+ TIOCGTSTAMP = 0x400c745b -+ TIOCGWINSZ = 0x40087468 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGET = 0x4004746a -+ TIOCMODG = 0x4004746a -+ TIOCMODS = 0x8004746d -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCREMOTE = 0x80047469 -+ TIOCSBRK = 0x2000747b -+ TIOCSCTTY = 0x20007461 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x802c7414 -+ TIOCSETAF = 0x802c7416 -+ TIOCSETAW = 0x802c7415 -+ TIOCSETD = 0x8004741b -+ TIOCSFLAGS = 0x8004745c -+ TIOCSIG = 0x8004745f -+ TIOCSPGRP = 0x80047476 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x80047465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSTSTAMP = 0x8008745a -+ TIOCSWINSZ = 0x80087467 -+ TIOCUCNTL = 0x80047466 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WALTSIG = 0x4 -+ WCONTINUED = 0x8 -+ WCOREFLAG = 0x80 -+ WNOHANG = 0x1 -+ WSTOPPED = 0x7f -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADF = syscall.Errno(0x9) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x58) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDOM = syscall.Errno(0x21) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x59) -+ EILSEQ = syscall.Errno(0x54) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EIPSEC = syscall.Errno(0x52) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x5b) -+ ELOOP = syscall.Errno(0x3e) -+ EMEDIUMTYPE = syscall.Errno(0x56) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x53) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOMEDIUM = syscall.Errno(0x55) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x5a) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x5b) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x2d) -+ EOVERFLOW = syscall.Errno(0x57) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTHR = syscall.Signal(0x20) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "connection timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "IPsec processing failure", -+ 83: "attribute not found", -+ 84: "illegal byte sequence", -+ 85: "no medium found", -+ 86: "wrong medium type", -+ 87: "value too large to be stored in data type", -+ 88: "operation canceled", -+ 89: "identifier removed", -+ 90: "no message of desired type", -+ 91: "not supported", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "stopped (signal)", -+ 18: "stopped", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+ 32: "thread AST", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go -new file mode 100644 -index 0000000..1758ecc ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go -@@ -0,0 +1,1583 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build amd64,openbsd -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_APPLETALK = 0x10 -+ AF_BLUETOOTH = 0x20 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_CNT = 0x15 -+ AF_COIP = 0x14 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_E164 = 0x1a -+ AF_ECMA = 0x8 -+ AF_ENCAP = 0x1c -+ AF_HYLINK = 0xf -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x18 -+ AF_IPX = 0x17 -+ AF_ISDN = 0x1a -+ AF_ISO = 0x7 -+ AF_KEY = 0x1e -+ AF_LAT = 0xe -+ AF_LINK = 0x12 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x24 -+ AF_MPLS = 0x21 -+ AF_NATM = 0x1b -+ AF_NS = 0x6 -+ AF_OSI = 0x7 -+ AF_PUP = 0x4 -+ AF_ROUTE = 0x11 -+ AF_SIP = 0x1d -+ AF_SNA = 0xb -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_FRELAY = 0xf -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ B0 = 0x0 -+ B110 = 0x6e -+ B115200 = 0x1c200 -+ B1200 = 0x4b0 -+ B134 = 0x86 -+ B14400 = 0x3840 -+ B150 = 0x96 -+ B1800 = 0x708 -+ B19200 = 0x4b00 -+ B200 = 0xc8 -+ B230400 = 0x38400 -+ B2400 = 0x960 -+ B28800 = 0x7080 -+ B300 = 0x12c -+ B38400 = 0x9600 -+ B4800 = 0x12c0 -+ B50 = 0x32 -+ B57600 = 0xe100 -+ B600 = 0x258 -+ B7200 = 0x1c20 -+ B75 = 0x4b -+ B76800 = 0x12c00 -+ B9600 = 0x2580 -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDIRFILT = 0x4004427c -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = 0xc010427b -+ BIOCGETIF = 0x4020426b -+ BIOCGFILDROP = 0x40044278 -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRSIG = 0x40044273 -+ BIOCGRTIMEOUT = 0x4010426e -+ BIOCGSTATS = 0x4008426f -+ BIOCIMMEDIATE = 0x80044270 -+ BIOCLOCK = 0x20004276 -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = 0xc0044266 -+ BIOCSDIRFILT = 0x8004427d -+ BIOCSDLT = 0x8004427a -+ BIOCSETF = 0x80104267 -+ BIOCSETIF = 0x8020426c -+ BIOCSETWF = 0x80104277 -+ BIOCSFILDROP = 0x80044279 -+ BIOCSHDRCMPLT = 0x80044275 -+ BIOCSRSIG = 0x80044272 -+ BIOCSRTIMEOUT = 0x8010426d -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIRECTION_IN = 0x1 -+ BPF_DIRECTION_OUT = 0x2 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x200000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x8000 -+ CREAD = 0x800 -+ CS5 = 0x0 -+ CS6 = 0x100 -+ CS7 = 0x200 -+ CS8 = 0x300 -+ CSIZE = 0x300 -+ CSTART = 0x11 -+ CSTATUS = 0xff -+ CSTOP = 0x13 -+ CSTOPB = 0x400 -+ CSUSP = 0x1a -+ CTL_MAXNAME = 0xc -+ CTL_NET = 0x4 -+ DIOCOSFPFLUSH = 0x2000444e -+ DLT_ARCNET = 0x7 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AX25 = 0x3 -+ DLT_CHAOS = 0x5 -+ DLT_C_HDLC = 0x68 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0xd -+ DLT_FDDI = 0xa -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_LOOP = 0xc -+ DLT_MPLS = 0xdb -+ DLT_NULL = 0x0 -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0x10 -+ DLT_PPP_ETHER = 0x33 -+ DLT_PPP_SERIAL = 0x32 -+ DLT_PRONET = 0x4 -+ DLT_RAW = 0xe -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xf -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ ECHO = 0x8 -+ ECHOCTL = 0x40 -+ ECHOE = 0x2 -+ ECHOK = 0x4 -+ ECHOKE = 0x1 -+ ECHONL = 0x10 -+ ECHOPRT = 0x20 -+ EMT_TAGOVF = 0x1 -+ EMUL_ENABLED = 0x1 -+ EMUL_NATIVE = 0x2 -+ ENDRUNDISC = 0x9 -+ ETHERMIN = 0x2e -+ ETHERMTU = 0x5dc -+ ETHERTYPE_8023 = 0x4 -+ ETHERTYPE_AARP = 0x80f3 -+ ETHERTYPE_ACCTON = 0x8390 -+ ETHERTYPE_AEONIC = 0x8036 -+ ETHERTYPE_ALPHA = 0x814a -+ ETHERTYPE_AMBER = 0x6008 -+ ETHERTYPE_AMOEBA = 0x8145 -+ ETHERTYPE_AOE = 0x88a2 -+ ETHERTYPE_APOLLO = 0x80f7 -+ ETHERTYPE_APOLLODOMAIN = 0x8019 -+ ETHERTYPE_APPLETALK = 0x809b -+ ETHERTYPE_APPLITEK = 0x80c7 -+ ETHERTYPE_ARGONAUT = 0x803a -+ ETHERTYPE_ARP = 0x806 -+ ETHERTYPE_AT = 0x809b -+ ETHERTYPE_ATALK = 0x809b -+ ETHERTYPE_ATOMIC = 0x86df -+ ETHERTYPE_ATT = 0x8069 -+ ETHERTYPE_ATTSTANFORD = 0x8008 -+ ETHERTYPE_AUTOPHON = 0x806a -+ ETHERTYPE_AXIS = 0x8856 -+ ETHERTYPE_BCLOOP = 0x9003 -+ ETHERTYPE_BOFL = 0x8102 -+ ETHERTYPE_CABLETRON = 0x7034 -+ ETHERTYPE_CHAOS = 0x804 -+ ETHERTYPE_COMDESIGN = 0x806c -+ ETHERTYPE_COMPUGRAPHIC = 0x806d -+ ETHERTYPE_COUNTERPOINT = 0x8062 -+ ETHERTYPE_CRONUS = 0x8004 -+ ETHERTYPE_CRONUSVLN = 0x8003 -+ ETHERTYPE_DCA = 0x1234 -+ ETHERTYPE_DDE = 0x807b -+ ETHERTYPE_DEBNI = 0xaaaa -+ ETHERTYPE_DECAM = 0x8048 -+ ETHERTYPE_DECCUST = 0x6006 -+ ETHERTYPE_DECDIAG = 0x6005 -+ ETHERTYPE_DECDNS = 0x803c -+ ETHERTYPE_DECDTS = 0x803e -+ ETHERTYPE_DECEXPER = 0x6000 -+ ETHERTYPE_DECLAST = 0x8041 -+ ETHERTYPE_DECLTM = 0x803f -+ ETHERTYPE_DECMUMPS = 0x6009 -+ ETHERTYPE_DECNETBIOS = 0x8040 -+ ETHERTYPE_DELTACON = 0x86de -+ ETHERTYPE_DIDDLE = 0x4321 -+ ETHERTYPE_DLOG1 = 0x660 -+ ETHERTYPE_DLOG2 = 0x661 -+ ETHERTYPE_DN = 0x6003 -+ ETHERTYPE_DOGFIGHT = 0x1989 -+ ETHERTYPE_DSMD = 0x8039 -+ ETHERTYPE_ECMA = 0x803 -+ ETHERTYPE_ENCRYPT = 0x803d -+ ETHERTYPE_ES = 0x805d -+ ETHERTYPE_EXCELAN = 0x8010 -+ ETHERTYPE_EXPERDATA = 0x8049 -+ ETHERTYPE_FLIP = 0x8146 -+ ETHERTYPE_FLOWCONTROL = 0x8808 -+ ETHERTYPE_FRARP = 0x808 -+ ETHERTYPE_GENDYN = 0x8068 -+ ETHERTYPE_HAYES = 0x8130 -+ ETHERTYPE_HIPPI_FP = 0x8180 -+ ETHERTYPE_HITACHI = 0x8820 -+ ETHERTYPE_HP = 0x8005 -+ ETHERTYPE_IEEEPUP = 0xa00 -+ ETHERTYPE_IEEEPUPAT = 0xa01 -+ ETHERTYPE_IMLBL = 0x4c42 -+ ETHERTYPE_IMLBLDIAG = 0x424c -+ ETHERTYPE_IP = 0x800 -+ ETHERTYPE_IPAS = 0x876c -+ ETHERTYPE_IPV6 = 0x86dd -+ ETHERTYPE_IPX = 0x8137 -+ ETHERTYPE_IPXNEW = 0x8037 -+ ETHERTYPE_KALPANA = 0x8582 -+ ETHERTYPE_LANBRIDGE = 0x8038 -+ ETHERTYPE_LANPROBE = 0x8888 -+ ETHERTYPE_LAT = 0x6004 -+ ETHERTYPE_LBACK = 0x9000 -+ ETHERTYPE_LITTLE = 0x8060 -+ ETHERTYPE_LLDP = 0x88cc -+ ETHERTYPE_LOGICRAFT = 0x8148 -+ ETHERTYPE_LOOPBACK = 0x9000 -+ ETHERTYPE_MATRA = 0x807a -+ ETHERTYPE_MAX = 0xffff -+ ETHERTYPE_MERIT = 0x807c -+ ETHERTYPE_MICP = 0x873a -+ ETHERTYPE_MOPDL = 0x6001 -+ ETHERTYPE_MOPRC = 0x6002 -+ ETHERTYPE_MOTOROLA = 0x818d -+ ETHERTYPE_MPLS = 0x8847 -+ ETHERTYPE_MPLS_MCAST = 0x8848 -+ ETHERTYPE_MUMPS = 0x813f -+ ETHERTYPE_NBPCC = 0x3c04 -+ ETHERTYPE_NBPCLAIM = 0x3c09 -+ ETHERTYPE_NBPCLREQ = 0x3c05 -+ ETHERTYPE_NBPCLRSP = 0x3c06 -+ ETHERTYPE_NBPCREQ = 0x3c02 -+ ETHERTYPE_NBPCRSP = 0x3c03 -+ ETHERTYPE_NBPDG = 0x3c07 -+ ETHERTYPE_NBPDGB = 0x3c08 -+ ETHERTYPE_NBPDLTE = 0x3c0a -+ ETHERTYPE_NBPRAR = 0x3c0c -+ ETHERTYPE_NBPRAS = 0x3c0b -+ ETHERTYPE_NBPRST = 0x3c0d -+ ETHERTYPE_NBPSCD = 0x3c01 -+ ETHERTYPE_NBPVCD = 0x3c00 -+ ETHERTYPE_NBS = 0x802 -+ ETHERTYPE_NCD = 0x8149 -+ ETHERTYPE_NESTAR = 0x8006 -+ ETHERTYPE_NETBEUI = 0x8191 -+ ETHERTYPE_NOVELL = 0x8138 -+ ETHERTYPE_NS = 0x600 -+ ETHERTYPE_NSAT = 0x601 -+ ETHERTYPE_NSCOMPAT = 0x807 -+ ETHERTYPE_NTRAILER = 0x10 -+ ETHERTYPE_OS9 = 0x7007 -+ ETHERTYPE_OS9NET = 0x7009 -+ ETHERTYPE_PACER = 0x80c6 -+ ETHERTYPE_PAE = 0x888e -+ ETHERTYPE_PCS = 0x4242 -+ ETHERTYPE_PLANNING = 0x8044 -+ ETHERTYPE_PPP = 0x880b -+ ETHERTYPE_PPPOE = 0x8864 -+ ETHERTYPE_PPPOEDISC = 0x8863 -+ ETHERTYPE_PRIMENTS = 0x7031 -+ ETHERTYPE_PUP = 0x200 -+ ETHERTYPE_PUPAT = 0x200 -+ ETHERTYPE_QINQ = 0x88a8 -+ ETHERTYPE_RACAL = 0x7030 -+ ETHERTYPE_RATIONAL = 0x8150 -+ ETHERTYPE_RAWFR = 0x6559 -+ ETHERTYPE_RCL = 0x1995 -+ ETHERTYPE_RDP = 0x8739 -+ ETHERTYPE_RETIX = 0x80f2 -+ ETHERTYPE_REVARP = 0x8035 -+ ETHERTYPE_SCA = 0x6007 -+ ETHERTYPE_SECTRA = 0x86db -+ ETHERTYPE_SECUREDATA = 0x876d -+ ETHERTYPE_SGITW = 0x817e -+ ETHERTYPE_SG_BOUNCE = 0x8016 -+ ETHERTYPE_SG_DIAG = 0x8013 -+ ETHERTYPE_SG_NETGAMES = 0x8014 -+ ETHERTYPE_SG_RESV = 0x8015 -+ ETHERTYPE_SIMNET = 0x5208 -+ ETHERTYPE_SLOW = 0x8809 -+ ETHERTYPE_SNA = 0x80d5 -+ ETHERTYPE_SNMP = 0x814c -+ ETHERTYPE_SONIX = 0xfaf5 -+ ETHERTYPE_SPIDER = 0x809f -+ ETHERTYPE_SPRITE = 0x500 -+ ETHERTYPE_STP = 0x8181 -+ ETHERTYPE_TALARIS = 0x812b -+ ETHERTYPE_TALARISMC = 0x852b -+ ETHERTYPE_TCPCOMP = 0x876b -+ ETHERTYPE_TCPSM = 0x9002 -+ ETHERTYPE_TEC = 0x814f -+ ETHERTYPE_TIGAN = 0x802f -+ ETHERTYPE_TRAIL = 0x1000 -+ ETHERTYPE_TRANSETHER = 0x6558 -+ ETHERTYPE_TYMSHARE = 0x802e -+ ETHERTYPE_UBBST = 0x7005 -+ ETHERTYPE_UBDEBUG = 0x900 -+ ETHERTYPE_UBDIAGLOOP = 0x7002 -+ ETHERTYPE_UBDL = 0x7000 -+ ETHERTYPE_UBNIU = 0x7001 -+ ETHERTYPE_UBNMC = 0x7003 -+ ETHERTYPE_VALID = 0x1600 -+ ETHERTYPE_VARIAN = 0x80dd -+ ETHERTYPE_VAXELN = 0x803b -+ ETHERTYPE_VEECO = 0x8067 -+ ETHERTYPE_VEXP = 0x805b -+ ETHERTYPE_VGLAB = 0x8131 -+ ETHERTYPE_VINES = 0xbad -+ ETHERTYPE_VINESECHO = 0xbaf -+ ETHERTYPE_VINESLOOP = 0xbae -+ ETHERTYPE_VITAL = 0xff00 -+ ETHERTYPE_VLAN = 0x8100 -+ ETHERTYPE_VLTLMAN = 0x8080 -+ ETHERTYPE_VPROD = 0x805c -+ ETHERTYPE_VURESERVED = 0x8147 -+ ETHERTYPE_WATERLOO = 0x8130 -+ ETHERTYPE_WELLFLEET = 0x8103 -+ ETHERTYPE_X25 = 0x805 -+ ETHERTYPE_X75 = 0x801 -+ ETHERTYPE_XNSSM = 0x9001 -+ ETHERTYPE_XTP = 0x817d -+ ETHER_ADDR_LEN = 0x6 -+ ETHER_ALIGN = 0x2 -+ ETHER_CRC_LEN = 0x4 -+ ETHER_CRC_POLY_BE = 0x4c11db6 -+ ETHER_CRC_POLY_LE = 0xedb88320 -+ ETHER_HDR_LEN = 0xe -+ ETHER_MAX_DIX_LEN = 0x600 -+ ETHER_MAX_LEN = 0x5ee -+ ETHER_MIN_LEN = 0x40 -+ ETHER_TYPE_LEN = 0x2 -+ ETHER_VLAN_ENCAP_LEN = 0x4 -+ EVFILT_AIO = -0x3 -+ EVFILT_PROC = -0x5 -+ EVFILT_READ = -0x1 -+ EVFILT_SIGNAL = -0x6 -+ EVFILT_SYSCOUNT = 0x7 -+ EVFILT_TIMER = -0x7 -+ EVFILT_VNODE = -0x4 -+ EVFILT_WRITE = -0x2 -+ EV_ADD = 0x1 -+ EV_CLEAR = 0x20 -+ EV_DELETE = 0x2 -+ EV_DISABLE = 0x8 -+ EV_ENABLE = 0x4 -+ EV_EOF = 0x8000 -+ EV_ERROR = 0x4000 -+ EV_FLAG1 = 0x2000 -+ EV_ONESHOT = 0x10 -+ EV_SYSFLAGS = 0xf000 -+ EXTA = 0x4b00 -+ EXTB = 0x9600 -+ EXTPROC = 0x800 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FLUSHO = 0x800000 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0xa -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0x7 -+ F_GETOWN = 0x5 -+ F_OK = 0x0 -+ F_RDLCK = 0x1 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x8 -+ F_SETLKW = 0x9 -+ F_SETOWN = 0x6 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x3 -+ HUPCL = 0x4000 -+ ICANON = 0x100 -+ ICMP6_FILTER = 0x12 -+ ICRNL = 0x100 -+ IEXTEN = 0x400 -+ IFAN_ARRIVAL = 0x0 -+ IFAN_DEPARTURE = 0x1 -+ IFA_ROUTE = 0x1 -+ IFF_ALLMULTI = 0x200 -+ IFF_BROADCAST = 0x2 -+ IFF_CANTCHANGE = 0x8e52 -+ IFF_DEBUG = 0x4 -+ IFF_LINK0 = 0x1000 -+ IFF_LINK1 = 0x2000 -+ IFF_LINK2 = 0x4000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MULTICAST = 0x8000 -+ IFF_NOARP = 0x80 -+ IFF_NOTRAILERS = 0x20 -+ IFF_OACTIVE = 0x400 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SIMPLEX = 0x800 -+ IFF_UP = 0x1 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_A12MPPSWITCH = 0x82 -+ IFT_AAL2 = 0xbb -+ IFT_AAL5 = 0x31 -+ IFT_ADSL = 0x5e -+ IFT_AFLANE8023 = 0x3b -+ IFT_AFLANE8025 = 0x3c -+ IFT_ARAP = 0x58 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ASYNC = 0x54 -+ IFT_ATM = 0x25 -+ IFT_ATMDXI = 0x69 -+ IFT_ATMFUNI = 0x6a -+ IFT_ATMIMA = 0x6b -+ IFT_ATMLOGICAL = 0x50 -+ IFT_ATMRADIO = 0xbd -+ IFT_ATMSUBINTERFACE = 0x86 -+ IFT_ATMVCIENDPT = 0xc2 -+ IFT_ATMVIRTUAL = 0x95 -+ IFT_BGPPOLICYACCOUNTING = 0xa2 -+ IFT_BLUETOOTH = 0xf8 -+ IFT_BRIDGE = 0xd1 -+ IFT_BSC = 0x53 -+ IFT_CARP = 0xf7 -+ IFT_CCTEMUL = 0x3d -+ IFT_CEPT = 0x13 -+ IFT_CES = 0x85 -+ IFT_CHANNEL = 0x46 -+ IFT_CNR = 0x55 -+ IFT_COFFEE = 0x84 -+ IFT_COMPOSITELINK = 0x9b -+ IFT_DCN = 0x8d -+ IFT_DIGITALPOWERLINE = 0x8a -+ IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba -+ IFT_DLSW = 0x4a -+ IFT_DOCSCABLEDOWNSTREAM = 0x80 -+ IFT_DOCSCABLEMACLAYER = 0x7f -+ IFT_DOCSCABLEUPSTREAM = 0x81 -+ IFT_DOCSCABLEUPSTREAMCHANNEL = 0xcd -+ IFT_DS0 = 0x51 -+ IFT_DS0BUNDLE = 0x52 -+ IFT_DS1FDL = 0xaa -+ IFT_DS3 = 0x1e -+ IFT_DTM = 0x8c -+ IFT_DUMMY = 0xf1 -+ IFT_DVBASILN = 0xac -+ IFT_DVBASIOUT = 0xad -+ IFT_DVBRCCDOWNSTREAM = 0x93 -+ IFT_DVBRCCMACLAYER = 0x92 -+ IFT_DVBRCCUPSTREAM = 0x94 -+ IFT_ECONET = 0xce -+ IFT_ENC = 0xf4 -+ IFT_EON = 0x19 -+ IFT_EPLRS = 0x57 -+ IFT_ESCON = 0x49 -+ IFT_ETHER = 0x6 -+ IFT_FAITH = 0xf3 -+ IFT_FAST = 0x7d -+ IFT_FASTETHER = 0x3e -+ IFT_FASTETHERFX = 0x45 -+ IFT_FDDI = 0xf -+ IFT_FIBRECHANNEL = 0x38 -+ IFT_FRAMERELAYINTERCONNECT = 0x3a -+ IFT_FRAMERELAYMPI = 0x5c -+ IFT_FRDLCIENDPT = 0xc1 -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_FRF16MFRBUNDLE = 0xa3 -+ IFT_FRFORWARD = 0x9e -+ IFT_G703AT2MB = 0x43 -+ IFT_G703AT64K = 0x42 -+ IFT_GIF = 0xf0 -+ IFT_GIGABITETHERNET = 0x75 -+ IFT_GR303IDT = 0xb2 -+ IFT_GR303RDT = 0xb1 -+ IFT_H323GATEKEEPER = 0xa4 -+ IFT_H323PROXY = 0xa5 -+ IFT_HDH1822 = 0x3 -+ IFT_HDLC = 0x76 -+ IFT_HDSL2 = 0xa8 -+ IFT_HIPERLAN2 = 0xb7 -+ IFT_HIPPI = 0x2f -+ IFT_HIPPIINTERFACE = 0x39 -+ IFT_HOSTPAD = 0x5a -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IBM370PARCHAN = 0x48 -+ IFT_IDSL = 0x9a -+ IFT_IEEE1394 = 0x90 -+ IFT_IEEE80211 = 0x47 -+ IFT_IEEE80212 = 0x37 -+ IFT_IEEE8023ADLAG = 0xa1 -+ IFT_IFGSN = 0x91 -+ IFT_IMT = 0xbe -+ IFT_INFINIBAND = 0xc7 -+ IFT_INTERLEAVE = 0x7c -+ IFT_IP = 0x7e -+ IFT_IPFORWARD = 0x8e -+ IFT_IPOVERATM = 0x72 -+ IFT_IPOVERCDLC = 0x6d -+ IFT_IPOVERCLAW = 0x6e -+ IFT_IPSWITCH = 0x4e -+ IFT_ISDN = 0x3f -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISDNS = 0x4b -+ IFT_ISDNU = 0x4c -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88025CRFPINT = 0x62 -+ IFT_ISO88025DTR = 0x56 -+ IFT_ISO88025FIBER = 0x73 -+ IFT_ISO88026 = 0xa -+ IFT_ISUP = 0xb3 -+ IFT_L2VLAN = 0x87 -+ IFT_L3IPVLAN = 0x88 -+ IFT_L3IPXVLAN = 0x89 -+ IFT_LAPB = 0x10 -+ IFT_LAPD = 0x4d -+ IFT_LAPF = 0x77 -+ IFT_LINEGROUP = 0xd2 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MEDIAMAILOVERIP = 0x8b -+ IFT_MFSIGLINK = 0xa7 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_MPC = 0x71 -+ IFT_MPLS = 0xa6 -+ IFT_MPLSTUNNEL = 0x96 -+ IFT_MSDSL = 0x8f -+ IFT_MVL = 0xbf -+ IFT_MYRINET = 0x63 -+ IFT_NFAS = 0xaf -+ IFT_NSIP = 0x1b -+ IFT_OPTICALCHANNEL = 0xc3 -+ IFT_OPTICALTRANSPORT = 0xc4 -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PFLOG = 0xf5 -+ IFT_PFLOW = 0xf9 -+ IFT_PFSYNC = 0xf6 -+ IFT_PLC = 0xae -+ IFT_PON155 = 0xcf -+ IFT_PON622 = 0xd0 -+ IFT_POS = 0xab -+ IFT_PPP = 0x17 -+ IFT_PPPMULTILINKBUNDLE = 0x6c -+ IFT_PROPATM = 0xc5 -+ IFT_PROPBWAP2MP = 0xb8 -+ IFT_PROPCNLS = 0x59 -+ IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5 -+ IFT_PROPDOCSWIRELESSMACLAYER = 0xb4 -+ IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PROPWIRELESSP2P = 0x9d -+ IFT_PTPSERIAL = 0x16 -+ IFT_PVC = 0xf2 -+ IFT_Q2931 = 0xc9 -+ IFT_QLLC = 0x44 -+ IFT_RADIOMAC = 0xbc -+ IFT_RADSL = 0x5f -+ IFT_REACHDSL = 0xc0 -+ IFT_RFC1483 = 0x9f -+ IFT_RS232 = 0x21 -+ IFT_RSRB = 0x4f -+ IFT_SDLC = 0x11 -+ IFT_SDSL = 0x60 -+ IFT_SHDSL = 0xa9 -+ IFT_SIP = 0x1f -+ IFT_SIPSIG = 0xcc -+ IFT_SIPTG = 0xcb -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETOVERHEADCHANNEL = 0xb9 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_SRP = 0x97 -+ IFT_SS7SIGLINK = 0x9c -+ IFT_STACKTOSTACK = 0x6f -+ IFT_STARLAN = 0xb -+ IFT_T1 = 0x12 -+ IFT_TDLC = 0x74 -+ IFT_TELINK = 0xc8 -+ IFT_TERMPAD = 0x5b -+ IFT_TR008 = 0xb0 -+ IFT_TRANSPHDLC = 0x7b -+ IFT_TUNNEL = 0x83 -+ IFT_ULTRA = 0x1d -+ IFT_USB = 0xa0 -+ IFT_V11 = 0x40 -+ IFT_V35 = 0x2d -+ IFT_V36 = 0x41 -+ IFT_V37 = 0x78 -+ IFT_VDSL = 0x61 -+ IFT_VIRTUALIPADDRESS = 0x70 -+ IFT_VIRTUALTG = 0xca -+ IFT_VOICEDID = 0xd5 -+ IFT_VOICEEM = 0x64 -+ IFT_VOICEEMFGD = 0xd3 -+ IFT_VOICEENCAP = 0x67 -+ IFT_VOICEFGDEANA = 0xd4 -+ IFT_VOICEFXO = 0x65 -+ IFT_VOICEFXS = 0x66 -+ IFT_VOICEOVERATM = 0x98 -+ IFT_VOICEOVERCABLE = 0xc6 -+ IFT_VOICEOVERFRAMERELAY = 0x99 -+ IFT_VOICEOVERIP = 0x68 -+ IFT_X213 = 0x5d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25HUNTGROUP = 0x7a -+ IFT_X25MLP = 0x79 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_LOOPBACKNET = 0x7f -+ IN_RFC3021_HOST = 0x1 -+ IN_RFC3021_NET = 0xfffffffe -+ IN_RFC3021_NSHIFT = 0x1f -+ IPPROTO_AH = 0x33 -+ IPPROTO_CARP = 0x70 -+ IPPROTO_DIVERT = 0x102 -+ IPPROTO_DIVERT_INIT = 0x2 -+ IPPROTO_DIVERT_RESP = 0x1 -+ IPPROTO_DONE = 0x101 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_ETHERIP = 0x61 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPCOMP = 0x6c -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV4 = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MAX = 0x100 -+ IPPROTO_MAXID = 0x103 -+ IPPROTO_MOBILE = 0x37 -+ IPPROTO_MPLS = 0x89 -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PFSYNC = 0xf0 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPV6_AUTH_LEVEL = 0x35 -+ IPV6_AUTOFLOWLABEL = 0x3b -+ IPV6_CHECKSUM = 0x1a -+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1 -+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1 -+ IPV6_DEFHLIM = 0x40 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DSTOPTS = 0x32 -+ IPV6_ESP_NETWORK_LEVEL = 0x37 -+ IPV6_ESP_TRANS_LEVEL = 0x36 -+ IPV6_FAITH = 0x1d -+ IPV6_FLOWINFO_MASK = 0xffffff0f -+ IPV6_FLOWLABEL_MASK = 0xffff0f00 -+ IPV6_FRAGTTL = 0x78 -+ IPV6_HLIMDEC = 0x1 -+ IPV6_HOPLIMIT = 0x2f -+ IPV6_HOPOPTS = 0x31 -+ IPV6_IPCOMP_LEVEL = 0x3c -+ IPV6_JOIN_GROUP = 0xc -+ IPV6_LEAVE_GROUP = 0xd -+ IPV6_MAXHLIM = 0xff -+ IPV6_MAXPACKET = 0xffff -+ IPV6_MMTU = 0x500 -+ IPV6_MULTICAST_HOPS = 0xa -+ IPV6_MULTICAST_IF = 0x9 -+ IPV6_MULTICAST_LOOP = 0xb -+ IPV6_NEXTHOP = 0x30 -+ IPV6_OPTIONS = 0x1 -+ IPV6_PATHMTU = 0x2c -+ IPV6_PIPEX = 0x3f -+ IPV6_PKTINFO = 0x2e -+ IPV6_PORTRANGE = 0xe -+ IPV6_PORTRANGE_DEFAULT = 0x0 -+ IPV6_PORTRANGE_HIGH = 0x1 -+ IPV6_PORTRANGE_LOW = 0x2 -+ IPV6_RECVDSTOPTS = 0x28 -+ IPV6_RECVDSTPORT = 0x40 -+ IPV6_RECVHOPLIMIT = 0x25 -+ IPV6_RECVHOPOPTS = 0x27 -+ IPV6_RECVPATHMTU = 0x2b -+ IPV6_RECVPKTINFO = 0x24 -+ IPV6_RECVRTHDR = 0x26 -+ IPV6_RECVTCLASS = 0x39 -+ IPV6_RTABLE = 0x1021 -+ IPV6_RTHDR = 0x33 -+ IPV6_RTHDRDSTOPTS = 0x23 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SOCKOPT_RESERVED1 = 0x3 -+ IPV6_TCLASS = 0x3d -+ IPV6_UNICAST_HOPS = 0x4 -+ IPV6_USE_MIN_MTU = 0x2a -+ IPV6_V6ONLY = 0x1b -+ IPV6_VERSION = 0x60 -+ IPV6_VERSION_MASK = 0xf0 -+ IP_ADD_MEMBERSHIP = 0xc -+ IP_AUTH_LEVEL = 0x14 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DIVERTFL = 0x1022 -+ IP_DROP_MEMBERSHIP = 0xd -+ IP_ESP_NETWORK_LEVEL = 0x16 -+ IP_ESP_TRANS_LEVEL = 0x15 -+ IP_HDRINCL = 0x2 -+ IP_IPCOMP_LEVEL = 0x1d -+ IP_IPSECFLOWINFO = 0x24 -+ IP_IPSEC_LOCAL_AUTH = 0x1b -+ IP_IPSEC_LOCAL_CRED = 0x19 -+ IP_IPSEC_LOCAL_ID = 0x17 -+ IP_IPSEC_REMOTE_AUTH = 0x1c -+ IP_IPSEC_REMOTE_CRED = 0x1a -+ IP_IPSEC_REMOTE_ID = 0x18 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0xfff -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x20 -+ IP_MIN_MEMBERSHIPS = 0xf -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x9 -+ IP_MULTICAST_LOOP = 0xb -+ IP_MULTICAST_TTL = 0xa -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x1 -+ IP_PIPEX = 0x22 -+ IP_PORTRANGE = 0x13 -+ IP_PORTRANGE_DEFAULT = 0x0 -+ IP_PORTRANGE_HIGH = 0x1 -+ IP_PORTRANGE_LOW = 0x2 -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVDSTPORT = 0x21 -+ IP_RECVIF = 0x1e -+ IP_RECVOPTS = 0x5 -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVRTABLE = 0x23 -+ IP_RECVTTL = 0x1f -+ IP_RETOPTS = 0x8 -+ IP_RF = 0x8000 -+ IP_RTABLE = 0x1021 -+ IP_TOS = 0x3 -+ IP_TTL = 0x4 -+ ISIG = 0x80 -+ ISTRIP = 0x20 -+ IXANY = 0x800 -+ IXOFF = 0x400 -+ IXON = 0x200 -+ LCNT_OVERLOAD_FLUSH = 0x6 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x6 -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_SPACEAVAIL = 0x5 -+ MADV_WILLNEED = 0x3 -+ MAP_ANON = 0x1000 -+ MAP_COPY = 0x4 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_FLAGMASK = 0x1ff7 -+ MAP_HASSEMAPHORE = 0x200 -+ MAP_INHERIT = 0x80 -+ MAP_INHERIT_COPY = 0x1 -+ MAP_INHERIT_DONATE_COPY = 0x3 -+ MAP_INHERIT_NONE = 0x2 -+ MAP_INHERIT_SHARE = 0x0 -+ MAP_NOEXTEND = 0x100 -+ MAP_NORESERVE = 0x40 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_SHARED = 0x1 -+ MAP_TRYFIXED = 0x400 -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_BCAST = 0x100 -+ MSG_CTRUNC = 0x20 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_EOR = 0x8 -+ MSG_MCAST = 0x200 -+ MSG_NOSIGNAL = 0x400 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_TRUNC = 0x10 -+ MSG_WAITALL = 0x40 -+ MS_ASYNC = 0x1 -+ MS_INVALIDATE = 0x4 -+ MS_SYNC = 0x2 -+ NAME_MAX = 0xff -+ NET_RT_DUMP = 0x1 -+ NET_RT_FLAGS = 0x2 -+ NET_RT_IFLIST = 0x3 -+ NET_RT_MAXID = 0x6 -+ NET_RT_STATS = 0x4 -+ NET_RT_TABLE = 0x5 -+ NOFLSH = 0x80000000 -+ NOTE_ATTRIB = 0x8 -+ NOTE_CHILD = 0x4 -+ NOTE_DELETE = 0x1 -+ NOTE_EOF = 0x2 -+ NOTE_EXEC = 0x20000000 -+ NOTE_EXIT = 0x80000000 -+ NOTE_EXTEND = 0x4 -+ NOTE_FORK = 0x40000000 -+ NOTE_LINK = 0x10 -+ NOTE_LOWAT = 0x1 -+ NOTE_PCTRLMASK = 0xf0000000 -+ NOTE_PDATAMASK = 0xfffff -+ NOTE_RENAME = 0x20 -+ NOTE_REVOKE = 0x40 -+ NOTE_TRACK = 0x1 -+ NOTE_TRACKERR = 0x2 -+ NOTE_TRUNCATE = 0x80 -+ NOTE_WRITE = 0x2 -+ OCRNL = 0x10 -+ ONLCR = 0x2 -+ ONLRET = 0x80 -+ ONOCR = 0x40 -+ ONOEOT = 0x8 -+ OPOST = 0x1 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x8 -+ O_ASYNC = 0x40 -+ O_CLOEXEC = 0x10000 -+ O_CREAT = 0x200 -+ O_DIRECTORY = 0x20000 -+ O_DSYNC = 0x80 -+ O_EXCL = 0x800 -+ O_EXLOCK = 0x20 -+ O_FSYNC = 0x80 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x8000 -+ O_NOFOLLOW = 0x100 -+ O_NONBLOCK = 0x4 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x80 -+ O_SHLOCK = 0x10 -+ O_SYNC = 0x80 -+ O_TRUNC = 0x400 -+ O_WRONLY = 0x1 -+ PARENB = 0x1000 -+ PARMRK = 0x8 -+ PARODD = 0x2000 -+ PENDIN = 0x20000000 -+ PF_FLUSH = 0x1 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x8 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0x7fffffffffffffff -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_LABEL = 0xa -+ RTAX_MAX = 0xb -+ RTAX_NETMASK = 0x2 -+ RTAX_SRC = 0x8 -+ RTAX_SRCMASK = 0x9 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_LABEL = 0x400 -+ RTA_NETMASK = 0x4 -+ RTA_SRC = 0x100 -+ RTA_SRCMASK = 0x200 -+ RTF_ANNOUNCE = 0x4000 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_CLONED = 0x10000 -+ RTF_CLONING = 0x100 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_FMASK = 0x10f808 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_LLINFO = 0x400 -+ RTF_MASK = 0x80 -+ RTF_MODIFIED = 0x20 -+ RTF_MPATH = 0x40000 -+ RTF_MPLS = 0x100000 -+ RTF_PERMANENT_ARP = 0x2000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_PROTO3 = 0x2000 -+ RTF_REJECT = 0x8 -+ RTF_SOURCE = 0x20000 -+ RTF_STATIC = 0x800 -+ RTF_TUNNEL = 0x100000 -+ RTF_UP = 0x1 -+ RTF_USETRAILERS = 0x8000 -+ RTF_XRESOLVE = 0x200 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_DESYNC = 0x10 -+ RTM_GET = 0x4 -+ RTM_IFANNOUNCE = 0xf -+ RTM_IFINFO = 0xe -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MAXSIZE = 0x800 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_RTTUNIT = 0xf4240 -+ RTM_VERSION = 0x5 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RT_TABLEID_MAX = 0xff -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x4 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDMULTI = 0x80206931 -+ SIOCAIFADDR = 0x8040691a -+ SIOCAIFGROUP = 0x80286987 -+ SIOCALIFADDR = 0x8218691c -+ SIOCATMARK = 0x40047307 -+ SIOCBRDGADD = 0x8058693c -+ SIOCBRDGADDS = 0x80586941 -+ SIOCBRDGARL = 0x806e694d -+ SIOCBRDGDADDR = 0x81286947 -+ SIOCBRDGDEL = 0x8058693d -+ SIOCBRDGDELS = 0x80586942 -+ SIOCBRDGFLUSH = 0x80586948 -+ SIOCBRDGFRL = 0x806e694e -+ SIOCBRDGGCACHE = 0xc0146941 -+ SIOCBRDGGFD = 0xc0146952 -+ SIOCBRDGGHT = 0xc0146951 -+ SIOCBRDGGIFFLGS = 0xc058693e -+ SIOCBRDGGMA = 0xc0146953 -+ SIOCBRDGGPARAM = 0xc0406958 -+ SIOCBRDGGPRI = 0xc0146950 -+ SIOCBRDGGRL = 0xc030694f -+ SIOCBRDGGSIFS = 0xc058693c -+ SIOCBRDGGTO = 0xc0146946 -+ SIOCBRDGIFS = 0xc0586942 -+ SIOCBRDGRTS = 0xc0206943 -+ SIOCBRDGSADDR = 0xc1286944 -+ SIOCBRDGSCACHE = 0x80146940 -+ SIOCBRDGSFD = 0x80146952 -+ SIOCBRDGSHT = 0x80146951 -+ SIOCBRDGSIFCOST = 0x80586955 -+ SIOCBRDGSIFFLGS = 0x8058693f -+ SIOCBRDGSIFPRIO = 0x80586954 -+ SIOCBRDGSMA = 0x80146953 -+ SIOCBRDGSPRI = 0x80146950 -+ SIOCBRDGSPROTO = 0x8014695a -+ SIOCBRDGSTO = 0x80146945 -+ SIOCBRDGSTXHC = 0x80146959 -+ SIOCDELMULTI = 0x80206932 -+ SIOCDIFADDR = 0x80206919 -+ SIOCDIFGROUP = 0x80286989 -+ SIOCDIFPHYADDR = 0x80206949 -+ SIOCDLIFADDR = 0x8218691e -+ SIOCGETKALIVE = 0xc01869a4 -+ SIOCGETLABEL = 0x8020699a -+ SIOCGETPFLOW = 0xc02069fe -+ SIOCGETPFSYNC = 0xc02069f8 -+ SIOCGETSGCNT = 0xc0207534 -+ SIOCGETVIFCNT = 0xc0287533 -+ SIOCGETVLAN = 0xc0206990 -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = 0xc0206921 -+ SIOCGIFASYNCMAP = 0xc020697c -+ SIOCGIFBRDADDR = 0xc0206923 -+ SIOCGIFCONF = 0xc0106924 -+ SIOCGIFDATA = 0xc020691b -+ SIOCGIFDESCR = 0xc0206981 -+ SIOCGIFDSTADDR = 0xc0206922 -+ SIOCGIFFLAGS = 0xc0206911 -+ SIOCGIFGATTR = 0xc028698b -+ SIOCGIFGENERIC = 0xc020693a -+ SIOCGIFGMEMB = 0xc028698a -+ SIOCGIFGROUP = 0xc0286988 -+ SIOCGIFHARDMTU = 0xc02069a5 -+ SIOCGIFMEDIA = 0xc0306936 -+ SIOCGIFMETRIC = 0xc0206917 -+ SIOCGIFMTU = 0xc020697e -+ SIOCGIFNETMASK = 0xc0206925 -+ SIOCGIFPDSTADDR = 0xc0206948 -+ SIOCGIFPRIORITY = 0xc020699c -+ SIOCGIFPSRCADDR = 0xc0206947 -+ SIOCGIFRDOMAIN = 0xc02069a0 -+ SIOCGIFRTLABEL = 0xc0206983 -+ SIOCGIFTIMESLOT = 0xc0206986 -+ SIOCGIFXFLAGS = 0xc020699e -+ SIOCGLIFADDR = 0xc218691d -+ SIOCGLIFPHYADDR = 0xc218694b -+ SIOCGLIFPHYRTABLE = 0xc02069a2 -+ SIOCGLIFPHYTTL = 0xc02069a9 -+ SIOCGLOWAT = 0x40047303 -+ SIOCGPGRP = 0x40047309 -+ SIOCGSPPPPARAMS = 0xc0206994 -+ SIOCGVH = 0xc02069f6 -+ SIOCGVNETID = 0xc02069a7 -+ SIOCIFCREATE = 0x8020697a -+ SIOCIFDESTROY = 0x80206979 -+ SIOCIFGCLONERS = 0xc0106978 -+ SIOCSETKALIVE = 0x801869a3 -+ SIOCSETLABEL = 0x80206999 -+ SIOCSETPFLOW = 0x802069fd -+ SIOCSETPFSYNC = 0x802069f7 -+ SIOCSETVLAN = 0x8020698f -+ SIOCSHIWAT = 0x80047300 -+ SIOCSIFADDR = 0x8020690c -+ SIOCSIFASYNCMAP = 0x8020697d -+ SIOCSIFBRDADDR = 0x80206913 -+ SIOCSIFDESCR = 0x80206980 -+ SIOCSIFDSTADDR = 0x8020690e -+ SIOCSIFFLAGS = 0x80206910 -+ SIOCSIFGATTR = 0x8028698c -+ SIOCSIFGENERIC = 0x80206939 -+ SIOCSIFLLADDR = 0x8020691f -+ SIOCSIFMEDIA = 0xc0206935 -+ SIOCSIFMETRIC = 0x80206918 -+ SIOCSIFMTU = 0x8020697f -+ SIOCSIFNETMASK = 0x80206916 -+ SIOCSIFPHYADDR = 0x80406946 -+ SIOCSIFPRIORITY = 0x8020699b -+ SIOCSIFRDOMAIN = 0x8020699f -+ SIOCSIFRTLABEL = 0x80206982 -+ SIOCSIFTIMESLOT = 0x80206985 -+ SIOCSIFXFLAGS = 0x8020699d -+ SIOCSLIFPHYADDR = 0x8218694a -+ SIOCSLIFPHYRTABLE = 0x802069a1 -+ SIOCSLIFPHYTTL = 0x802069a8 -+ SIOCSLOWAT = 0x80047302 -+ SIOCSPGRP = 0x80047308 -+ SIOCSSPPPPARAMS = 0x80206993 -+ SIOCSVH = 0xc02069f5 -+ SIOCSVNETID = 0x802069a6 -+ SOCK_DGRAM = 0x2 -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_BINDANY = 0x1000 -+ SO_BROADCAST = 0x20 -+ SO_DEBUG = 0x1 -+ SO_DONTROUTE = 0x10 -+ SO_ERROR = 0x1007 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_NETPROC = 0x1020 -+ SO_OOBINLINE = 0x100 -+ SO_PEERCRED = 0x1022 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVTIMEO = 0x1006 -+ SO_REUSEADDR = 0x4 -+ SO_REUSEPORT = 0x200 -+ SO_RTABLE = 0x1021 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_SPLICE = 0x1023 -+ SO_TIMESTAMP = 0x800 -+ SO_TYPE = 0x1008 -+ SO_USELOOPBACK = 0x40 -+ TCIFLUSH = 0x1 -+ TCIOFLUSH = 0x3 -+ TCOFLUSH = 0x2 -+ TCP_MAXBURST = 0x4 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_SACK = 0x3 -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0x4 -+ TCP_MSS = 0x200 -+ TCP_NODELAY = 0x1 -+ TCP_NOPUSH = 0x10 -+ TCP_NSTATES = 0xb -+ TCP_SACK_ENABLE = 0x8 -+ TCSAFLUSH = 0x2 -+ TIOCCBRK = 0x2000747a -+ TIOCCDTR = 0x20007478 -+ TIOCCONS = 0x80047462 -+ TIOCDRAIN = 0x2000745e -+ TIOCEXCL = 0x2000740d -+ TIOCEXT = 0x80047460 -+ TIOCFLAG_CLOCAL = 0x2 -+ TIOCFLAG_CRTSCTS = 0x4 -+ TIOCFLAG_MDMBUF = 0x8 -+ TIOCFLAG_PPS = 0x10 -+ TIOCFLAG_SOFTCAR = 0x1 -+ TIOCFLUSH = 0x80047410 -+ TIOCGETA = 0x402c7413 -+ TIOCGETD = 0x4004741a -+ TIOCGFLAGS = 0x4004745d -+ TIOCGPGRP = 0x40047477 -+ TIOCGSID = 0x40047463 -+ TIOCGTSTAMP = 0x4010745b -+ TIOCGWINSZ = 0x40087468 -+ TIOCMBIC = 0x8004746b -+ TIOCMBIS = 0x8004746c -+ TIOCMGET = 0x4004746a -+ TIOCMODG = 0x4004746a -+ TIOCMODS = 0x8004746d -+ TIOCMSET = 0x8004746d -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x20007471 -+ TIOCNXCL = 0x2000740e -+ TIOCOUTQ = 0x40047473 -+ TIOCPKT = 0x80047470 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCREMOTE = 0x80047469 -+ TIOCSBRK = 0x2000747b -+ TIOCSCTTY = 0x20007461 -+ TIOCSDTR = 0x20007479 -+ TIOCSETA = 0x802c7414 -+ TIOCSETAF = 0x802c7416 -+ TIOCSETAW = 0x802c7415 -+ TIOCSETD = 0x8004741b -+ TIOCSFLAGS = 0x8004745c -+ TIOCSIG = 0x8004745f -+ TIOCSPGRP = 0x80047476 -+ TIOCSTART = 0x2000746e -+ TIOCSTAT = 0x80047465 -+ TIOCSTI = 0x80017472 -+ TIOCSTOP = 0x2000746f -+ TIOCSTSTAMP = 0x8008745a -+ TIOCSWINSZ = 0x80087467 -+ TIOCUCNTL = 0x80047466 -+ TOSTOP = 0x400000 -+ VDISCARD = 0xf -+ VDSUSP = 0xb -+ VEOF = 0x0 -+ VEOL = 0x1 -+ VEOL2 = 0x2 -+ VERASE = 0x3 -+ VINTR = 0x8 -+ VKILL = 0x5 -+ VLNEXT = 0xe -+ VMIN = 0x10 -+ VQUIT = 0x9 -+ VREPRINT = 0x6 -+ VSTART = 0xc -+ VSTATUS = 0x12 -+ VSTOP = 0xd -+ VSUSP = 0xa -+ VTIME = 0x11 -+ VWERASE = 0x4 -+ WALTSIG = 0x4 -+ WCONTINUED = 0x8 -+ WCOREFLAG = 0x80 -+ WNOHANG = 0x1 -+ WSTOPPED = 0x7f -+ WUNTRACED = 0x2 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x30) -+ EADDRNOTAVAIL = syscall.Errno(0x31) -+ EAFNOSUPPORT = syscall.Errno(0x2f) -+ EAGAIN = syscall.Errno(0x23) -+ EALREADY = syscall.Errno(0x25) -+ EAUTH = syscall.Errno(0x50) -+ EBADF = syscall.Errno(0x9) -+ EBADRPC = syscall.Errno(0x48) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x58) -+ ECHILD = syscall.Errno(0xa) -+ ECONNABORTED = syscall.Errno(0x35) -+ ECONNREFUSED = syscall.Errno(0x3d) -+ ECONNRESET = syscall.Errno(0x36) -+ EDEADLK = syscall.Errno(0xb) -+ EDESTADDRREQ = syscall.Errno(0x27) -+ EDOM = syscall.Errno(0x21) -+ EDQUOT = syscall.Errno(0x45) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EFTYPE = syscall.Errno(0x4f) -+ EHOSTDOWN = syscall.Errno(0x40) -+ EHOSTUNREACH = syscall.Errno(0x41) -+ EIDRM = syscall.Errno(0x59) -+ EILSEQ = syscall.Errno(0x54) -+ EINPROGRESS = syscall.Errno(0x24) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EIPSEC = syscall.Errno(0x52) -+ EISCONN = syscall.Errno(0x38) -+ EISDIR = syscall.Errno(0x15) -+ ELAST = syscall.Errno(0x5b) -+ ELOOP = syscall.Errno(0x3e) -+ EMEDIUMTYPE = syscall.Errno(0x56) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x28) -+ ENAMETOOLONG = syscall.Errno(0x3f) -+ ENEEDAUTH = syscall.Errno(0x51) -+ ENETDOWN = syscall.Errno(0x32) -+ ENETRESET = syscall.Errno(0x34) -+ ENETUNREACH = syscall.Errno(0x33) -+ ENFILE = syscall.Errno(0x17) -+ ENOATTR = syscall.Errno(0x53) -+ ENOBUFS = syscall.Errno(0x37) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x4d) -+ ENOMEDIUM = syscall.Errno(0x55) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x5a) -+ ENOPROTOOPT = syscall.Errno(0x2a) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSYS = syscall.Errno(0x4e) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x39) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x42) -+ ENOTSOCK = syscall.Errno(0x26) -+ ENOTSUP = syscall.Errno(0x5b) -+ ENOTTY = syscall.Errno(0x19) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x2d) -+ EOVERFLOW = syscall.Errno(0x57) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x2e) -+ EPIPE = syscall.Errno(0x20) -+ EPROCLIM = syscall.Errno(0x43) -+ EPROCUNAVAIL = syscall.Errno(0x4c) -+ EPROGMISMATCH = syscall.Errno(0x4b) -+ EPROGUNAVAIL = syscall.Errno(0x4a) -+ EPROTONOSUPPORT = syscall.Errno(0x2b) -+ EPROTOTYPE = syscall.Errno(0x29) -+ ERANGE = syscall.Errno(0x22) -+ EREMOTE = syscall.Errno(0x47) -+ EROFS = syscall.Errno(0x1e) -+ ERPCMISMATCH = syscall.Errno(0x49) -+ ESHUTDOWN = syscall.Errno(0x3a) -+ ESOCKTNOSUPPORT = syscall.Errno(0x2c) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESTALE = syscall.Errno(0x46) -+ ETIMEDOUT = syscall.Errno(0x3c) -+ ETOOMANYREFS = syscall.Errno(0x3b) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUSERS = syscall.Errno(0x44) -+ EWOULDBLOCK = syscall.Errno(0x23) -+ EXDEV = syscall.Errno(0x12) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCHLD = syscall.Signal(0x14) -+ SIGCONT = syscall.Signal(0x13) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x1d) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x17) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x11) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTHR = syscall.Signal(0x20) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x12) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x10) -+ SIGUSR1 = syscall.Signal(0x1e) -+ SIGUSR2 = syscall.Signal(0x1f) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "operation not permitted", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "input/output error", -+ 6: "device not configured", -+ 7: "argument list too long", -+ 8: "exec format error", -+ 9: "bad file descriptor", -+ 10: "no child processes", -+ 11: "resource deadlock avoided", -+ 12: "cannot allocate memory", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "operation not supported by device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "too many open files in system", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "numerical argument out of domain", -+ 34: "result too large", -+ 35: "resource temporarily unavailable", -+ 36: "operation now in progress", -+ 37: "operation already in progress", -+ 38: "socket operation on non-socket", -+ 39: "destination address required", -+ 40: "message too long", -+ 41: "protocol wrong type for socket", -+ 42: "protocol not available", -+ 43: "protocol not supported", -+ 44: "socket type not supported", -+ 45: "operation not supported", -+ 46: "protocol family not supported", -+ 47: "address family not supported by protocol family", -+ 48: "address already in use", -+ 49: "can't assign requested address", -+ 50: "network is down", -+ 51: "network is unreachable", -+ 52: "network dropped connection on reset", -+ 53: "software caused connection abort", -+ 54: "connection reset by peer", -+ 55: "no buffer space available", -+ 56: "socket is already connected", -+ 57: "socket is not connected", -+ 58: "can't send after socket shutdown", -+ 59: "too many references: can't splice", -+ 60: "connection timed out", -+ 61: "connection refused", -+ 62: "too many levels of symbolic links", -+ 63: "file name too long", -+ 64: "host is down", -+ 65: "no route to host", -+ 66: "directory not empty", -+ 67: "too many processes", -+ 68: "too many users", -+ 69: "disc quota exceeded", -+ 70: "stale NFS file handle", -+ 71: "too many levels of remote in path", -+ 72: "RPC struct is bad", -+ 73: "RPC version wrong", -+ 74: "RPC prog. not avail", -+ 75: "program version wrong", -+ 76: "bad procedure for program", -+ 77: "no locks available", -+ 78: "function not implemented", -+ 79: "inappropriate file type or format", -+ 80: "authentication error", -+ 81: "need authenticator", -+ 82: "IPsec processing failure", -+ 83: "attribute not found", -+ 84: "illegal byte sequence", -+ 85: "no medium found", -+ 86: "wrong medium type", -+ 87: "value too large to be stored in data type", -+ 88: "operation canceled", -+ 89: "identifier removed", -+ 90: "no message of desired type", -+ 91: "not supported", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal instruction", -+ 5: "trace/BPT trap", -+ 6: "abort trap", -+ 7: "EMT trap", -+ 8: "floating point exception", -+ 9: "killed", -+ 10: "bus error", -+ 11: "segmentation fault", -+ 12: "bad system call", -+ 13: "broken pipe", -+ 14: "alarm clock", -+ 15: "terminated", -+ 16: "urgent I/O condition", -+ 17: "stopped (signal)", -+ 18: "stopped", -+ 19: "continued", -+ 20: "child exited", -+ 21: "stopped (tty input)", -+ 22: "stopped (tty output)", -+ 23: "I/O possible", -+ 24: "cputime limit exceeded", -+ 25: "filesize limit exceeded", -+ 26: "virtual timer expired", -+ 27: "profiling timer expired", -+ 28: "window size changes", -+ 29: "information request", -+ 30: "user defined signal 1", -+ 31: "user defined signal 2", -+ 32: "thread AST", -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go -new file mode 100644 -index 0000000..a08922b ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go -@@ -0,0 +1,1436 @@ -+// mkerrors.sh -m64 -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build amd64,solaris -+ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -m64 _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AF_802 = 0x12 -+ AF_APPLETALK = 0x10 -+ AF_CCITT = 0xa -+ AF_CHAOS = 0x5 -+ AF_DATAKIT = 0x9 -+ AF_DECnet = 0xc -+ AF_DLI = 0xd -+ AF_ECMA = 0x8 -+ AF_FILE = 0x1 -+ AF_GOSIP = 0x16 -+ AF_HYLINK = 0xf -+ AF_IMPLINK = 0x3 -+ AF_INET = 0x2 -+ AF_INET6 = 0x1a -+ AF_INET_OFFLOAD = 0x1e -+ AF_IPX = 0x17 -+ AF_KEY = 0x1b -+ AF_LAT = 0xe -+ AF_LINK = 0x19 -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x20 -+ AF_NBS = 0x7 -+ AF_NCA = 0x1c -+ AF_NIT = 0x11 -+ AF_NS = 0x6 -+ AF_OSI = 0x13 -+ AF_OSINET = 0x15 -+ AF_PACKET = 0x20 -+ AF_POLICY = 0x1d -+ AF_PUP = 0x4 -+ AF_ROUTE = 0x18 -+ AF_SNA = 0xb -+ AF_TRILL = 0x1f -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_X25 = 0x14 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ATM = 0x10 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_FC = 0x12 -+ ARPHRD_FRAME = 0xf -+ ARPHRD_HDLC = 0x11 -+ ARPHRD_IB = 0x20 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IPATM = 0x13 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_TUNNEL = 0x1f -+ B0 = 0x0 -+ B110 = 0x3 -+ B115200 = 0x12 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B153600 = 0x13 -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B230400 = 0x14 -+ B2400 = 0xb -+ B300 = 0x7 -+ B307200 = 0x15 -+ B38400 = 0xf -+ B460800 = 0x16 -+ B4800 = 0xc -+ B50 = 0x1 -+ B57600 = 0x10 -+ B600 = 0x8 -+ B75 = 0x2 -+ B76800 = 0x11 -+ B921600 = 0x17 -+ B9600 = 0xd -+ BIOCFLUSH = 0x20004268 -+ BIOCGBLEN = 0x40044266 -+ BIOCGDLT = 0x4004426a -+ BIOCGDLTLIST = -0x3fefbd89 -+ BIOCGDLTLIST32 = -0x3ff7bd89 -+ BIOCGETIF = 0x4020426b -+ BIOCGETLIF = 0x4078426b -+ BIOCGHDRCMPLT = 0x40044274 -+ BIOCGRTIMEOUT = 0x4010427b -+ BIOCGRTIMEOUT32 = 0x4008427b -+ BIOCGSEESENT = 0x40044278 -+ BIOCGSTATS = 0x4080426f -+ BIOCGSTATSOLD = 0x4008426f -+ BIOCIMMEDIATE = -0x7ffbbd90 -+ BIOCPROMISC = 0x20004269 -+ BIOCSBLEN = -0x3ffbbd9a -+ BIOCSDLT = -0x7ffbbd8a -+ BIOCSETF = -0x7fefbd99 -+ BIOCSETF32 = -0x7ff7bd99 -+ BIOCSETIF = -0x7fdfbd94 -+ BIOCSETLIF = -0x7f87bd94 -+ BIOCSHDRCMPLT = -0x7ffbbd8b -+ BIOCSRTIMEOUT = -0x7fefbd86 -+ BIOCSRTIMEOUT32 = -0x7ff7bd86 -+ BIOCSSEESENT = -0x7ffbbd87 -+ BIOCSTCPF = -0x7fefbd8e -+ BIOCSUDPF = -0x7fefbd8d -+ BIOCVERSION = 0x40044271 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALIGNMENT = 0x4 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DFLTBUFSIZE = 0x100000 -+ BPF_DIV = 0x30 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXBUFSIZE = 0x1000000 -+ BPF_MAXINSNS = 0x200 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINBUFSIZE = 0x20 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_OR = 0x40 -+ BPF_RELEASE = 0x30bb6 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BRKINT = 0x2 -+ CFLUSH = 0xf -+ CLOCAL = 0x800 -+ CLOCK_HIGHRES = 0x4 -+ CLOCK_LEVEL = 0xa -+ CLOCK_MONOTONIC = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x5 -+ CLOCK_PROF = 0x2 -+ CLOCK_REALTIME = 0x3 -+ CLOCK_THREAD_CPUTIME_ID = 0x2 -+ CLOCK_VIRTUAL = 0x1 -+ CREAD = 0x80 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x14 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ CSWTCH = 0x1a -+ DLT_AIRONET_HEADER = 0x78 -+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a -+ DLT_ARCNET = 0x7 -+ DLT_ARCNET_LINUX = 0x81 -+ DLT_ATM_CLIP = 0x13 -+ DLT_ATM_RFC1483 = 0xb -+ DLT_AURORA = 0x7e -+ DLT_AX25 = 0x3 -+ DLT_BACNET_MS_TP = 0xa5 -+ DLT_CHAOS = 0x5 -+ DLT_CISCO_IOS = 0x76 -+ DLT_C_HDLC = 0x68 -+ DLT_DOCSIS = 0x8f -+ DLT_ECONET = 0x73 -+ DLT_EN10MB = 0x1 -+ DLT_EN3MB = 0x2 -+ DLT_ENC = 0x6d -+ DLT_ERF_ETH = 0xaf -+ DLT_ERF_POS = 0xb0 -+ DLT_FDDI = 0xa -+ DLT_FRELAY = 0x6b -+ DLT_GCOM_SERIAL = 0xad -+ DLT_GCOM_T1E1 = 0xac -+ DLT_GPF_F = 0xab -+ DLT_GPF_T = 0xaa -+ DLT_GPRS_LLC = 0xa9 -+ DLT_HDLC = 0x10 -+ DLT_HHDLC = 0x79 -+ DLT_HIPPI = 0xf -+ DLT_IBM_SN = 0x92 -+ DLT_IBM_SP = 0x91 -+ DLT_IEEE802 = 0x6 -+ DLT_IEEE802_11 = 0x69 -+ DLT_IEEE802_11_RADIO = 0x7f -+ DLT_IEEE802_11_RADIO_AVS = 0xa3 -+ DLT_IPNET = 0xe2 -+ DLT_IPOIB = 0xa2 -+ DLT_IP_OVER_FC = 0x7a -+ DLT_JUNIPER_ATM1 = 0x89 -+ DLT_JUNIPER_ATM2 = 0x87 -+ DLT_JUNIPER_CHDLC = 0xb5 -+ DLT_JUNIPER_ES = 0x84 -+ DLT_JUNIPER_ETHER = 0xb2 -+ DLT_JUNIPER_FRELAY = 0xb4 -+ DLT_JUNIPER_GGSN = 0x85 -+ DLT_JUNIPER_MFR = 0x86 -+ DLT_JUNIPER_MLFR = 0x83 -+ DLT_JUNIPER_MLPPP = 0x82 -+ DLT_JUNIPER_MONITOR = 0xa4 -+ DLT_JUNIPER_PIC_PEER = 0xae -+ DLT_JUNIPER_PPP = 0xb3 -+ DLT_JUNIPER_PPPOE = 0xa7 -+ DLT_JUNIPER_PPPOE_ATM = 0xa8 -+ DLT_JUNIPER_SERVICES = 0x88 -+ DLT_LINUX_IRDA = 0x90 -+ DLT_LINUX_LAPD = 0xb1 -+ DLT_LINUX_SLL = 0x71 -+ DLT_LOOP = 0x6c -+ DLT_LTALK = 0x72 -+ DLT_MTP2 = 0x8c -+ DLT_MTP2_WITH_PHDR = 0x8b -+ DLT_MTP3 = 0x8d -+ DLT_NULL = 0x0 -+ DLT_PCI_EXP = 0x7d -+ DLT_PFLOG = 0x75 -+ DLT_PFSYNC = 0x12 -+ DLT_PPP = 0x9 -+ DLT_PPP_BSDOS = 0xe -+ DLT_PPP_PPPD = 0xa6 -+ DLT_PRISM_HEADER = 0x77 -+ DLT_PRONET = 0x4 -+ DLT_RAW = 0xc -+ DLT_RAWAF_MASK = 0x2240000 -+ DLT_RIO = 0x7c -+ DLT_SCCP = 0x8e -+ DLT_SLIP = 0x8 -+ DLT_SLIP_BSDOS = 0xd -+ DLT_SUNATM = 0x7b -+ DLT_SYMANTEC_FIREWALL = 0x63 -+ DLT_TZSP = 0x80 -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ EMPTY_SET = 0x0 -+ EMT_CPCOVF = 0x1 -+ EQUALITY_CHECK = 0x0 -+ EXTA = 0xe -+ EXTB = 0xf -+ FD_CLOEXEC = 0x1 -+ FD_NFDBITS = 0x40 -+ FD_SETSIZE = 0x10000 -+ FLUSHALL = 0x1 -+ FLUSHDATA = 0x0 -+ FLUSHO = 0x2000 -+ F_ALLOCSP = 0xa -+ F_ALLOCSP64 = 0xa -+ F_BADFD = 0x2e -+ F_BLKSIZE = 0x13 -+ F_BLOCKS = 0x12 -+ F_CHKFL = 0x8 -+ F_COMPAT = 0x8 -+ F_DUP2FD = 0x9 -+ F_DUP2FD_CLOEXEC = 0x24 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x25 -+ F_FREESP = 0xb -+ F_FREESP64 = 0xb -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLK = 0xe -+ F_GETLK64 = 0xe -+ F_GETOWN = 0x17 -+ F_GETXFL = 0x2d -+ F_HASREMOTELOCKS = 0x1a -+ F_ISSTREAM = 0xd -+ F_MANDDNY = 0x10 -+ F_MDACC = 0x20 -+ F_NODNY = 0x0 -+ F_NPRIV = 0x10 -+ F_PRIV = 0xf -+ F_QUOTACTL = 0x11 -+ F_RDACC = 0x1 -+ F_RDDNY = 0x1 -+ F_RDLCK = 0x1 -+ F_REVOKE = 0x19 -+ F_RMACC = 0x4 -+ F_RMDNY = 0x4 -+ F_RWACC = 0x3 -+ F_RWDNY = 0x3 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLK = 0x6 -+ F_SETLK64 = 0x6 -+ F_SETLK64_NBMAND = 0x2a -+ F_SETLKW = 0x7 -+ F_SETLKW64 = 0x7 -+ F_SETLK_NBMAND = 0x2a -+ F_SETOWN = 0x18 -+ F_SHARE = 0x28 -+ F_SHARE_NBMAND = 0x2b -+ F_UNLCK = 0x3 -+ F_UNLKSYS = 0x4 -+ F_UNSHARE = 0x29 -+ F_WRACC = 0x2 -+ F_WRDNY = 0x2 -+ F_WRLCK = 0x2 -+ HUPCL = 0x400 -+ ICANON = 0x2 -+ ICRNL = 0x100 -+ IEXTEN = 0x8000 -+ IFF_ADDRCONF = 0x80000 -+ IFF_ALLMULTI = 0x200 -+ IFF_ANYCAST = 0x400000 -+ IFF_BROADCAST = 0x2 -+ IFF_CANTCHANGE = 0x7f203003b5a -+ IFF_COS_ENABLED = 0x200000000 -+ IFF_DEBUG = 0x4 -+ IFF_DEPRECATED = 0x40000 -+ IFF_DHCPRUNNING = 0x4000 -+ IFF_DUPLICATE = 0x4000000000 -+ IFF_FAILED = 0x10000000 -+ IFF_FIXEDMTU = 0x1000000000 -+ IFF_INACTIVE = 0x40000000 -+ IFF_INTELLIGENT = 0x400 -+ IFF_IPMP = 0x8000000000 -+ IFF_IPMP_CANTCHANGE = 0x10000000 -+ IFF_IPMP_INVALID = 0x1ec200080 -+ IFF_IPV4 = 0x1000000 -+ IFF_IPV6 = 0x2000000 -+ IFF_L3PROTECT = 0x40000000000 -+ IFF_LOOPBACK = 0x8 -+ IFF_MULTICAST = 0x800 -+ IFF_MULTI_BCAST = 0x1000 -+ IFF_NOACCEPT = 0x4000000 -+ IFF_NOARP = 0x80 -+ IFF_NOFAILOVER = 0x8000000 -+ IFF_NOLINKLOCAL = 0x20000000000 -+ IFF_NOLOCAL = 0x20000 -+ IFF_NONUD = 0x200000 -+ IFF_NORTEXCH = 0x800000 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NOXMIT = 0x10000 -+ IFF_OFFLINE = 0x80000000 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PREFERRED = 0x400000000 -+ IFF_PRIVATE = 0x8000 -+ IFF_PROMISC = 0x100 -+ IFF_ROUTER = 0x100000 -+ IFF_RUNNING = 0x40 -+ IFF_STANDBY = 0x20000000 -+ IFF_TEMPORARY = 0x800000000 -+ IFF_UNNUMBERED = 0x2000 -+ IFF_UP = 0x1 -+ IFF_VIRTUAL = 0x2000000000 -+ IFF_VRRP = 0x10000000000 -+ IFF_XRESOLV = 0x100000000 -+ IFNAMSIZ = 0x10 -+ IFT_1822 = 0x2 -+ IFT_6TO4 = 0xca -+ IFT_AAL5 = 0x31 -+ IFT_ARCNET = 0x23 -+ IFT_ARCNETPLUS = 0x24 -+ IFT_ATM = 0x25 -+ IFT_CEPT = 0x13 -+ IFT_DS3 = 0x1e -+ IFT_EON = 0x19 -+ IFT_ETHER = 0x6 -+ IFT_FDDI = 0xf -+ IFT_FRELAY = 0x20 -+ IFT_FRELAYDCE = 0x2c -+ IFT_HDH1822 = 0x3 -+ IFT_HIPPI = 0x2f -+ IFT_HSSI = 0x2e -+ IFT_HY = 0xe -+ IFT_IB = 0xc7 -+ IFT_IPV4 = 0xc8 -+ IFT_IPV6 = 0xc9 -+ IFT_ISDNBASIC = 0x14 -+ IFT_ISDNPRIMARY = 0x15 -+ IFT_ISO88022LLC = 0x29 -+ IFT_ISO88023 = 0x7 -+ IFT_ISO88024 = 0x8 -+ IFT_ISO88025 = 0x9 -+ IFT_ISO88026 = 0xa -+ IFT_LAPB = 0x10 -+ IFT_LOCALTALK = 0x2a -+ IFT_LOOP = 0x18 -+ IFT_MIOX25 = 0x26 -+ IFT_MODEM = 0x30 -+ IFT_NSIP = 0x1b -+ IFT_OTHER = 0x1 -+ IFT_P10 = 0xc -+ IFT_P80 = 0xd -+ IFT_PARA = 0x22 -+ IFT_PPP = 0x17 -+ IFT_PROPMUX = 0x36 -+ IFT_PROPVIRTUAL = 0x35 -+ IFT_PTPSERIAL = 0x16 -+ IFT_RS232 = 0x21 -+ IFT_SDLC = 0x11 -+ IFT_SIP = 0x1f -+ IFT_SLIP = 0x1c -+ IFT_SMDSDXI = 0x2b -+ IFT_SMDSICIP = 0x34 -+ IFT_SONET = 0x27 -+ IFT_SONETPATH = 0x32 -+ IFT_SONETVT = 0x33 -+ IFT_STARLAN = 0xb -+ IFT_T1 = 0x12 -+ IFT_ULTRA = 0x1d -+ IFT_V35 = 0x2d -+ IFT_X25 = 0x5 -+ IFT_X25DDN = 0x4 -+ IFT_X25PLE = 0x28 -+ IFT_XETHER = 0x1a -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_AUTOCONF_MASK = 0xffff0000 -+ IN_AUTOCONF_NET = 0xa9fe0000 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLASSD_HOST = 0xfffffff -+ IN_CLASSD_NET = 0xf0000000 -+ IN_CLASSD_NSHIFT = 0x1c -+ IN_CLASSE_NET = 0xffffffff -+ IN_LOOPBACKNET = 0x7f -+ IN_PRIVATE12_MASK = 0xfff00000 -+ IN_PRIVATE12_NET = 0xac100000 -+ IN_PRIVATE16_MASK = 0xffff0000 -+ IN_PRIVATE16_NET = 0xc0a80000 -+ IN_PRIVATE8_MASK = 0xff000000 -+ IN_PRIVATE8_NET = 0xa000000 -+ IPPROTO_AH = 0x33 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x4 -+ IPPROTO_EON = 0x50 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GGP = 0x3 -+ IPPROTO_HELLO = 0x3f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MAX = 0x100 -+ IPPROTO_ND = 0x4d -+ IPPROTO_NONE = 0x3b -+ IPPROTO_OSPF = 0x59 -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_UDP = 0x11 -+ IPV6_ADD_MEMBERSHIP = 0x9 -+ IPV6_BOUND_IF = 0x41 -+ IPV6_CHECKSUM = 0x18 -+ IPV6_DONTFRAG = 0x21 -+ IPV6_DROP_MEMBERSHIP = 0xa -+ IPV6_DSTOPTS = 0xf -+ IPV6_FLOWINFO_FLOWLABEL = 0xffff0f00 -+ IPV6_FLOWINFO_TCLASS = 0xf00f -+ IPV6_HOPLIMIT = 0xc -+ IPV6_HOPOPTS = 0xe -+ IPV6_JOIN_GROUP = 0x9 -+ IPV6_LEAVE_GROUP = 0xa -+ IPV6_MULTICAST_HOPS = 0x7 -+ IPV6_MULTICAST_IF = 0x6 -+ IPV6_MULTICAST_LOOP = 0x8 -+ IPV6_NEXTHOP = 0xd -+ IPV6_PAD1_OPT = 0x0 -+ IPV6_PATHMTU = 0x25 -+ IPV6_PKTINFO = 0xb -+ IPV6_PREFER_SRC_CGA = 0x20 -+ IPV6_PREFER_SRC_CGADEFAULT = 0x10 -+ IPV6_PREFER_SRC_CGAMASK = 0x30 -+ IPV6_PREFER_SRC_COA = 0x2 -+ IPV6_PREFER_SRC_DEFAULT = 0x15 -+ IPV6_PREFER_SRC_HOME = 0x1 -+ IPV6_PREFER_SRC_MASK = 0x3f -+ IPV6_PREFER_SRC_MIPDEFAULT = 0x1 -+ IPV6_PREFER_SRC_MIPMASK = 0x3 -+ IPV6_PREFER_SRC_NONCGA = 0x10 -+ IPV6_PREFER_SRC_PUBLIC = 0x4 -+ IPV6_PREFER_SRC_TMP = 0x8 -+ IPV6_PREFER_SRC_TMPDEFAULT = 0x4 -+ IPV6_PREFER_SRC_TMPMASK = 0xc -+ IPV6_RECVDSTOPTS = 0x28 -+ IPV6_RECVHOPLIMIT = 0x13 -+ IPV6_RECVHOPOPTS = 0x14 -+ IPV6_RECVPATHMTU = 0x24 -+ IPV6_RECVPKTINFO = 0x12 -+ IPV6_RECVRTHDR = 0x16 -+ IPV6_RECVRTHDRDSTOPTS = 0x17 -+ IPV6_RECVTCLASS = 0x19 -+ IPV6_RTHDR = 0x10 -+ IPV6_RTHDRDSTOPTS = 0x11 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_SEC_OPT = 0x22 -+ IPV6_SRC_PREFERENCES = 0x23 -+ IPV6_TCLASS = 0x26 -+ IPV6_UNICAST_HOPS = 0x5 -+ IPV6_UNSPEC_SRC = 0x42 -+ IPV6_USE_MIN_MTU = 0x20 -+ IPV6_V6ONLY = 0x27 -+ IP_ADD_MEMBERSHIP = 0x13 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x17 -+ IP_BLOCK_SOURCE = 0x15 -+ IP_BOUND_IF = 0x41 -+ IP_BROADCAST = 0x106 -+ IP_BROADCAST_TTL = 0x43 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DHCPINIT_IF = 0x45 -+ IP_DONTFRAG = 0x1b -+ IP_DONTROUTE = 0x105 -+ IP_DROP_MEMBERSHIP = 0x14 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x18 -+ IP_HDRINCL = 0x2 -+ IP_MAXPACKET = 0xffff -+ IP_MF = 0x2000 -+ IP_MSS = 0x240 -+ IP_MULTICAST_IF = 0x10 -+ IP_MULTICAST_LOOP = 0x12 -+ IP_MULTICAST_TTL = 0x11 -+ IP_NEXTHOP = 0x19 -+ IP_OPTIONS = 0x1 -+ IP_PKTINFO = 0x1a -+ IP_RECVDSTADDR = 0x7 -+ IP_RECVIF = 0x9 -+ IP_RECVOPTS = 0x5 -+ IP_RECVPKTINFO = 0x1a -+ IP_RECVRETOPTS = 0x6 -+ IP_RECVSLLA = 0xa -+ IP_RECVTTL = 0xb -+ IP_RETOPTS = 0x8 -+ IP_REUSEADDR = 0x104 -+ IP_SEC_OPT = 0x22 -+ IP_TOS = 0x3 -+ IP_TTL = 0x4 -+ IP_UNBLOCK_SOURCE = 0x16 -+ IP_UNSPEC_SRC = 0x42 -+ ISIG = 0x1 -+ ISTRIP = 0x20 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ MADV_ACCESS_DEFAULT = 0x6 -+ MADV_ACCESS_LWP = 0x7 -+ MADV_ACCESS_MANY = 0x8 -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x5 -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_WILLNEED = 0x3 -+ MAP_32BIT = 0x80 -+ MAP_ALIGN = 0x200 -+ MAP_ANON = 0x100 -+ MAP_ANONYMOUS = 0x100 -+ MAP_FIXED = 0x10 -+ MAP_INITDATA = 0x800 -+ MAP_NORESERVE = 0x40 -+ MAP_PRIVATE = 0x2 -+ MAP_RENAME = 0x20 -+ MAP_SHARED = 0x1 -+ MAP_TEXT = 0x400 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MSG_CTRUNC = 0x10 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x80 -+ MSG_DUPCTRL = 0x800 -+ MSG_EOR = 0x8 -+ MSG_MAXIOVLEN = 0x10 -+ MSG_NOTIFICATION = 0x100 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_TRUNC = 0x20 -+ MSG_WAITALL = 0x40 -+ MSG_XPG4_2 = 0x8000 -+ MS_ASYNC = 0x1 -+ MS_INVALIDATE = 0x2 -+ MS_OLDSYNC = 0x0 -+ MS_SYNC = 0x4 -+ M_FLUSH = 0x86 -+ NOFLSH = 0x80 -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPENFAIL = -0x1 -+ OPOST = 0x1 -+ O_ACCMODE = 0x600003 -+ O_APPEND = 0x8 -+ O_CLOEXEC = 0x800000 -+ O_CREAT = 0x100 -+ O_DSYNC = 0x40 -+ O_EXCL = 0x400 -+ O_EXEC = 0x400000 -+ O_LARGEFILE = 0x2000 -+ O_NDELAY = 0x4 -+ O_NOCTTY = 0x800 -+ O_NOFOLLOW = 0x20000 -+ O_NOLINKS = 0x40000 -+ O_NONBLOCK = 0x80 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x8000 -+ O_SEARCH = 0x200000 -+ O_SIOCGIFCONF = -0x3ff796ec -+ O_SIOCGLIFCONF = -0x3fef9688 -+ O_SYNC = 0x10 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ O_XATTR = 0x4000 -+ PARENB = 0x100 -+ PAREXT = 0x100000 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROT_EXEC = 0x4 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ RLIMIT_AS = 0x6 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_NOFILE = 0x5 -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = -0x3 -+ RTAX_AUTHOR = 0x6 -+ RTAX_BRD = 0x7 -+ RTAX_DST = 0x0 -+ RTAX_GATEWAY = 0x1 -+ RTAX_GENMASK = 0x3 -+ RTAX_IFA = 0x5 -+ RTAX_IFP = 0x4 -+ RTAX_MAX = 0x9 -+ RTAX_NETMASK = 0x2 -+ RTAX_SRC = 0x8 -+ RTA_AUTHOR = 0x40 -+ RTA_BRD = 0x80 -+ RTA_DST = 0x1 -+ RTA_GATEWAY = 0x2 -+ RTA_GENMASK = 0x8 -+ RTA_IFA = 0x20 -+ RTA_IFP = 0x10 -+ RTA_NETMASK = 0x4 -+ RTA_NUMBITS = 0x9 -+ RTA_SRC = 0x100 -+ RTF_BLACKHOLE = 0x1000 -+ RTF_CLONING = 0x100 -+ RTF_DONE = 0x40 -+ RTF_DYNAMIC = 0x10 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INDIRECT = 0x40000 -+ RTF_KERNEL = 0x80000 -+ RTF_LLINFO = 0x400 -+ RTF_MASK = 0x80 -+ RTF_MODIFIED = 0x20 -+ RTF_MULTIRT = 0x10000 -+ RTF_PRIVATE = 0x2000 -+ RTF_PROTO1 = 0x8000 -+ RTF_PROTO2 = 0x4000 -+ RTF_REJECT = 0x8 -+ RTF_SETSRC = 0x20000 -+ RTF_STATIC = 0x800 -+ RTF_UP = 0x1 -+ RTF_XRESOLVE = 0x200 -+ RTF_ZONE = 0x100000 -+ RTM_ADD = 0x1 -+ RTM_CHANGE = 0x3 -+ RTM_CHGADDR = 0xf -+ RTM_DELADDR = 0xd -+ RTM_DELETE = 0x2 -+ RTM_FREEADDR = 0x10 -+ RTM_GET = 0x4 -+ RTM_IFINFO = 0xe -+ RTM_LOCK = 0x8 -+ RTM_LOSING = 0x5 -+ RTM_MISS = 0x7 -+ RTM_NEWADDR = 0xc -+ RTM_OLDADD = 0x9 -+ RTM_OLDDEL = 0xa -+ RTM_REDIRECT = 0x6 -+ RTM_RESOLVE = 0xb -+ RTM_VERSION = 0x3 -+ RTV_EXPIRE = 0x4 -+ RTV_HOPCOUNT = 0x2 -+ RTV_MTU = 0x1 -+ RTV_RPIPE = 0x8 -+ RTV_RTT = 0x40 -+ RTV_RTTVAR = 0x80 -+ RTV_SPIPE = 0x10 -+ RTV_SSTHRESH = 0x20 -+ RT_AWARE = 0x1 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ SCM_RIGHTS = 0x1010 -+ SCM_TIMESTAMP = 0x1013 -+ SCM_UCRED = 0x1012 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIG2STR_MAX = 0x20 -+ SIOCADDMULTI = -0x7fdf96cf -+ SIOCADDRT = -0x7fcf8df6 -+ SIOCATMARK = 0x40047307 -+ SIOCDARP = -0x7fdb96e0 -+ SIOCDELMULTI = -0x7fdf96ce -+ SIOCDELRT = -0x7fcf8df5 -+ SIOCDXARP = -0x7fff9658 -+ SIOCGARP = -0x3fdb96e1 -+ SIOCGDSTINFO = -0x3fff965c -+ SIOCGENADDR = -0x3fdf96ab -+ SIOCGENPSTATS = -0x3fdf96c7 -+ SIOCGETLSGCNT = -0x3fef8deb -+ SIOCGETNAME = 0x40107334 -+ SIOCGETPEER = 0x40107335 -+ SIOCGETPROP = -0x3fff8f44 -+ SIOCGETSGCNT = -0x3feb8deb -+ SIOCGETSYNC = -0x3fdf96d3 -+ SIOCGETVIFCNT = -0x3feb8dec -+ SIOCGHIWAT = 0x40047301 -+ SIOCGIFADDR = -0x3fdf96f3 -+ SIOCGIFBRDADDR = -0x3fdf96e9 -+ SIOCGIFCONF = -0x3ff796a4 -+ SIOCGIFDSTADDR = -0x3fdf96f1 -+ SIOCGIFFLAGS = -0x3fdf96ef -+ SIOCGIFHWADDR = -0x3fdf9647 -+ SIOCGIFINDEX = -0x3fdf96a6 -+ SIOCGIFMEM = -0x3fdf96ed -+ SIOCGIFMETRIC = -0x3fdf96e5 -+ SIOCGIFMTU = -0x3fdf96ea -+ SIOCGIFMUXID = -0x3fdf96a8 -+ SIOCGIFNETMASK = -0x3fdf96e7 -+ SIOCGIFNUM = 0x40046957 -+ SIOCGIP6ADDRPOLICY = -0x3fff965e -+ SIOCGIPMSFILTER = -0x3ffb964c -+ SIOCGLIFADDR = -0x3f87968f -+ SIOCGLIFBINDING = -0x3f879666 -+ SIOCGLIFBRDADDR = -0x3f879685 -+ SIOCGLIFCONF = -0x3fef965b -+ SIOCGLIFDADSTATE = -0x3f879642 -+ SIOCGLIFDSTADDR = -0x3f87968d -+ SIOCGLIFFLAGS = -0x3f87968b -+ SIOCGLIFGROUPINFO = -0x3f4b9663 -+ SIOCGLIFGROUPNAME = -0x3f879664 -+ SIOCGLIFHWADDR = -0x3f879640 -+ SIOCGLIFINDEX = -0x3f87967b -+ SIOCGLIFLNKINFO = -0x3f879674 -+ SIOCGLIFMETRIC = -0x3f879681 -+ SIOCGLIFMTU = -0x3f879686 -+ SIOCGLIFMUXID = -0x3f87967d -+ SIOCGLIFNETMASK = -0x3f879683 -+ SIOCGLIFNUM = -0x3ff3967e -+ SIOCGLIFSRCOF = -0x3fef964f -+ SIOCGLIFSUBNET = -0x3f879676 -+ SIOCGLIFTOKEN = -0x3f879678 -+ SIOCGLIFUSESRC = -0x3f879651 -+ SIOCGLIFZONE = -0x3f879656 -+ SIOCGLOWAT = 0x40047303 -+ SIOCGMSFILTER = -0x3ffb964e -+ SIOCGPGRP = 0x40047309 -+ SIOCGSTAMP = -0x3fef9646 -+ SIOCGXARP = -0x3fff9659 -+ SIOCIFDETACH = -0x7fdf96c8 -+ SIOCILB = -0x3ffb9645 -+ SIOCLIFADDIF = -0x3f879691 -+ SIOCLIFDELND = -0x7f879673 -+ SIOCLIFGETND = -0x3f879672 -+ SIOCLIFREMOVEIF = -0x7f879692 -+ SIOCLIFSETND = -0x7f879671 -+ SIOCLOWER = -0x7fdf96d7 -+ SIOCSARP = -0x7fdb96e2 -+ SIOCSCTPGOPT = -0x3fef9653 -+ SIOCSCTPPEELOFF = -0x3ffb9652 -+ SIOCSCTPSOPT = -0x7fef9654 -+ SIOCSENABLESDP = -0x3ffb9649 -+ SIOCSETPROP = -0x7ffb8f43 -+ SIOCSETSYNC = -0x7fdf96d4 -+ SIOCSHIWAT = -0x7ffb8d00 -+ SIOCSIFADDR = -0x7fdf96f4 -+ SIOCSIFBRDADDR = -0x7fdf96e8 -+ SIOCSIFDSTADDR = -0x7fdf96f2 -+ SIOCSIFFLAGS = -0x7fdf96f0 -+ SIOCSIFINDEX = -0x7fdf96a5 -+ SIOCSIFMEM = -0x7fdf96ee -+ SIOCSIFMETRIC = -0x7fdf96e4 -+ SIOCSIFMTU = -0x7fdf96eb -+ SIOCSIFMUXID = -0x7fdf96a7 -+ SIOCSIFNAME = -0x7fdf96b7 -+ SIOCSIFNETMASK = -0x7fdf96e6 -+ SIOCSIP6ADDRPOLICY = -0x7fff965d -+ SIOCSIPMSFILTER = -0x7ffb964b -+ SIOCSLGETREQ = -0x3fdf96b9 -+ SIOCSLIFADDR = -0x7f879690 -+ SIOCSLIFBRDADDR = -0x7f879684 -+ SIOCSLIFDSTADDR = -0x7f87968e -+ SIOCSLIFFLAGS = -0x7f87968c -+ SIOCSLIFGROUPNAME = -0x7f879665 -+ SIOCSLIFINDEX = -0x7f87967a -+ SIOCSLIFLNKINFO = -0x7f879675 -+ SIOCSLIFMETRIC = -0x7f879680 -+ SIOCSLIFMTU = -0x7f879687 -+ SIOCSLIFMUXID = -0x7f87967c -+ SIOCSLIFNAME = -0x3f87967f -+ SIOCSLIFNETMASK = -0x7f879682 -+ SIOCSLIFPREFIX = -0x3f879641 -+ SIOCSLIFSUBNET = -0x7f879677 -+ SIOCSLIFTOKEN = -0x7f879679 -+ SIOCSLIFUSESRC = -0x7f879650 -+ SIOCSLIFZONE = -0x7f879655 -+ SIOCSLOWAT = -0x7ffb8cfe -+ SIOCSLSTAT = -0x7fdf96b8 -+ SIOCSMSFILTER = -0x7ffb964d -+ SIOCSPGRP = -0x7ffb8cf8 -+ SIOCSPROMISC = -0x7ffb96d0 -+ SIOCSQPTR = -0x3ffb9648 -+ SIOCSSDSTATS = -0x3fdf96d2 -+ SIOCSSESTATS = -0x3fdf96d1 -+ SIOCSXARP = -0x7fff965a -+ SIOCTMYADDR = -0x3ff79670 -+ SIOCTMYSITE = -0x3ff7966e -+ SIOCTONLINK = -0x3ff7966f -+ SIOCUPPER = -0x7fdf96d8 -+ SIOCX25RCV = -0x3fdf96c4 -+ SIOCX25TBL = -0x3fdf96c3 -+ SIOCX25XMT = -0x3fdf96c5 -+ SIOCXPROTO = 0x20007337 -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DGRAM = 0x1 -+ SOCK_NDELAY = 0x200000 -+ SOCK_NONBLOCK = 0x100000 -+ SOCK_RAW = 0x4 -+ SOCK_RDM = 0x5 -+ SOCK_SEQPACKET = 0x6 -+ SOCK_STREAM = 0x2 -+ SOCK_TYPE_MASK = 0xffff -+ SOL_FILTER = 0xfffc -+ SOL_PACKET = 0xfffd -+ SOL_ROUTE = 0xfffe -+ SOL_SOCKET = 0xffff -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x2 -+ SO_ALL = 0x3f -+ SO_ALLZONES = 0x1014 -+ SO_ANON_MLP = 0x100a -+ SO_ATTACH_FILTER = 0x40000001 -+ SO_BAND = 0x4000 -+ SO_BROADCAST = 0x20 -+ SO_COPYOPT = 0x80000 -+ SO_DEBUG = 0x1 -+ SO_DELIM = 0x8000 -+ SO_DETACH_FILTER = 0x40000002 -+ SO_DGRAM_ERRIND = 0x200 -+ SO_DOMAIN = 0x100c -+ SO_DONTLINGER = -0x81 -+ SO_DONTROUTE = 0x10 -+ SO_ERROPT = 0x40000 -+ SO_ERROR = 0x1007 -+ SO_EXCLBIND = 0x1015 -+ SO_HIWAT = 0x10 -+ SO_ISNTTY = 0x800 -+ SO_ISTTY = 0x400 -+ SO_KEEPALIVE = 0x8 -+ SO_LINGER = 0x80 -+ SO_LOWAT = 0x20 -+ SO_MAC_EXEMPT = 0x100b -+ SO_MAC_IMPLICIT = 0x1016 -+ SO_MAXBLK = 0x100000 -+ SO_MAXPSZ = 0x8 -+ SO_MINPSZ = 0x4 -+ SO_MREADOFF = 0x80 -+ SO_MREADON = 0x40 -+ SO_NDELOFF = 0x200 -+ SO_NDELON = 0x100 -+ SO_NODELIM = 0x10000 -+ SO_OOBINLINE = 0x100 -+ SO_PROTOTYPE = 0x1009 -+ SO_RCVBUF = 0x1002 -+ SO_RCVLOWAT = 0x1004 -+ SO_RCVPSH = 0x100d -+ SO_RCVTIMEO = 0x1006 -+ SO_READOPT = 0x1 -+ SO_RECVUCRED = 0x400 -+ SO_REUSEADDR = 0x4 -+ SO_SECATTR = 0x1011 -+ SO_SNDBUF = 0x1001 -+ SO_SNDLOWAT = 0x1003 -+ SO_SNDTIMEO = 0x1005 -+ SO_STRHOLD = 0x20000 -+ SO_TAIL = 0x200000 -+ SO_TIMESTAMP = 0x1013 -+ SO_TONSTOP = 0x2000 -+ SO_TOSTOP = 0x1000 -+ SO_TYPE = 0x1008 -+ SO_USELOOPBACK = 0x40 -+ SO_VRRP = 0x1017 -+ SO_WROFF = 0x2 -+ TCFLSH = 0x5407 -+ TCGETA = 0x5401 -+ TCGETS = 0x540d -+ TCIFLUSH = 0x0 -+ TCIOFLUSH = 0x2 -+ TCOFLUSH = 0x1 -+ TCP_ABORT_THRESHOLD = 0x11 -+ TCP_ANONPRIVBIND = 0x20 -+ TCP_CONN_ABORT_THRESHOLD = 0x13 -+ TCP_CONN_NOTIFY_THRESHOLD = 0x12 -+ TCP_CORK = 0x18 -+ TCP_EXCLBIND = 0x21 -+ TCP_INIT_CWND = 0x15 -+ TCP_KEEPALIVE = 0x8 -+ TCP_KEEPALIVE_ABORT_THRESHOLD = 0x17 -+ TCP_KEEPALIVE_THRESHOLD = 0x16 -+ TCP_KEEPCNT = 0x23 -+ TCP_KEEPIDLE = 0x22 -+ TCP_KEEPINTVL = 0x24 -+ TCP_LINGER2 = 0x1c -+ TCP_MAXSEG = 0x2 -+ TCP_MSS = 0x218 -+ TCP_NODELAY = 0x1 -+ TCP_NOTIFY_THRESHOLD = 0x10 -+ TCP_RECVDSTADDR = 0x14 -+ TCP_RTO_INITIAL = 0x19 -+ TCP_RTO_MAX = 0x1b -+ TCP_RTO_MIN = 0x1a -+ TCSAFLUSH = 0x5410 -+ TCSBRK = 0x5405 -+ TCSETA = 0x5402 -+ TCSETAF = 0x5404 -+ TCSETAW = 0x5403 -+ TCSETS = 0x540e -+ TCSETSF = 0x5410 -+ TCSETSW = 0x540f -+ TCXONC = 0x5406 -+ TIOC = 0x5400 -+ TIOCCBRK = 0x747a -+ TIOCCDTR = 0x7478 -+ TIOCCILOOP = 0x746c -+ TIOCEXCL = 0x740d -+ TIOCFLUSH = 0x7410 -+ TIOCGETC = 0x7412 -+ TIOCGETD = 0x7400 -+ TIOCGETP = 0x7408 -+ TIOCGLTC = 0x7474 -+ TIOCGPGRP = 0x7414 -+ TIOCGPPS = 0x547d -+ TIOCGPPSEV = 0x547f -+ TIOCGSID = 0x7416 -+ TIOCGSOFTCAR = 0x5469 -+ TIOCGWINSZ = 0x5468 -+ TIOCHPCL = 0x7402 -+ TIOCKBOF = 0x5409 -+ TIOCKBON = 0x5408 -+ TIOCLBIC = 0x747e -+ TIOCLBIS = 0x747f -+ TIOCLGET = 0x747c -+ TIOCLSET = 0x747d -+ TIOCMBIC = 0x741c -+ TIOCMBIS = 0x741b -+ TIOCMGET = 0x741d -+ TIOCMSET = 0x741a -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x7471 -+ TIOCNXCL = 0x740e -+ TIOCOUTQ = 0x7473 -+ TIOCREMOTE = 0x741e -+ TIOCSBRK = 0x747b -+ TIOCSCTTY = 0x7484 -+ TIOCSDTR = 0x7479 -+ TIOCSETC = 0x7411 -+ TIOCSETD = 0x7401 -+ TIOCSETN = 0x740a -+ TIOCSETP = 0x7409 -+ TIOCSIGNAL = 0x741f -+ TIOCSILOOP = 0x746d -+ TIOCSLTC = 0x7475 -+ TIOCSPGRP = 0x7415 -+ TIOCSPPS = 0x547e -+ TIOCSSOFTCAR = 0x546a -+ TIOCSTART = 0x746e -+ TIOCSTI = 0x7417 -+ TIOCSTOP = 0x746f -+ TIOCSWINSZ = 0x5467 -+ TOSTOP = 0x100 -+ VCEOF = 0x8 -+ VCEOL = 0x9 -+ VDISCARD = 0xd -+ VDSUSP = 0xb -+ VEOF = 0x4 -+ VEOL = 0x5 -+ VEOL2 = 0x6 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMIN = 0x4 -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTATUS = 0x10 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTCH = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WCONTFLG = 0xffff -+ WCONTINUED = 0x8 -+ WCOREFLG = 0x80 -+ WEXITED = 0x1 -+ WNOHANG = 0x40 -+ WNOWAIT = 0x80 -+ WOPTMASK = 0xcf -+ WRAP = 0x20000 -+ WSIGMASK = 0x7f -+ WSTOPFLG = 0x7f -+ WSTOPPED = 0x4 -+ WTRAPPED = 0x2 -+ WUNTRACED = 0x4 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x7d) -+ EADDRNOTAVAIL = syscall.Errno(0x7e) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x7c) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x95) -+ EBADE = syscall.Errno(0x32) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x51) -+ EBADMSG = syscall.Errno(0x4d) -+ EBADR = syscall.Errno(0x33) -+ EBADRQC = syscall.Errno(0x36) -+ EBADSLT = syscall.Errno(0x37) -+ EBFONT = syscall.Errno(0x39) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x2f) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x25) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x82) -+ ECONNREFUSED = syscall.Errno(0x92) -+ ECONNRESET = syscall.Errno(0x83) -+ EDEADLK = syscall.Errno(0x2d) -+ EDEADLOCK = syscall.Errno(0x38) -+ EDESTADDRREQ = syscall.Errno(0x60) -+ EDOM = syscall.Errno(0x21) -+ EDQUOT = syscall.Errno(0x31) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x93) -+ EHOSTUNREACH = syscall.Errno(0x94) -+ EIDRM = syscall.Errno(0x24) -+ EILSEQ = syscall.Errno(0x58) -+ EINPROGRESS = syscall.Errno(0x96) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x85) -+ EISDIR = syscall.Errno(0x15) -+ EL2HLT = syscall.Errno(0x2c) -+ EL2NSYNC = syscall.Errno(0x26) -+ EL3HLT = syscall.Errno(0x27) -+ EL3RST = syscall.Errno(0x28) -+ ELIBACC = syscall.Errno(0x53) -+ ELIBBAD = syscall.Errno(0x54) -+ ELIBEXEC = syscall.Errno(0x57) -+ ELIBMAX = syscall.Errno(0x56) -+ ELIBSCN = syscall.Errno(0x55) -+ ELNRNG = syscall.Errno(0x29) -+ ELOCKUNMAPPED = syscall.Errno(0x48) -+ ELOOP = syscall.Errno(0x5a) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x61) -+ EMULTIHOP = syscall.Errno(0x4a) -+ ENAMETOOLONG = syscall.Errno(0x4e) -+ ENETDOWN = syscall.Errno(0x7f) -+ ENETRESET = syscall.Errno(0x81) -+ ENETUNREACH = syscall.Errno(0x80) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x35) -+ ENOBUFS = syscall.Errno(0x84) -+ ENOCSI = syscall.Errno(0x2b) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOLCK = syscall.Errno(0x2e) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x23) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x63) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x59) -+ ENOTACTIVE = syscall.Errno(0x49) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x86) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x5d) -+ ENOTRECOVERABLE = syscall.Errno(0x3b) -+ ENOTSOCK = syscall.Errno(0x5f) -+ ENOTSUP = syscall.Errno(0x30) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x50) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x7a) -+ EOVERFLOW = syscall.Errno(0x4f) -+ EOWNERDEAD = syscall.Errno(0x3a) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x7b) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x78) -+ EPROTOTYPE = syscall.Errno(0x62) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x52) -+ EREMOTE = syscall.Errno(0x42) -+ ERESTART = syscall.Errno(0x5b) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x8f) -+ ESOCKTNOSUPPORT = syscall.Errno(0x79) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x97) -+ ESTRPIPE = syscall.Errno(0x5c) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x91) -+ ETOOMANYREFS = syscall.Errno(0x90) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUNATCH = syscall.Errno(0x2a) -+ EUSERS = syscall.Errno(0x5e) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x34) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0xa) -+ SIGCANCEL = syscall.Signal(0x24) -+ SIGCHLD = syscall.Signal(0x12) -+ SIGCLD = syscall.Signal(0x12) -+ SIGCONT = syscall.Signal(0x19) -+ SIGEMT = syscall.Signal(0x7) -+ SIGFPE = syscall.Signal(0x8) -+ SIGFREEZE = syscall.Signal(0x22) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINFO = syscall.Signal(0x29) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x16) -+ SIGIOT = syscall.Signal(0x6) -+ SIGJVM1 = syscall.Signal(0x27) -+ SIGJVM2 = syscall.Signal(0x28) -+ SIGKILL = syscall.Signal(0x9) -+ SIGLOST = syscall.Signal(0x25) -+ SIGLWP = syscall.Signal(0x21) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x16) -+ SIGPROF = syscall.Signal(0x1d) -+ SIGPWR = syscall.Signal(0x13) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTOP = syscall.Signal(0x17) -+ SIGSYS = syscall.Signal(0xc) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTHAW = syscall.Signal(0x23) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x18) -+ SIGTTIN = syscall.Signal(0x1a) -+ SIGTTOU = syscall.Signal(0x1b) -+ SIGURG = syscall.Signal(0x15) -+ SIGUSR1 = syscall.Signal(0x10) -+ SIGUSR2 = syscall.Signal(0x11) -+ SIGVTALRM = syscall.Signal(0x1c) -+ SIGWAITING = syscall.Signal(0x20) -+ SIGWINCH = syscall.Signal(0x14) -+ SIGXCPU = syscall.Signal(0x1e) -+ SIGXFSZ = syscall.Signal(0x1f) -+ SIGXRES = syscall.Signal(0x26) -+) -+ -+// Error table -+var errors = [...]string{ -+ 1: "not owner", -+ 2: "no such file or directory", -+ 3: "no such process", -+ 4: "interrupted system call", -+ 5: "I/O error", -+ 6: "no such device or address", -+ 7: "arg list too long", -+ 8: "exec format error", -+ 9: "bad file number", -+ 10: "no child processes", -+ 11: "resource temporarily unavailable", -+ 12: "not enough space", -+ 13: "permission denied", -+ 14: "bad address", -+ 15: "block device required", -+ 16: "device busy", -+ 17: "file exists", -+ 18: "cross-device link", -+ 19: "no such device", -+ 20: "not a directory", -+ 21: "is a directory", -+ 22: "invalid argument", -+ 23: "file table overflow", -+ 24: "too many open files", -+ 25: "inappropriate ioctl for device", -+ 26: "text file busy", -+ 27: "file too large", -+ 28: "no space left on device", -+ 29: "illegal seek", -+ 30: "read-only file system", -+ 31: "too many links", -+ 32: "broken pipe", -+ 33: "argument out of domain", -+ 34: "result too large", -+ 35: "no message of desired type", -+ 36: "identifier removed", -+ 37: "channel number out of range", -+ 38: "level 2 not synchronized", -+ 39: "level 3 halted", -+ 40: "level 3 reset", -+ 41: "link number out of range", -+ 42: "protocol driver not attached", -+ 43: "no CSI structure available", -+ 44: "level 2 halted", -+ 45: "deadlock situation detected/avoided", -+ 46: "no record locks available", -+ 47: "operation canceled", -+ 48: "operation not supported", -+ 49: "disc quota exceeded", -+ 50: "bad exchange descriptor", -+ 51: "bad request descriptor", -+ 52: "message tables full", -+ 53: "anode table overflow", -+ 54: "bad request code", -+ 55: "invalid slot", -+ 56: "file locking deadlock", -+ 57: "bad font file format", -+ 58: "owner of the lock died", -+ 59: "lock is not recoverable", -+ 60: "not a stream device", -+ 61: "no data available", -+ 62: "timer expired", -+ 63: "out of stream resources", -+ 64: "machine is not on the network", -+ 65: "package not installed", -+ 66: "object is remote", -+ 67: "link has been severed", -+ 68: "advertise error", -+ 69: "srmount error", -+ 70: "communication error on send", -+ 71: "protocol error", -+ 72: "locked lock was unmapped ", -+ 73: "facility is not active", -+ 74: "multihop attempted", -+ 77: "not a data message", -+ 78: "file name too long", -+ 79: "value too large for defined data type", -+ 80: "name not unique on network", -+ 81: "file descriptor in bad state", -+ 82: "remote address changed", -+ 83: "can not access a needed shared library", -+ 84: "accessing a corrupted shared library", -+ 85: ".lib section in a.out corrupted", -+ 86: "attempting to link in more shared libraries than system limit", -+ 87: "can not exec a shared library directly", -+ 88: "illegal byte sequence", -+ 89: "operation not applicable", -+ 90: "number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS", -+ 91: "error 91", -+ 92: "error 92", -+ 93: "directory not empty", -+ 94: "too many users", -+ 95: "socket operation on non-socket", -+ 96: "destination address required", -+ 97: "message too long", -+ 98: "protocol wrong type for socket", -+ 99: "option not supported by protocol", -+ 120: "protocol not supported", -+ 121: "socket type not supported", -+ 122: "operation not supported on transport endpoint", -+ 123: "protocol family not supported", -+ 124: "address family not supported by protocol family", -+ 125: "address already in use", -+ 126: "cannot assign requested address", -+ 127: "network is down", -+ 128: "network is unreachable", -+ 129: "network dropped connection because of reset", -+ 130: "software caused connection abort", -+ 131: "connection reset by peer", -+ 132: "no buffer space available", -+ 133: "transport endpoint is already connected", -+ 134: "transport endpoint is not connected", -+ 143: "cannot send after socket shutdown", -+ 144: "too many references: cannot splice", -+ 145: "connection timed out", -+ 146: "connection refused", -+ 147: "host is down", -+ 148: "no route to host", -+ 149: "operation already in progress", -+ 150: "operation now in progress", -+ 151: "stale NFS file handle", -+} -+ -+// Signal table -+var signals = [...]string{ -+ 1: "hangup", -+ 2: "interrupt", -+ 3: "quit", -+ 4: "illegal Instruction", -+ 5: "trace/Breakpoint Trap", -+ 6: "abort", -+ 7: "emulation Trap", -+ 8: "arithmetic Exception", -+ 9: "killed", -+ 10: "bus Error", -+ 11: "segmentation Fault", -+ 12: "bad System Call", -+ 13: "broken Pipe", -+ 14: "alarm Clock", -+ 15: "terminated", -+ 16: "user Signal 1", -+ 17: "user Signal 2", -+ 18: "child Status Changed", -+ 19: "power-Fail/Restart", -+ 20: "window Size Change", -+ 21: "urgent Socket Condition", -+ 22: "pollable Event", -+ 23: "stopped (signal)", -+ 24: "stopped (user)", -+ 25: "continued", -+ 26: "stopped (tty input)", -+ 27: "stopped (tty output)", -+ 28: "virtual Timer Expired", -+ 29: "profiling Timer Expired", -+ 30: "cpu Limit Exceeded", -+ 31: "file Size Limit Exceeded", -+ 32: "no runnable lwp", -+ 33: "inter-lwp signal", -+ 34: "checkpoint Freeze", -+ 35: "checkpoint Thaw", -+ 36: "thread Cancellation", -+ 37: "resource Lost", -+ 38: "resource Control Exceeded", -+ 39: "reserved for JVM 1", -+ 40: "reserved for JVM 2", -+ 41: "information Request", -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go -new file mode 100644 -index 0000000..e48f4a5 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go -@@ -0,0 +1,1394 @@ -+// mksyscall.pl -l32 -tags darwin,386 syscall_bsd.go syscall_darwin.go syscall_darwin_386.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build darwin,386 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (r int, w int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ r = int(r0) -+ w = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kill(pid int, signum int, posix int) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exchangedata(path1 string, path2 string, options int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path1) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(path2) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, stat *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdtablesize() (size int) { -+ r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) -+ size = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) -+ newoffset = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setlogin(name string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setprivexec(flag int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, stat *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Undelete(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { -+ r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ sec = int32(r0) -+ usec = int32(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go -new file mode 100644 -index 0000000..672ada0 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go -@@ -0,0 +1,1409 @@ -+// mksyscall.pl -tags darwin,amd64 syscall_bsd.go syscall_darwin.go syscall_darwin_amd64.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build darwin,amd64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (r int, w int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ r = int(r0) -+ w = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kill(pid int, signum int, posix int) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exchangedata(path1 string, path2 string, options int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path1) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(path2) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, stat *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdtablesize() (size int) { -+ r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) -+ size = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ newoffset = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setlogin(name string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setprivexec(flag int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, stat *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Undelete(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { -+ r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ sec = int64(r0) -+ usec = int32(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go -new file mode 100644 -index 0000000..d516409 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go -@@ -0,0 +1,1394 @@ -+// mksyscall.pl -l32 -tags darwin,arm syscall_bsd.go syscall_darwin.go syscall_darwin_arm.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build darwin,arm -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (r int, w int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ r = int(r0) -+ w = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kill(pid int, signum int, posix int) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exchangedata(path1 string, path2 string, options int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path1) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(path2) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, stat *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdtablesize() (size int) { -+ r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) -+ size = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) -+ newoffset = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setlogin(name string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setprivexec(flag int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, stat *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Undelete(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func gettimeofday(tp *Timeval) (sec int32, usec int32, err error) { -+ r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ sec = int32(r0) -+ usec = int32(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go -new file mode 100644 -index 0000000..e97759c ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go -@@ -0,0 +1,1394 @@ -+// mksyscall.pl -tags darwin,arm64 syscall_bsd.go syscall_darwin.go syscall_darwin_arm64.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build darwin,arm64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (r int, w int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ r = int(r0) -+ w = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kill(pid int, signum int, posix int) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), uintptr(posix)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exchangedata(path1 string, path2 string, options int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path1) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(path2) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXCHANGEDATA, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(options)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, stat *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETDIRENTRIES64, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdtablesize() (size int) { -+ r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) -+ size = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := RawSyscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ newoffset = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setlogin(name string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setprivexec(flag int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIVEXEC, uintptr(flag), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, stat *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Undelete(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func gettimeofday(tp *Timeval) (sec int64, usec int32, err error) { -+ r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ sec = int64(r0) -+ usec = int32(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go -new file mode 100644 -index 0000000..3e9d82a ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go -@@ -0,0 +1,1382 @@ -+// mksyscall.pl -dragonfly -tags dragonfly,amd64 syscall_bsd.go syscall_dragonfly.go syscall_dragonfly_amd64.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build dragonfly,amd64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (r int, w int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ r = int(r0) -+ w = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func extpread(fd int, p []byte, flags int, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EXTPREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func extpwrite(fd int, p []byte, flags int, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EXTPWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(offset), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, stat *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdtablesize() (size int) { -+ r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) -+ size = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, signum syscall.Signal) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) -+ newoffset = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setlogin(name string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, stat *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Undelete(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go -new file mode 100644 -index 0000000..f53801c ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go -@@ -0,0 +1,1617 @@ -+// mksyscall.pl -l32 -tags freebsd,386 syscall_bsd.go syscall_freebsd.go syscall_freebsd_386.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build freebsd,386 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (r int, w int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ r = int(r0) -+ w = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { -+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fadvise(fd int, offset int64, length int64, advice int) (err error) { -+ _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, stat *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), uintptr(length>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdtablesize() (size int) { -+ r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) -+ size = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, signum syscall.Signal) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0) -+ newoffset = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setlogin(name string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, stat *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Undelete(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos), uintptr(pos>>32), 0, 0) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go -new file mode 100644 -index 0000000..55b0741 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go -@@ -0,0 +1,1617 @@ -+// mksyscall.pl -tags freebsd,amd64 syscall_bsd.go syscall_freebsd.go syscall_freebsd_amd64.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build freebsd,amd64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (r int, w int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ r = int(r0) -+ w = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { -+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fadvise(fd int, offset int64, length int64, advice int) (err error) { -+ _, _, e1 := Syscall6(SYS_POSIX_FADVISE, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, stat *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdtablesize() (size int) { -+ r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) -+ size = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, signum syscall.Signal) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ newoffset = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setlogin(name string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, stat *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Undelete(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go -new file mode 100644 -index 0000000..0e9b42b ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go -@@ -0,0 +1,1617 @@ -+// mksyscall.pl -l32 -arm -tags freebsd,arm syscall_bsd.go syscall_freebsd.go syscall_freebsd_arm.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build freebsd,arm -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (r int, w int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ r = int(r0) -+ w = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FD, uintptr(fd), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p0))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { -+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FD, uintptr(fd), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(file) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_FILE, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_GET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_SET_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1)), uintptr(data), uintptr(nbytes), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attrname) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_EXTATTR_DELETE_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_EXTATTR_LIST_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(attrnamespace), uintptr(data), uintptr(nbytes), 0, 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fadvise(fd int, offset int64, length int64, advice int) (err error) { -+ _, _, e1 := Syscall9(SYS_POSIX_FADVISE, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, stat *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETDIRENTRIES, uintptr(fd), uintptr(_p0), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdtablesize() (size int) { -+ r0, _, _ := Syscall(SYS_GETDTABLESIZE, 0, 0, 0) -+ size = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, signum syscall.Signal) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) -+ newoffset = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setlogin(name string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, stat *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Undelete(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNDELETE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go -new file mode 100644 -index 0000000..d4ec806 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go -@@ -0,0 +1,1649 @@ -+// mksyscall.pl -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,386 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe(p *[2]_C_int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fadvise(fd int, offset int64, length int64, advice int) (err error) { -+ _, _, e1 := Syscall6(SYS_FADVISE64_64, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(length), uintptr(length>>32), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE64, uintptr(fd), uintptr(length), uintptr(length>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID32, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID32, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID32, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID32, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit() (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ioperm(from int, num int, on int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Iopl(level int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), uintptr(offset>>32), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), uintptr(length), uintptr(length>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getrlimit(resource int, rlim *rlimit32) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setrlimit(resource int, rlim *rlimit32) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Time(t *Time_t) (tt Time_t, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) -+ tt = Time_t(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go -new file mode 100644 -index 0000000..8b2e87d ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go -@@ -0,0 +1,1842 @@ -+// mksyscall.pl -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,amd64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fadvise(fd int, offset int64, length int64, advice int) (err error) { -+ _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit() (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ioperm(from int, num int, on int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Iopl(level int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (off int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ off = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe(p *[2]_C_int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go -new file mode 100644 -index 0000000..82d36a4 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go -@@ -0,0 +1,1751 @@ -+// mksyscall.pl -l32 -arm -tags linux,arm syscall_linux.go syscall_linux_arm.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,arm -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS32, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, flags int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(flags), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN32, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID32, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID32, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID32, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID32, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit() (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN32, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID32, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID32, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID32, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID32, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID32, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID32, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getrlimit(resource int, rlim *rlimit32) (err error) { -+ _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setrlimit(resource int, rlim *rlimit32) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go -new file mode 100644 -index 0000000..f6cc320 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go -@@ -0,0 +1,1725 @@ -+// mksyscall.pl -tags linux,arm64 syscall_linux.go syscall_linux_arm64.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,arm64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (off int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ off = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go -new file mode 100644 -index 0000000..f91afb4 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go -@@ -0,0 +1,1807 @@ -+// mksyscall.pl -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,mips -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off>>32), uintptr(off), uintptr(len>>32), uintptr(len)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(int64(r0)<<32 | int64(r1)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length>>32), uintptr(length), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset>>32), uintptr(offset)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset>>32), uintptr(offset)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(int64(r0)<<32 | int64(r1)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall9(SYS_SYNC_FILE_RANGE, uintptr(fd), 0, uintptr(off>>32), uintptr(off), uintptr(n>>32), uintptr(n), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length>>32), uintptr(length), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit() (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ioperm(from int, num int, on int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Iopl(level int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Time(t *Time_t) (tt Time_t, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) -+ tt = Time_t(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getrlimit(resource int, rlim *rlimit32) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setrlimit(resource int, rlim *rlimit32) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go -new file mode 100644 -index 0000000..657d11e ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go -@@ -0,0 +1,1791 @@ -+// mksyscall.pl -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,mips64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (off int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ off = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fstat(fd int, st *stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(st)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func lstat(path string, st *stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func stat(path string, st *stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go -new file mode 100644 -index 0000000..31ff177 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go -@@ -0,0 +1,1791 @@ -+// mksyscall.pl -tags linux,mips64le syscall_linux.go syscall_linux_mips64x.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,mips64le -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (off int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ off = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fstat(fd int, st *stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(st)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func lstat(path string, st *stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func stat(path string, st *stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(st)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go -new file mode 100644 -index 0000000..797e633 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go -@@ -0,0 +1,1807 @@ -+// mksyscall.pl -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,mipsle -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FTRUNCATE64, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS__NEWSELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE64, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall9(SYS_SYNC_FILE_RANGE, uintptr(fd), 0, uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_TRUNCATE64, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit() (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ioperm(from int, num int, on int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Iopl(level int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Time(t *Time_t) (tt Time_t, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) -+ tt = Time_t(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT64, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT64, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap2(addr uintptr, length uintptr, prot int, flags int, fd int, pageOffset uintptr) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP2, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(pageOffset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getrlimit(resource int, rlim *rlimit32) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setrlimit(resource int, rlim *rlimit32) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go -new file mode 100644 -index 0000000..307dbb5 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go -@@ -0,0 +1,1853 @@ -+// mksyscall.pl -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,ppc64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit() (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ioperm(from int, num int, on int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Iopl(level int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (off int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ off = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Time(t *Time_t) (tt Time_t, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) -+ tt = Time_t(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe(p *[2]_C_int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go -new file mode 100644 -index 0000000..f458a63 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go -@@ -0,0 +1,1853 @@ -+// mksyscall.pl -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,ppc64le -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_UGETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit() (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ioperm(from int, num int, on int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPERM, uintptr(from), uintptr(num), uintptr(on)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Iopl(level int) (err error) { -+ _, _, e1 := Syscall(SYS_IOPL, uintptr(level), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (off int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ off = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Time(t *Time_t) (tt Time_t, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIME, uintptr(unsafe.Pointer(t)), 0, 0) -+ tt = Time_t(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe(p *[2]_C_int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go -new file mode 100644 -index 0000000..b1d5a9b ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go -@@ -0,0 +1,1633 @@ -+// mksyscall.pl -tags linux,s390x syscall_linux.go syscall_linux_s390x.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,s390x -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fadvise(fd int, offset int64, length int64, advice int) (err error) { -+ _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit() (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (off int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ off = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go -new file mode 100644 -index 0000000..ce3ec58 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go -@@ -0,0 +1,1822 @@ -+// mksyscall.pl -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build linux,sparc64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate(size int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE, uintptr(size), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := Syscall(SYS_USTAT, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_WAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit() (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pause() (err error) { -+ _, _, e1 := Syscall(SYS_PAUSE, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (off int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ off = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_SELECT, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe(p *[2]_C_int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func poll(fds *PollFd, nfds int, timeout int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go -new file mode 100644 -index 0000000..3182345 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go -@@ -0,0 +1,1299 @@ -+// mksyscall.pl -l32 -netbsd -tags netbsd,386 syscall_bsd.go syscall_netbsd.go syscall_netbsd_386.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build netbsd,386 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (fd1 int, fd2 int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ fd1 = int(r0) -+ fd2 = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, signum syscall.Signal) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) -+ newoffset = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go -new file mode 100644 -index 0000000..74ba818 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go -@@ -0,0 +1,1299 @@ -+// mksyscall.pl -netbsd -tags netbsd,amd64 syscall_bsd.go syscall_netbsd.go syscall_netbsd_amd64.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build netbsd,amd64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (fd1 int, fd2 int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ fd1 = int(r0) -+ fd2 = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, signum syscall.Signal) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) -+ newoffset = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go -new file mode 100644 -index 0000000..1f346e2 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go -@@ -0,0 +1,1299 @@ -+// mksyscall.pl -l32 -arm -tags netbsd,arm syscall_bsd.go syscall_netbsd.go syscall_netbsd_arm.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build netbsd,arm -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe() (fd1 int, fd2 int, err error) { -+ r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0) -+ fd1 = int(r0) -+ fd2 = int(r1) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, signum syscall.Signal) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) -+ newoffset = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go -new file mode 100644 -index 0000000..ca3e813 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go -@@ -0,0 +1,1357 @@ -+// mksyscall.pl -l32 -openbsd -tags openbsd,386 syscall_bsd.go syscall_openbsd.go syscall_openbsd_386.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build openbsd,386 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe(p *[2]_C_int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, stat *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, signum syscall.Signal) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), uintptr(offset>>32)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0) -+ newoffset = int64(int64(r1)<<32 | int64(r0)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setlogin(name string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, stat *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length), uintptr(length>>32), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), uintptr(pos>>32), 0) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go -new file mode 100644 -index 0000000..bf63d55 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go -@@ -0,0 +1,1357 @@ -+// mksyscall.pl -openbsd -tags openbsd,amd64 syscall_bsd.go syscall_openbsd.go syscall_openbsd_amd64.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build openbsd,amd64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(s), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kevent(kq int, change unsafe.Pointer, nchange int, event unsafe.Pointer, nevent int, timeout *Timespec) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEVENT, uintptr(kq), uintptr(change), uintptr(nchange), uintptr(event), uintptr(nevent), uintptr(unsafe.Pointer(timeout))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) { -+ var _p0 unsafe.Pointer -+ if len(mib) > 0 { -+ _p0 = unsafe.Pointer(&mib[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS___SYSCTL, uintptr(_p0), uintptr(len(mib)), uintptr(unsafe.Pointer(old)), uintptr(unsafe.Pointer(oldlen)), uintptr(unsafe.Pointer(new)), uintptr(newlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimes(path string, timeval *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UTIMES, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func futimes(fd int, timeval *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMES, uintptr(fd), uintptr(unsafe.Pointer(timeval)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe(p *[2]_C_int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE, uintptr(unsafe.Pointer(p)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCESS, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_ADJTIME, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chflags(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHFLAGS, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHMOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(fd), 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup2(from int, to int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP2, uintptr(from), uintptr(to), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchflags(fd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHFLAGS, uintptr(fd), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FPATHCONF, uintptr(fd), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, stat *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), 0, uintptr(length)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgrp() (pgrp int) { -+ r0, _, _ := RawSyscall(SYS_GETPGRP, 0, 0, 0) -+ pgrp = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0, _, _ := RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Issetugid() (tainted bool) { -+ r0, _, _ := Syscall(SYS_ISSETUGID, 0, 0, 0) -+ tainted = bool(r0 != 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, signum syscall.Signal) (err error) { -+ _, _, e1 := Syscall(SYS_KILL, uintptr(pid), uintptr(signum), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kqueue() (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_KQUEUE, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LCHOWN, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(backlog), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LSTAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIR, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKFIFO, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKNOD, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_OPEN, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_PATHCONF, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE, uintptr(fd), uintptr(_p0), uintptr(len(p)), 0, uintptr(offset), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READLINK, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RENAME, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Revoke(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REVOKE, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_RMDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, _, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(whence), 0, 0) -+ newoffset = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) { -+ _, _, e1 := Syscall6(SYS_SELECT, uintptr(n), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEGID, uintptr(egid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETEUID, uintptr(euid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setlogin(name string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SETLOGIN, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tp *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STAT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, stat *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINK, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() (err error) { -+ _, _, e1 := Syscall(SYS_SYNC, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), 0, uintptr(length)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(newmask int) (oldmask int) { -+ r0, _, _ := Syscall(SYS_UMASK, uintptr(newmask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINK, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNMOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := Syscall9(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), 0, uintptr(pos), 0, 0) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, buf *byte, nbuf int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(buf)), uintptr(nbuf)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go -new file mode 100644 -index 0000000..bdf140b ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go -@@ -0,0 +1,1562 @@ -+// mksyscall_solaris.pl -tags solaris,amd64 syscall_solaris.go syscall_solaris_amd64.go -+// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -+ -+// +build solaris,amd64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+//go:cgo_import_dynamic libc_pipe pipe "libc.so" -+//go:cgo_import_dynamic libc_getsockname getsockname "libsocket.so" -+//go:cgo_import_dynamic libc_getcwd getcwd "libc.so" -+//go:cgo_import_dynamic libc_getgroups getgroups "libc.so" -+//go:cgo_import_dynamic libc_setgroups setgroups "libc.so" -+//go:cgo_import_dynamic libc_wait4 wait4 "libc.so" -+//go:cgo_import_dynamic libc_gethostname gethostname "libc.so" -+//go:cgo_import_dynamic libc_utimes utimes "libc.so" -+//go:cgo_import_dynamic libc_utimensat utimensat "libc.so" -+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so" -+//go:cgo_import_dynamic libc_futimesat futimesat "libc.so" -+//go:cgo_import_dynamic libc_accept accept "libsocket.so" -+//go:cgo_import_dynamic libc_recvmsg recvmsg "libsocket.so" -+//go:cgo_import_dynamic libc_sendmsg sendmsg "libsocket.so" -+//go:cgo_import_dynamic libc_acct acct "libc.so" -+//go:cgo_import_dynamic libc_ioctl ioctl "libc.so" -+//go:cgo_import_dynamic libc_access access "libc.so" -+//go:cgo_import_dynamic libc_adjtime adjtime "libc.so" -+//go:cgo_import_dynamic libc_chdir chdir "libc.so" -+//go:cgo_import_dynamic libc_chmod chmod "libc.so" -+//go:cgo_import_dynamic libc_chown chown "libc.so" -+//go:cgo_import_dynamic libc_chroot chroot "libc.so" -+//go:cgo_import_dynamic libc_close close "libc.so" -+//go:cgo_import_dynamic libc_creat creat "libc.so" -+//go:cgo_import_dynamic libc_dup dup "libc.so" -+//go:cgo_import_dynamic libc_dup2 dup2 "libc.so" -+//go:cgo_import_dynamic libc_exit exit "libc.so" -+//go:cgo_import_dynamic libc_fchdir fchdir "libc.so" -+//go:cgo_import_dynamic libc_fchmod fchmod "libc.so" -+//go:cgo_import_dynamic libc_fchmodat fchmodat "libc.so" -+//go:cgo_import_dynamic libc_fchown fchown "libc.so" -+//go:cgo_import_dynamic libc_fchownat fchownat "libc.so" -+//go:cgo_import_dynamic libc_fdatasync fdatasync "libc.so" -+//go:cgo_import_dynamic libc_fpathconf fpathconf "libc.so" -+//go:cgo_import_dynamic libc_fstat fstat "libc.so" -+//go:cgo_import_dynamic libc_getdents getdents "libc.so" -+//go:cgo_import_dynamic libc_getgid getgid "libc.so" -+//go:cgo_import_dynamic libc_getpid getpid "libc.so" -+//go:cgo_import_dynamic libc_getpgid getpgid "libc.so" -+//go:cgo_import_dynamic libc_getpgrp getpgrp "libc.so" -+//go:cgo_import_dynamic libc_geteuid geteuid "libc.so" -+//go:cgo_import_dynamic libc_getegid getegid "libc.so" -+//go:cgo_import_dynamic libc_getppid getppid "libc.so" -+//go:cgo_import_dynamic libc_getpriority getpriority "libc.so" -+//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.so" -+//go:cgo_import_dynamic libc_getrusage getrusage "libc.so" -+//go:cgo_import_dynamic libc_gettimeofday gettimeofday "libc.so" -+//go:cgo_import_dynamic libc_getuid getuid "libc.so" -+//go:cgo_import_dynamic libc_kill kill "libc.so" -+//go:cgo_import_dynamic libc_lchown lchown "libc.so" -+//go:cgo_import_dynamic libc_link link "libc.so" -+//go:cgo_import_dynamic libc_listen listen "libsocket.so" -+//go:cgo_import_dynamic libc_lstat lstat "libc.so" -+//go:cgo_import_dynamic libc_madvise madvise "libc.so" -+//go:cgo_import_dynamic libc_mkdir mkdir "libc.so" -+//go:cgo_import_dynamic libc_mkdirat mkdirat "libc.so" -+//go:cgo_import_dynamic libc_mkfifo mkfifo "libc.so" -+//go:cgo_import_dynamic libc_mkfifoat mkfifoat "libc.so" -+//go:cgo_import_dynamic libc_mknod mknod "libc.so" -+//go:cgo_import_dynamic libc_mknodat mknodat "libc.so" -+//go:cgo_import_dynamic libc_mlock mlock "libc.so" -+//go:cgo_import_dynamic libc_mlockall mlockall "libc.so" -+//go:cgo_import_dynamic libc_mprotect mprotect "libc.so" -+//go:cgo_import_dynamic libc_munlock munlock "libc.so" -+//go:cgo_import_dynamic libc_munlockall munlockall "libc.so" -+//go:cgo_import_dynamic libc_nanosleep nanosleep "libc.so" -+//go:cgo_import_dynamic libc_open open "libc.so" -+//go:cgo_import_dynamic libc_openat openat "libc.so" -+//go:cgo_import_dynamic libc_pathconf pathconf "libc.so" -+//go:cgo_import_dynamic libc_pause pause "libc.so" -+//go:cgo_import_dynamic libc_pread pread "libc.so" -+//go:cgo_import_dynamic libc_pwrite pwrite "libc.so" -+//go:cgo_import_dynamic libc_read read "libc.so" -+//go:cgo_import_dynamic libc_readlink readlink "libc.so" -+//go:cgo_import_dynamic libc_rename rename "libc.so" -+//go:cgo_import_dynamic libc_renameat renameat "libc.so" -+//go:cgo_import_dynamic libc_rmdir rmdir "libc.so" -+//go:cgo_import_dynamic libc_lseek lseek "libc.so" -+//go:cgo_import_dynamic libc_setegid setegid "libc.so" -+//go:cgo_import_dynamic libc_seteuid seteuid "libc.so" -+//go:cgo_import_dynamic libc_setgid setgid "libc.so" -+//go:cgo_import_dynamic libc_sethostname sethostname "libc.so" -+//go:cgo_import_dynamic libc_setpgid setpgid "libc.so" -+//go:cgo_import_dynamic libc_setpriority setpriority "libc.so" -+//go:cgo_import_dynamic libc_setregid setregid "libc.so" -+//go:cgo_import_dynamic libc_setreuid setreuid "libc.so" -+//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.so" -+//go:cgo_import_dynamic libc_setsid setsid "libc.so" -+//go:cgo_import_dynamic libc_setuid setuid "libc.so" -+//go:cgo_import_dynamic libc_shutdown shutdown "libsocket.so" -+//go:cgo_import_dynamic libc_stat stat "libc.so" -+//go:cgo_import_dynamic libc_symlink symlink "libc.so" -+//go:cgo_import_dynamic libc_sync sync "libc.so" -+//go:cgo_import_dynamic libc_times times "libc.so" -+//go:cgo_import_dynamic libc_truncate truncate "libc.so" -+//go:cgo_import_dynamic libc_fsync fsync "libc.so" -+//go:cgo_import_dynamic libc_ftruncate ftruncate "libc.so" -+//go:cgo_import_dynamic libc_umask umask "libc.so" -+//go:cgo_import_dynamic libc_uname uname "libc.so" -+//go:cgo_import_dynamic libc_umount umount "libc.so" -+//go:cgo_import_dynamic libc_unlink unlink "libc.so" -+//go:cgo_import_dynamic libc_unlinkat unlinkat "libc.so" -+//go:cgo_import_dynamic libc_ustat ustat "libc.so" -+//go:cgo_import_dynamic libc_utime utime "libc.so" -+//go:cgo_import_dynamic libc_bind bind "libsocket.so" -+//go:cgo_import_dynamic libc_connect connect "libsocket.so" -+//go:cgo_import_dynamic libc_mmap mmap "libc.so" -+//go:cgo_import_dynamic libc_munmap munmap "libc.so" -+//go:cgo_import_dynamic libc_sendto sendto "libsocket.so" -+//go:cgo_import_dynamic libc_socket socket "libsocket.so" -+//go:cgo_import_dynamic libc_socketpair socketpair "libsocket.so" -+//go:cgo_import_dynamic libc_write write "libc.so" -+//go:cgo_import_dynamic libc_getsockopt getsockopt "libsocket.so" -+//go:cgo_import_dynamic libc_getpeername getpeername "libsocket.so" -+//go:cgo_import_dynamic libc_setsockopt setsockopt "libsocket.so" -+//go:cgo_import_dynamic libc_recvfrom recvfrom "libsocket.so" -+//go:cgo_import_dynamic libc_sysconf sysconf "libc.so" -+ -+//go:linkname procpipe libc_pipe -+//go:linkname procgetsockname libc_getsockname -+//go:linkname procGetcwd libc_getcwd -+//go:linkname procgetgroups libc_getgroups -+//go:linkname procsetgroups libc_setgroups -+//go:linkname procwait4 libc_wait4 -+//go:linkname procgethostname libc_gethostname -+//go:linkname procutimes libc_utimes -+//go:linkname procutimensat libc_utimensat -+//go:linkname procfcntl libc_fcntl -+//go:linkname procfutimesat libc_futimesat -+//go:linkname procaccept libc_accept -+//go:linkname procrecvmsg libc_recvmsg -+//go:linkname procsendmsg libc_sendmsg -+//go:linkname procacct libc_acct -+//go:linkname procioctl libc_ioctl -+//go:linkname procAccess libc_access -+//go:linkname procAdjtime libc_adjtime -+//go:linkname procChdir libc_chdir -+//go:linkname procChmod libc_chmod -+//go:linkname procChown libc_chown -+//go:linkname procChroot libc_chroot -+//go:linkname procClose libc_close -+//go:linkname procCreat libc_creat -+//go:linkname procDup libc_dup -+//go:linkname procDup2 libc_dup2 -+//go:linkname procExit libc_exit -+//go:linkname procFchdir libc_fchdir -+//go:linkname procFchmod libc_fchmod -+//go:linkname procFchmodat libc_fchmodat -+//go:linkname procFchown libc_fchown -+//go:linkname procFchownat libc_fchownat -+//go:linkname procFdatasync libc_fdatasync -+//go:linkname procFpathconf libc_fpathconf -+//go:linkname procFstat libc_fstat -+//go:linkname procGetdents libc_getdents -+//go:linkname procGetgid libc_getgid -+//go:linkname procGetpid libc_getpid -+//go:linkname procGetpgid libc_getpgid -+//go:linkname procGetpgrp libc_getpgrp -+//go:linkname procGeteuid libc_geteuid -+//go:linkname procGetegid libc_getegid -+//go:linkname procGetppid libc_getppid -+//go:linkname procGetpriority libc_getpriority -+//go:linkname procGetrlimit libc_getrlimit -+//go:linkname procGetrusage libc_getrusage -+//go:linkname procGettimeofday libc_gettimeofday -+//go:linkname procGetuid libc_getuid -+//go:linkname procKill libc_kill -+//go:linkname procLchown libc_lchown -+//go:linkname procLink libc_link -+//go:linkname proclisten libc_listen -+//go:linkname procLstat libc_lstat -+//go:linkname procMadvise libc_madvise -+//go:linkname procMkdir libc_mkdir -+//go:linkname procMkdirat libc_mkdirat -+//go:linkname procMkfifo libc_mkfifo -+//go:linkname procMkfifoat libc_mkfifoat -+//go:linkname procMknod libc_mknod -+//go:linkname procMknodat libc_mknodat -+//go:linkname procMlock libc_mlock -+//go:linkname procMlockall libc_mlockall -+//go:linkname procMprotect libc_mprotect -+//go:linkname procMunlock libc_munlock -+//go:linkname procMunlockall libc_munlockall -+//go:linkname procNanosleep libc_nanosleep -+//go:linkname procOpen libc_open -+//go:linkname procOpenat libc_openat -+//go:linkname procPathconf libc_pathconf -+//go:linkname procPause libc_pause -+//go:linkname procPread libc_pread -+//go:linkname procPwrite libc_pwrite -+//go:linkname procread libc_read -+//go:linkname procReadlink libc_readlink -+//go:linkname procRename libc_rename -+//go:linkname procRenameat libc_renameat -+//go:linkname procRmdir libc_rmdir -+//go:linkname proclseek libc_lseek -+//go:linkname procSetegid libc_setegid -+//go:linkname procSeteuid libc_seteuid -+//go:linkname procSetgid libc_setgid -+//go:linkname procSethostname libc_sethostname -+//go:linkname procSetpgid libc_setpgid -+//go:linkname procSetpriority libc_setpriority -+//go:linkname procSetregid libc_setregid -+//go:linkname procSetreuid libc_setreuid -+//go:linkname procSetrlimit libc_setrlimit -+//go:linkname procSetsid libc_setsid -+//go:linkname procSetuid libc_setuid -+//go:linkname procshutdown libc_shutdown -+//go:linkname procStat libc_stat -+//go:linkname procSymlink libc_symlink -+//go:linkname procSync libc_sync -+//go:linkname procTimes libc_times -+//go:linkname procTruncate libc_truncate -+//go:linkname procFsync libc_fsync -+//go:linkname procFtruncate libc_ftruncate -+//go:linkname procUmask libc_umask -+//go:linkname procUname libc_uname -+//go:linkname procumount libc_umount -+//go:linkname procUnlink libc_unlink -+//go:linkname procUnlinkat libc_unlinkat -+//go:linkname procUstat libc_ustat -+//go:linkname procUtime libc_utime -+//go:linkname procbind libc_bind -+//go:linkname procconnect libc_connect -+//go:linkname procmmap libc_mmap -+//go:linkname procmunmap libc_munmap -+//go:linkname procsendto libc_sendto -+//go:linkname procsocket libc_socket -+//go:linkname procsocketpair libc_socketpair -+//go:linkname procwrite libc_write -+//go:linkname procgetsockopt libc_getsockopt -+//go:linkname procgetpeername libc_getpeername -+//go:linkname procsetsockopt libc_setsockopt -+//go:linkname procrecvfrom libc_recvfrom -+//go:linkname procsysconf libc_sysconf -+ -+var ( -+ procpipe, -+ procgetsockname, -+ procGetcwd, -+ procgetgroups, -+ procsetgroups, -+ procwait4, -+ procgethostname, -+ procutimes, -+ procutimensat, -+ procfcntl, -+ procfutimesat, -+ procaccept, -+ procrecvmsg, -+ procsendmsg, -+ procacct, -+ procioctl, -+ procAccess, -+ procAdjtime, -+ procChdir, -+ procChmod, -+ procChown, -+ procChroot, -+ procClose, -+ procCreat, -+ procDup, -+ procDup2, -+ procExit, -+ procFchdir, -+ procFchmod, -+ procFchmodat, -+ procFchown, -+ procFchownat, -+ procFdatasync, -+ procFpathconf, -+ procFstat, -+ procGetdents, -+ procGetgid, -+ procGetpid, -+ procGetpgid, -+ procGetpgrp, -+ procGeteuid, -+ procGetegid, -+ procGetppid, -+ procGetpriority, -+ procGetrlimit, -+ procGetrusage, -+ procGettimeofday, -+ procGetuid, -+ procKill, -+ procLchown, -+ procLink, -+ proclisten, -+ procLstat, -+ procMadvise, -+ procMkdir, -+ procMkdirat, -+ procMkfifo, -+ procMkfifoat, -+ procMknod, -+ procMknodat, -+ procMlock, -+ procMlockall, -+ procMprotect, -+ procMunlock, -+ procMunlockall, -+ procNanosleep, -+ procOpen, -+ procOpenat, -+ procPathconf, -+ procPause, -+ procPread, -+ procPwrite, -+ procread, -+ procReadlink, -+ procRename, -+ procRenameat, -+ procRmdir, -+ proclseek, -+ procSetegid, -+ procSeteuid, -+ procSetgid, -+ procSethostname, -+ procSetpgid, -+ procSetpriority, -+ procSetregid, -+ procSetreuid, -+ procSetrlimit, -+ procSetsid, -+ procSetuid, -+ procshutdown, -+ procStat, -+ procSymlink, -+ procSync, -+ procTimes, -+ procTruncate, -+ procFsync, -+ procFtruncate, -+ procUmask, -+ procUname, -+ procumount, -+ procUnlink, -+ procUnlinkat, -+ procUstat, -+ procUtime, -+ procbind, -+ procconnect, -+ procmmap, -+ procmunmap, -+ procsendto, -+ procsocket, -+ procsocketpair, -+ procwrite, -+ procgetsockopt, -+ procgetpeername, -+ procsetsockopt, -+ procrecvfrom, -+ procsysconf syscallFunc -+) -+ -+func pipe(p *[2]_C_int) (n int, err error) { -+ r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procpipe)), 1, uintptr(unsafe.Pointer(p)), 0, 0, 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetsockname)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 *byte -+ if len(buf) > 0 { -+ _p0 = &buf[0] -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetcwd)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), 0, 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func getgroups(ngid int, gid *_Gid_t) (n int, err error) { -+ r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func setgroups(ngid int, gid *_Gid_t) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procsetgroups)), 2, uintptr(ngid), uintptr(unsafe.Pointer(gid)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func wait4(pid int32, statusp *_C_int, options int, rusage *Rusage) (wpid int32, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwait4)), 4, uintptr(pid), uintptr(unsafe.Pointer(statusp)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int32(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func gethostname(buf []byte) (n int, err error) { -+ var _p0 *byte -+ if len(buf) > 0 { -+ _p0 = &buf[0] -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgethostname)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), 0, 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func utimes(path string, times *[2]Timeval) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimes)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func utimensat(fd int, path string, times *[2]Timespec, flag int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procutimensat)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flag), 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfcntl)), 3, uintptr(fd), uintptr(cmd), uintptr(arg), 0, 0, 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func futimesat(fildes int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procfutimesat)), 3, uintptr(fildes), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times)), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procaccept)), 3, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procrecvmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsendmsg)), 3, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags), 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func acct(path *byte) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procacct)), 1, uintptr(unsafe.Pointer(path)), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func ioctl(fd int, req int, arg uintptr) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Access(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAccess)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Adjtime(delta *Timeval, olddelta *Timeval) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procAdjtime)), 2, uintptr(unsafe.Pointer(delta)), uintptr(unsafe.Pointer(olddelta)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Chmod(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChmod)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Chown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procChroot)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Close(fd int) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procClose)), 1, uintptr(fd), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Creat(path string, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procCreat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Dup(fd int) (nfd int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup)), 1, uintptr(fd), 0, 0, 0, 0, 0) -+ nfd = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procDup2)), 2, uintptr(oldfd), uintptr(newfd), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Exit(code int) { -+ sysvicall6(uintptr(unsafe.Pointer(&procExit)), 1, uintptr(code), 0, 0, 0, 0, 0) -+ return -+} -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchdir)), 1, uintptr(fd), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmod)), 2, uintptr(fd), uintptr(mode), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchmodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchown)), 3, uintptr(fd), uintptr(uid), uintptr(gid), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFchownat)), 5, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFdatasync)), 1, uintptr(fd), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Fpathconf(fd int, name int) (val int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFpathconf)), 2, uintptr(fd), uintptr(name), 0, 0, 0, 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFstat)), 2, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Getdents(fd int, buf []byte, basep *uintptr) (n int, err error) { -+ var _p0 *byte -+ if len(buf) > 0 { -+ _p0 = &buf[0] -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetdents)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(unsafe.Pointer(basep)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Getgid() (gid int) { -+ r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetgid)), 0, 0, 0, 0, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+func Getpid() (pid int) { -+ r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpid)), 0, 0, 0, 0, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Getpgrp() (pgid int, err error) { -+ r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetpgrp)), 0, 0, 0, 0, 0, 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Geteuid() (euid int) { -+ r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGeteuid)), 0, 0, 0, 0, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+func Getegid() (egid int) { -+ r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetegid)), 0, 0, 0, 0, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+func Getppid() (ppid int) { -+ r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procGetppid)), 0, 0, 0, 0, 0, 0, 0) -+ ppid = int(r0) -+ return -+} -+ -+func Getpriority(which int, who int) (n int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procGetpriority)), 2, uintptr(which), uintptr(who), 0, 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Getrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGetrusage)), 2, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procGettimeofday)), 1, uintptr(unsafe.Pointer(tv)), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Getuid() (uid int) { -+ r0, _, _ := rawSysvicall6(uintptr(unsafe.Pointer(&procGetuid)), 0, 0, 0, 0, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+func Kill(pid int, signum syscall.Signal) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procKill)), 2, uintptr(pid), uintptr(signum), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLchown)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Link(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Listen(s int, backlog int) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proclisten)), 2, uintptr(s), uintptr(backlog), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procLstat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 *byte -+ if len(b) > 0 { -+ _p0 = &b[0] -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMadvise)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(advice), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Mkdir(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdir)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkdirat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Mkfifo(path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifo)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Mkfifoat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMkfifoat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Mknod(path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknod)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMknodat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Mlock(b []byte) (err error) { -+ var _p0 *byte -+ if len(b) > 0 { -+ _p0 = &b[0] -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlock)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMlockall)), 1, uintptr(flags), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 *byte -+ if len(b) > 0 { -+ _p0 = &b[0] -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMprotect)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), uintptr(prot), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Munlock(b []byte) (err error) { -+ var _p0 *byte -+ if len(b) > 0 { -+ _p0 = &b[0] -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlock)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(b)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Munlockall() (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procMunlockall)), 0, 0, 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procNanosleep)), 2, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Open(path string, mode int, perm uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpen)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(perm), 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procOpenat)), 4, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Pathconf(path string, name int) (val int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPathconf)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(name), 0, 0, 0, 0) -+ val = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Pause() (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPause)), 0, 0, 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 *byte -+ if len(p) > 0 { -+ _p0 = &p[0] -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPread)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 *byte -+ if len(p) > 0 { -+ _p0 = &p[0] -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procPwrite)), 4, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 *byte -+ if len(p) > 0 { -+ _p0 = &p[0] -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procread)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Readlink(path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ if len(buf) > 0 { -+ _p1 = &buf[0] -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procReadlink)), 3, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(len(buf)), 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Rename(from string, to string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(from) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(to) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRename)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRenameat)), 4, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Rmdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procRmdir)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&proclseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0) -+ newoffset = int64(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Setegid(egid int) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetegid)), 1, uintptr(egid), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Seteuid(euid int) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSeteuid)), 1, uintptr(euid), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Setgid(gid int) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetgid)), 1, uintptr(gid), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 *byte -+ if len(p) > 0 { -+ _p0 = &p[0] -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSethostname)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetpgid)), 2, uintptr(pid), uintptr(pgid), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSetpriority)), 3, uintptr(which), uintptr(who), uintptr(prio), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetregid)), 2, uintptr(rgid), uintptr(egid), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetreuid)), 2, uintptr(ruid), uintptr(euid), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Setrlimit(which int, lim *Rlimit) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetrlimit)), 2, uintptr(which), uintptr(unsafe.Pointer(lim)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetsid)), 0, 0, 0, 0, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Setuid(uid int) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procSetuid)), 1, uintptr(uid), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Shutdown(s int, how int) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procshutdown)), 2, uintptr(s), uintptr(how), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procStat)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Symlink(path string, link string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(link) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSymlink)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Sync() (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSync)), 0, 0, 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procTimes)), 1, uintptr(unsafe.Pointer(tms)), 0, 0, 0, 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procTruncate)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFsync)), 1, uintptr(fd), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procFtruncate)), 2, uintptr(fd), uintptr(length), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := sysvicall6(uintptr(unsafe.Pointer(&procUmask)), 1, uintptr(mask), 0, 0, 0, 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procUname)), 1, uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procumount)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Unlink(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlink)), 1, uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlinkat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUstat)), 2, uintptr(dev), uintptr(unsafe.Pointer(ubuf)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func Utime(path string, buf *Utimbuf) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUtime)), 2, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procbind)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procconnect)), 3, uintptr(s), uintptr(addr), uintptr(addrlen), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmmap)), 6, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flag), uintptr(fd), uintptr(pos)) -+ ret = uintptr(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procmunmap)), 2, uintptr(addr), uintptr(length), 0, 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 *byte -+ if len(buf) > 0 { -+ _p0 = &buf[0] -+ } -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsendto)), 6, uintptr(s), uintptr(unsafe.Pointer(_p0)), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsocket)), 3, uintptr(domain), uintptr(typ), uintptr(proto), 0, 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procsocketpair)), 4, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 *byte -+ if len(p) > 0 { -+ _p0 = &p[0] -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procwrite)), 3, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), 0, 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procgetpeername)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsetsockopt)), 5, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 *byte -+ if len(p) > 0 { -+ _p0 = &p[0] -+ } -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procrecvfrom)), 6, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -+ -+func sysconf(name int) (n int64, err error) { -+ r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procsysconf)), 1, uintptr(name), 0, 0, 0, 0, 0) -+ n = int64(r0) -+ if e1 != 0 { -+ err = e1 -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go -new file mode 100644 -index 0000000..83bb935 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd.go -@@ -0,0 +1,270 @@ -+// mksysctl_openbsd.pl -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+package unix -+ -+type mibentry struct { -+ ctlname string -+ ctloid []_C_int -+} -+ -+var sysctlMib = []mibentry{ -+ {"ddb.console", []_C_int{9, 6}}, -+ {"ddb.log", []_C_int{9, 7}}, -+ {"ddb.max_line", []_C_int{9, 3}}, -+ {"ddb.max_width", []_C_int{9, 2}}, -+ {"ddb.panic", []_C_int{9, 5}}, -+ {"ddb.radix", []_C_int{9, 1}}, -+ {"ddb.tab_stop_width", []_C_int{9, 4}}, -+ {"ddb.trigger", []_C_int{9, 8}}, -+ {"fs.posix.setuid", []_C_int{3, 1, 1}}, -+ {"hw.allowpowerdown", []_C_int{6, 22}}, -+ {"hw.byteorder", []_C_int{6, 4}}, -+ {"hw.cpuspeed", []_C_int{6, 12}}, -+ {"hw.diskcount", []_C_int{6, 10}}, -+ {"hw.disknames", []_C_int{6, 8}}, -+ {"hw.diskstats", []_C_int{6, 9}}, -+ {"hw.machine", []_C_int{6, 1}}, -+ {"hw.model", []_C_int{6, 2}}, -+ {"hw.ncpu", []_C_int{6, 3}}, -+ {"hw.ncpufound", []_C_int{6, 21}}, -+ {"hw.pagesize", []_C_int{6, 7}}, -+ {"hw.physmem", []_C_int{6, 19}}, -+ {"hw.product", []_C_int{6, 15}}, -+ {"hw.serialno", []_C_int{6, 17}}, -+ {"hw.setperf", []_C_int{6, 13}}, -+ {"hw.usermem", []_C_int{6, 20}}, -+ {"hw.uuid", []_C_int{6, 18}}, -+ {"hw.vendor", []_C_int{6, 14}}, -+ {"hw.version", []_C_int{6, 16}}, -+ {"kern.arandom", []_C_int{1, 37}}, -+ {"kern.argmax", []_C_int{1, 8}}, -+ {"kern.boottime", []_C_int{1, 21}}, -+ {"kern.bufcachepercent", []_C_int{1, 72}}, -+ {"kern.ccpu", []_C_int{1, 45}}, -+ {"kern.clockrate", []_C_int{1, 12}}, -+ {"kern.consdev", []_C_int{1, 75}}, -+ {"kern.cp_time", []_C_int{1, 40}}, -+ {"kern.cp_time2", []_C_int{1, 71}}, -+ {"kern.cryptodevallowsoft", []_C_int{1, 53}}, -+ {"kern.domainname", []_C_int{1, 22}}, -+ {"kern.file", []_C_int{1, 73}}, -+ {"kern.forkstat", []_C_int{1, 42}}, -+ {"kern.fscale", []_C_int{1, 46}}, -+ {"kern.fsync", []_C_int{1, 33}}, -+ {"kern.hostid", []_C_int{1, 11}}, -+ {"kern.hostname", []_C_int{1, 10}}, -+ {"kern.intrcnt.nintrcnt", []_C_int{1, 63, 1}}, -+ {"kern.job_control", []_C_int{1, 19}}, -+ {"kern.malloc.buckets", []_C_int{1, 39, 1}}, -+ {"kern.malloc.kmemnames", []_C_int{1, 39, 3}}, -+ {"kern.maxclusters", []_C_int{1, 67}}, -+ {"kern.maxfiles", []_C_int{1, 7}}, -+ {"kern.maxlocksperuid", []_C_int{1, 70}}, -+ {"kern.maxpartitions", []_C_int{1, 23}}, -+ {"kern.maxproc", []_C_int{1, 6}}, -+ {"kern.maxthread", []_C_int{1, 25}}, -+ {"kern.maxvnodes", []_C_int{1, 5}}, -+ {"kern.mbstat", []_C_int{1, 59}}, -+ {"kern.msgbuf", []_C_int{1, 48}}, -+ {"kern.msgbufsize", []_C_int{1, 38}}, -+ {"kern.nchstats", []_C_int{1, 41}}, -+ {"kern.netlivelocks", []_C_int{1, 76}}, -+ {"kern.nfiles", []_C_int{1, 56}}, -+ {"kern.ngroups", []_C_int{1, 18}}, -+ {"kern.nosuidcoredump", []_C_int{1, 32}}, -+ {"kern.nprocs", []_C_int{1, 47}}, -+ {"kern.nselcoll", []_C_int{1, 43}}, -+ {"kern.nthreads", []_C_int{1, 26}}, -+ {"kern.numvnodes", []_C_int{1, 58}}, -+ {"kern.osrelease", []_C_int{1, 2}}, -+ {"kern.osrevision", []_C_int{1, 3}}, -+ {"kern.ostype", []_C_int{1, 1}}, -+ {"kern.osversion", []_C_int{1, 27}}, -+ {"kern.pool_debug", []_C_int{1, 77}}, -+ {"kern.posix1version", []_C_int{1, 17}}, -+ {"kern.proc", []_C_int{1, 66}}, -+ {"kern.random", []_C_int{1, 31}}, -+ {"kern.rawpartition", []_C_int{1, 24}}, -+ {"kern.saved_ids", []_C_int{1, 20}}, -+ {"kern.securelevel", []_C_int{1, 9}}, -+ {"kern.seminfo", []_C_int{1, 61}}, -+ {"kern.shminfo", []_C_int{1, 62}}, -+ {"kern.somaxconn", []_C_int{1, 28}}, -+ {"kern.sominconn", []_C_int{1, 29}}, -+ {"kern.splassert", []_C_int{1, 54}}, -+ {"kern.stackgap_random", []_C_int{1, 50}}, -+ {"kern.sysvipc_info", []_C_int{1, 51}}, -+ {"kern.sysvmsg", []_C_int{1, 34}}, -+ {"kern.sysvsem", []_C_int{1, 35}}, -+ {"kern.sysvshm", []_C_int{1, 36}}, -+ {"kern.timecounter.choice", []_C_int{1, 69, 4}}, -+ {"kern.timecounter.hardware", []_C_int{1, 69, 3}}, -+ {"kern.timecounter.tick", []_C_int{1, 69, 1}}, -+ {"kern.timecounter.timestepwarnings", []_C_int{1, 69, 2}}, -+ {"kern.tty.maxptys", []_C_int{1, 44, 6}}, -+ {"kern.tty.nptys", []_C_int{1, 44, 7}}, -+ {"kern.tty.tk_cancc", []_C_int{1, 44, 4}}, -+ {"kern.tty.tk_nin", []_C_int{1, 44, 1}}, -+ {"kern.tty.tk_nout", []_C_int{1, 44, 2}}, -+ {"kern.tty.tk_rawcc", []_C_int{1, 44, 3}}, -+ {"kern.tty.ttyinfo", []_C_int{1, 44, 5}}, -+ {"kern.ttycount", []_C_int{1, 57}}, -+ {"kern.userasymcrypto", []_C_int{1, 60}}, -+ {"kern.usercrypto", []_C_int{1, 52}}, -+ {"kern.usermount", []_C_int{1, 30}}, -+ {"kern.version", []_C_int{1, 4}}, -+ {"kern.vnode", []_C_int{1, 13}}, -+ {"kern.watchdog.auto", []_C_int{1, 64, 2}}, -+ {"kern.watchdog.period", []_C_int{1, 64, 1}}, -+ {"net.bpf.bufsize", []_C_int{4, 31, 1}}, -+ {"net.bpf.maxbufsize", []_C_int{4, 31, 2}}, -+ {"net.inet.ah.enable", []_C_int{4, 2, 51, 1}}, -+ {"net.inet.ah.stats", []_C_int{4, 2, 51, 2}}, -+ {"net.inet.carp.allow", []_C_int{4, 2, 112, 1}}, -+ {"net.inet.carp.log", []_C_int{4, 2, 112, 3}}, -+ {"net.inet.carp.preempt", []_C_int{4, 2, 112, 2}}, -+ {"net.inet.carp.stats", []_C_int{4, 2, 112, 4}}, -+ {"net.inet.divert.recvspace", []_C_int{4, 2, 258, 1}}, -+ {"net.inet.divert.sendspace", []_C_int{4, 2, 258, 2}}, -+ {"net.inet.divert.stats", []_C_int{4, 2, 258, 3}}, -+ {"net.inet.esp.enable", []_C_int{4, 2, 50, 1}}, -+ {"net.inet.esp.stats", []_C_int{4, 2, 50, 4}}, -+ {"net.inet.esp.udpencap", []_C_int{4, 2, 50, 2}}, -+ {"net.inet.esp.udpencap_port", []_C_int{4, 2, 50, 3}}, -+ {"net.inet.etherip.allow", []_C_int{4, 2, 97, 1}}, -+ {"net.inet.etherip.stats", []_C_int{4, 2, 97, 2}}, -+ {"net.inet.gre.allow", []_C_int{4, 2, 47, 1}}, -+ {"net.inet.gre.wccp", []_C_int{4, 2, 47, 2}}, -+ {"net.inet.icmp.bmcastecho", []_C_int{4, 2, 1, 2}}, -+ {"net.inet.icmp.errppslimit", []_C_int{4, 2, 1, 3}}, -+ {"net.inet.icmp.maskrepl", []_C_int{4, 2, 1, 1}}, -+ {"net.inet.icmp.rediraccept", []_C_int{4, 2, 1, 4}}, -+ {"net.inet.icmp.redirtimeout", []_C_int{4, 2, 1, 5}}, -+ {"net.inet.icmp.stats", []_C_int{4, 2, 1, 7}}, -+ {"net.inet.icmp.tstamprepl", []_C_int{4, 2, 1, 6}}, -+ {"net.inet.igmp.stats", []_C_int{4, 2, 2, 1}}, -+ {"net.inet.ip.arpqueued", []_C_int{4, 2, 0, 36}}, -+ {"net.inet.ip.encdebug", []_C_int{4, 2, 0, 12}}, -+ {"net.inet.ip.forwarding", []_C_int{4, 2, 0, 1}}, -+ {"net.inet.ip.ifq.congestion", []_C_int{4, 2, 0, 30, 4}}, -+ {"net.inet.ip.ifq.drops", []_C_int{4, 2, 0, 30, 3}}, -+ {"net.inet.ip.ifq.len", []_C_int{4, 2, 0, 30, 1}}, -+ {"net.inet.ip.ifq.maxlen", []_C_int{4, 2, 0, 30, 2}}, -+ {"net.inet.ip.maxqueue", []_C_int{4, 2, 0, 11}}, -+ {"net.inet.ip.mforwarding", []_C_int{4, 2, 0, 31}}, -+ {"net.inet.ip.mrtproto", []_C_int{4, 2, 0, 34}}, -+ {"net.inet.ip.mrtstats", []_C_int{4, 2, 0, 35}}, -+ {"net.inet.ip.mtu", []_C_int{4, 2, 0, 4}}, -+ {"net.inet.ip.mtudisc", []_C_int{4, 2, 0, 27}}, -+ {"net.inet.ip.mtudisctimeout", []_C_int{4, 2, 0, 28}}, -+ {"net.inet.ip.multipath", []_C_int{4, 2, 0, 32}}, -+ {"net.inet.ip.portfirst", []_C_int{4, 2, 0, 7}}, -+ {"net.inet.ip.porthifirst", []_C_int{4, 2, 0, 9}}, -+ {"net.inet.ip.porthilast", []_C_int{4, 2, 0, 10}}, -+ {"net.inet.ip.portlast", []_C_int{4, 2, 0, 8}}, -+ {"net.inet.ip.redirect", []_C_int{4, 2, 0, 2}}, -+ {"net.inet.ip.sourceroute", []_C_int{4, 2, 0, 5}}, -+ {"net.inet.ip.stats", []_C_int{4, 2, 0, 33}}, -+ {"net.inet.ip.ttl", []_C_int{4, 2, 0, 3}}, -+ {"net.inet.ipcomp.enable", []_C_int{4, 2, 108, 1}}, -+ {"net.inet.ipcomp.stats", []_C_int{4, 2, 108, 2}}, -+ {"net.inet.ipip.allow", []_C_int{4, 2, 4, 1}}, -+ {"net.inet.ipip.stats", []_C_int{4, 2, 4, 2}}, -+ {"net.inet.mobileip.allow", []_C_int{4, 2, 55, 1}}, -+ {"net.inet.pfsync.stats", []_C_int{4, 2, 240, 1}}, -+ {"net.inet.pim.stats", []_C_int{4, 2, 103, 1}}, -+ {"net.inet.tcp.ackonpush", []_C_int{4, 2, 6, 13}}, -+ {"net.inet.tcp.always_keepalive", []_C_int{4, 2, 6, 22}}, -+ {"net.inet.tcp.baddynamic", []_C_int{4, 2, 6, 6}}, -+ {"net.inet.tcp.drop", []_C_int{4, 2, 6, 19}}, -+ {"net.inet.tcp.ecn", []_C_int{4, 2, 6, 14}}, -+ {"net.inet.tcp.ident", []_C_int{4, 2, 6, 9}}, -+ {"net.inet.tcp.keepidle", []_C_int{4, 2, 6, 3}}, -+ {"net.inet.tcp.keepinittime", []_C_int{4, 2, 6, 2}}, -+ {"net.inet.tcp.keepintvl", []_C_int{4, 2, 6, 4}}, -+ {"net.inet.tcp.mssdflt", []_C_int{4, 2, 6, 11}}, -+ {"net.inet.tcp.reasslimit", []_C_int{4, 2, 6, 18}}, -+ {"net.inet.tcp.rfc1323", []_C_int{4, 2, 6, 1}}, -+ {"net.inet.tcp.rfc3390", []_C_int{4, 2, 6, 17}}, -+ {"net.inet.tcp.rstppslimit", []_C_int{4, 2, 6, 12}}, -+ {"net.inet.tcp.sack", []_C_int{4, 2, 6, 10}}, -+ {"net.inet.tcp.sackholelimit", []_C_int{4, 2, 6, 20}}, -+ {"net.inet.tcp.slowhz", []_C_int{4, 2, 6, 5}}, -+ {"net.inet.tcp.stats", []_C_int{4, 2, 6, 21}}, -+ {"net.inet.tcp.synbucketlimit", []_C_int{4, 2, 6, 16}}, -+ {"net.inet.tcp.syncachelimit", []_C_int{4, 2, 6, 15}}, -+ {"net.inet.udp.baddynamic", []_C_int{4, 2, 17, 2}}, -+ {"net.inet.udp.checksum", []_C_int{4, 2, 17, 1}}, -+ {"net.inet.udp.recvspace", []_C_int{4, 2, 17, 3}}, -+ {"net.inet.udp.sendspace", []_C_int{4, 2, 17, 4}}, -+ {"net.inet.udp.stats", []_C_int{4, 2, 17, 5}}, -+ {"net.inet6.divert.recvspace", []_C_int{4, 24, 86, 1}}, -+ {"net.inet6.divert.sendspace", []_C_int{4, 24, 86, 2}}, -+ {"net.inet6.divert.stats", []_C_int{4, 24, 86, 3}}, -+ {"net.inet6.icmp6.errppslimit", []_C_int{4, 24, 30, 14}}, -+ {"net.inet6.icmp6.mtudisc_hiwat", []_C_int{4, 24, 30, 16}}, -+ {"net.inet6.icmp6.mtudisc_lowat", []_C_int{4, 24, 30, 17}}, -+ {"net.inet6.icmp6.nd6_debug", []_C_int{4, 24, 30, 18}}, -+ {"net.inet6.icmp6.nd6_delay", []_C_int{4, 24, 30, 8}}, -+ {"net.inet6.icmp6.nd6_maxnudhint", []_C_int{4, 24, 30, 15}}, -+ {"net.inet6.icmp6.nd6_mmaxtries", []_C_int{4, 24, 30, 10}}, -+ {"net.inet6.icmp6.nd6_prune", []_C_int{4, 24, 30, 6}}, -+ {"net.inet6.icmp6.nd6_umaxtries", []_C_int{4, 24, 30, 9}}, -+ {"net.inet6.icmp6.nd6_useloopback", []_C_int{4, 24, 30, 11}}, -+ {"net.inet6.icmp6.nodeinfo", []_C_int{4, 24, 30, 13}}, -+ {"net.inet6.icmp6.rediraccept", []_C_int{4, 24, 30, 2}}, -+ {"net.inet6.icmp6.redirtimeout", []_C_int{4, 24, 30, 3}}, -+ {"net.inet6.ip6.accept_rtadv", []_C_int{4, 24, 17, 12}}, -+ {"net.inet6.ip6.auto_flowlabel", []_C_int{4, 24, 17, 17}}, -+ {"net.inet6.ip6.dad_count", []_C_int{4, 24, 17, 16}}, -+ {"net.inet6.ip6.dad_pending", []_C_int{4, 24, 17, 49}}, -+ {"net.inet6.ip6.defmcasthlim", []_C_int{4, 24, 17, 18}}, -+ {"net.inet6.ip6.forwarding", []_C_int{4, 24, 17, 1}}, -+ {"net.inet6.ip6.forwsrcrt", []_C_int{4, 24, 17, 5}}, -+ {"net.inet6.ip6.hdrnestlimit", []_C_int{4, 24, 17, 15}}, -+ {"net.inet6.ip6.hlim", []_C_int{4, 24, 17, 3}}, -+ {"net.inet6.ip6.log_interval", []_C_int{4, 24, 17, 14}}, -+ {"net.inet6.ip6.maxdynroutes", []_C_int{4, 24, 17, 48}}, -+ {"net.inet6.ip6.maxfragpackets", []_C_int{4, 24, 17, 9}}, -+ {"net.inet6.ip6.maxfrags", []_C_int{4, 24, 17, 41}}, -+ {"net.inet6.ip6.maxifdefrouters", []_C_int{4, 24, 17, 47}}, -+ {"net.inet6.ip6.maxifprefixes", []_C_int{4, 24, 17, 46}}, -+ {"net.inet6.ip6.mforwarding", []_C_int{4, 24, 17, 42}}, -+ {"net.inet6.ip6.mrtproto", []_C_int{4, 24, 17, 8}}, -+ {"net.inet6.ip6.mtudisctimeout", []_C_int{4, 24, 17, 50}}, -+ {"net.inet6.ip6.multicast_mtudisc", []_C_int{4, 24, 17, 44}}, -+ {"net.inet6.ip6.multipath", []_C_int{4, 24, 17, 43}}, -+ {"net.inet6.ip6.neighborgcthresh", []_C_int{4, 24, 17, 45}}, -+ {"net.inet6.ip6.redirect", []_C_int{4, 24, 17, 2}}, -+ {"net.inet6.ip6.rr_prune", []_C_int{4, 24, 17, 22}}, -+ {"net.inet6.ip6.sourcecheck", []_C_int{4, 24, 17, 10}}, -+ {"net.inet6.ip6.sourcecheck_logint", []_C_int{4, 24, 17, 11}}, -+ {"net.inet6.ip6.use_deprecated", []_C_int{4, 24, 17, 21}}, -+ {"net.inet6.ip6.v6only", []_C_int{4, 24, 17, 24}}, -+ {"net.key.sadb_dump", []_C_int{4, 30, 1}}, -+ {"net.key.spd_dump", []_C_int{4, 30, 2}}, -+ {"net.mpls.ifq.congestion", []_C_int{4, 33, 3, 4}}, -+ {"net.mpls.ifq.drops", []_C_int{4, 33, 3, 3}}, -+ {"net.mpls.ifq.len", []_C_int{4, 33, 3, 1}}, -+ {"net.mpls.ifq.maxlen", []_C_int{4, 33, 3, 2}}, -+ {"net.mpls.mapttl_ip", []_C_int{4, 33, 5}}, -+ {"net.mpls.mapttl_ip6", []_C_int{4, 33, 6}}, -+ {"net.mpls.maxloop_inkernel", []_C_int{4, 33, 4}}, -+ {"net.mpls.ttl", []_C_int{4, 33, 2}}, -+ {"net.pflow.stats", []_C_int{4, 34, 1}}, -+ {"net.pipex.enable", []_C_int{4, 35, 1}}, -+ {"vm.anonmin", []_C_int{2, 7}}, -+ {"vm.loadavg", []_C_int{2, 2}}, -+ {"vm.maxslp", []_C_int{2, 10}}, -+ {"vm.nkmempages", []_C_int{2, 6}}, -+ {"vm.psstrings", []_C_int{2, 3}}, -+ {"vm.swapencrypt.enable", []_C_int{2, 5, 0}}, -+ {"vm.swapencrypt.keyscreated", []_C_int{2, 5, 1}}, -+ {"vm.swapencrypt.keysdeleted", []_C_int{2, 5, 2}}, -+ {"vm.uspace", []_C_int{2, 11}}, -+ {"vm.uvmexp", []_C_int{2, 4}}, -+ {"vm.vmmeter", []_C_int{2, 1}}, -+ {"vm.vnodemin", []_C_int{2, 9}}, -+ {"vm.vtextmin", []_C_int{2, 8}}, -+} -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go -new file mode 100644 -index 0000000..2786773 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go -@@ -0,0 +1,398 @@ -+// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/syscall.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build 386,darwin -+ -+package unix -+ -+const ( -+ SYS_SYSCALL = 0 -+ SYS_EXIT = 1 -+ SYS_FORK = 2 -+ SYS_READ = 3 -+ SYS_WRITE = 4 -+ SYS_OPEN = 5 -+ SYS_CLOSE = 6 -+ SYS_WAIT4 = 7 -+ SYS_LINK = 9 -+ SYS_UNLINK = 10 -+ SYS_CHDIR = 12 -+ SYS_FCHDIR = 13 -+ SYS_MKNOD = 14 -+ SYS_CHMOD = 15 -+ SYS_CHOWN = 16 -+ SYS_GETFSSTAT = 18 -+ SYS_GETPID = 20 -+ SYS_SETUID = 23 -+ SYS_GETUID = 24 -+ SYS_GETEUID = 25 -+ SYS_PTRACE = 26 -+ SYS_RECVMSG = 27 -+ SYS_SENDMSG = 28 -+ SYS_RECVFROM = 29 -+ SYS_ACCEPT = 30 -+ SYS_GETPEERNAME = 31 -+ SYS_GETSOCKNAME = 32 -+ SYS_ACCESS = 33 -+ SYS_CHFLAGS = 34 -+ SYS_FCHFLAGS = 35 -+ SYS_SYNC = 36 -+ SYS_KILL = 37 -+ SYS_GETPPID = 39 -+ SYS_DUP = 41 -+ SYS_PIPE = 42 -+ SYS_GETEGID = 43 -+ SYS_SIGACTION = 46 -+ SYS_GETGID = 47 -+ SYS_SIGPROCMASK = 48 -+ SYS_GETLOGIN = 49 -+ SYS_SETLOGIN = 50 -+ SYS_ACCT = 51 -+ SYS_SIGPENDING = 52 -+ SYS_SIGALTSTACK = 53 -+ SYS_IOCTL = 54 -+ SYS_REBOOT = 55 -+ SYS_REVOKE = 56 -+ SYS_SYMLINK = 57 -+ SYS_READLINK = 58 -+ SYS_EXECVE = 59 -+ SYS_UMASK = 60 -+ SYS_CHROOT = 61 -+ SYS_MSYNC = 65 -+ SYS_VFORK = 66 -+ SYS_MUNMAP = 73 -+ SYS_MPROTECT = 74 -+ SYS_MADVISE = 75 -+ SYS_MINCORE = 78 -+ SYS_GETGROUPS = 79 -+ SYS_SETGROUPS = 80 -+ SYS_GETPGRP = 81 -+ SYS_SETPGID = 82 -+ SYS_SETITIMER = 83 -+ SYS_SWAPON = 85 -+ SYS_GETITIMER = 86 -+ SYS_GETDTABLESIZE = 89 -+ SYS_DUP2 = 90 -+ SYS_FCNTL = 92 -+ SYS_SELECT = 93 -+ SYS_FSYNC = 95 -+ SYS_SETPRIORITY = 96 -+ SYS_SOCKET = 97 -+ SYS_CONNECT = 98 -+ SYS_GETPRIORITY = 100 -+ SYS_BIND = 104 -+ SYS_SETSOCKOPT = 105 -+ SYS_LISTEN = 106 -+ SYS_SIGSUSPEND = 111 -+ SYS_GETTIMEOFDAY = 116 -+ SYS_GETRUSAGE = 117 -+ SYS_GETSOCKOPT = 118 -+ SYS_READV = 120 -+ SYS_WRITEV = 121 -+ SYS_SETTIMEOFDAY = 122 -+ SYS_FCHOWN = 123 -+ SYS_FCHMOD = 124 -+ SYS_SETREUID = 126 -+ SYS_SETREGID = 127 -+ SYS_RENAME = 128 -+ SYS_FLOCK = 131 -+ SYS_MKFIFO = 132 -+ SYS_SENDTO = 133 -+ SYS_SHUTDOWN = 134 -+ SYS_SOCKETPAIR = 135 -+ SYS_MKDIR = 136 -+ SYS_RMDIR = 137 -+ SYS_UTIMES = 138 -+ SYS_FUTIMES = 139 -+ SYS_ADJTIME = 140 -+ SYS_GETHOSTUUID = 142 -+ SYS_SETSID = 147 -+ SYS_GETPGID = 151 -+ SYS_SETPRIVEXEC = 152 -+ SYS_PREAD = 153 -+ SYS_PWRITE = 154 -+ SYS_NFSSVC = 155 -+ SYS_STATFS = 157 -+ SYS_FSTATFS = 158 -+ SYS_UNMOUNT = 159 -+ SYS_GETFH = 161 -+ SYS_QUOTACTL = 165 -+ SYS_MOUNT = 167 -+ SYS_CSOPS = 169 -+ SYS_CSOPS_AUDITTOKEN = 170 -+ SYS_WAITID = 173 -+ SYS_KDEBUG_TRACE64 = 179 -+ SYS_KDEBUG_TRACE = 180 -+ SYS_SETGID = 181 -+ SYS_SETEGID = 182 -+ SYS_SETEUID = 183 -+ SYS_SIGRETURN = 184 -+ SYS_CHUD = 185 -+ SYS_FDATASYNC = 187 -+ SYS_STAT = 188 -+ SYS_FSTAT = 189 -+ SYS_LSTAT = 190 -+ SYS_PATHCONF = 191 -+ SYS_FPATHCONF = 192 -+ SYS_GETRLIMIT = 194 -+ SYS_SETRLIMIT = 195 -+ SYS_GETDIRENTRIES = 196 -+ SYS_MMAP = 197 -+ SYS_LSEEK = 199 -+ SYS_TRUNCATE = 200 -+ SYS_FTRUNCATE = 201 -+ SYS_SYSCTL = 202 -+ SYS_MLOCK = 203 -+ SYS_MUNLOCK = 204 -+ SYS_UNDELETE = 205 -+ SYS_OPEN_DPROTECTED_NP = 216 -+ SYS_GETATTRLIST = 220 -+ SYS_SETATTRLIST = 221 -+ SYS_GETDIRENTRIESATTR = 222 -+ SYS_EXCHANGEDATA = 223 -+ SYS_SEARCHFS = 225 -+ SYS_DELETE = 226 -+ SYS_COPYFILE = 227 -+ SYS_FGETATTRLIST = 228 -+ SYS_FSETATTRLIST = 229 -+ SYS_POLL = 230 -+ SYS_WATCHEVENT = 231 -+ SYS_WAITEVENT = 232 -+ SYS_MODWATCH = 233 -+ SYS_GETXATTR = 234 -+ SYS_FGETXATTR = 235 -+ SYS_SETXATTR = 236 -+ SYS_FSETXATTR = 237 -+ SYS_REMOVEXATTR = 238 -+ SYS_FREMOVEXATTR = 239 -+ SYS_LISTXATTR = 240 -+ SYS_FLISTXATTR = 241 -+ SYS_FSCTL = 242 -+ SYS_INITGROUPS = 243 -+ SYS_POSIX_SPAWN = 244 -+ SYS_FFSCTL = 245 -+ SYS_NFSCLNT = 247 -+ SYS_FHOPEN = 248 -+ SYS_MINHERIT = 250 -+ SYS_SEMSYS = 251 -+ SYS_MSGSYS = 252 -+ SYS_SHMSYS = 253 -+ SYS_SEMCTL = 254 -+ SYS_SEMGET = 255 -+ SYS_SEMOP = 256 -+ SYS_MSGCTL = 258 -+ SYS_MSGGET = 259 -+ SYS_MSGSND = 260 -+ SYS_MSGRCV = 261 -+ SYS_SHMAT = 262 -+ SYS_SHMCTL = 263 -+ SYS_SHMDT = 264 -+ SYS_SHMGET = 265 -+ SYS_SHM_OPEN = 266 -+ SYS_SHM_UNLINK = 267 -+ SYS_SEM_OPEN = 268 -+ SYS_SEM_CLOSE = 269 -+ SYS_SEM_UNLINK = 270 -+ SYS_SEM_WAIT = 271 -+ SYS_SEM_TRYWAIT = 272 -+ SYS_SEM_POST = 273 -+ SYS_SYSCTLBYNAME = 274 -+ SYS_OPEN_EXTENDED = 277 -+ SYS_UMASK_EXTENDED = 278 -+ SYS_STAT_EXTENDED = 279 -+ SYS_LSTAT_EXTENDED = 280 -+ SYS_FSTAT_EXTENDED = 281 -+ SYS_CHMOD_EXTENDED = 282 -+ SYS_FCHMOD_EXTENDED = 283 -+ SYS_ACCESS_EXTENDED = 284 -+ SYS_SETTID = 285 -+ SYS_GETTID = 286 -+ SYS_SETSGROUPS = 287 -+ SYS_GETSGROUPS = 288 -+ SYS_SETWGROUPS = 289 -+ SYS_GETWGROUPS = 290 -+ SYS_MKFIFO_EXTENDED = 291 -+ SYS_MKDIR_EXTENDED = 292 -+ SYS_IDENTITYSVC = 293 -+ SYS_SHARED_REGION_CHECK_NP = 294 -+ SYS_VM_PRESSURE_MONITOR = 296 -+ SYS_PSYNCH_RW_LONGRDLOCK = 297 -+ SYS_PSYNCH_RW_YIELDWRLOCK = 298 -+ SYS_PSYNCH_RW_DOWNGRADE = 299 -+ SYS_PSYNCH_RW_UPGRADE = 300 -+ SYS_PSYNCH_MUTEXWAIT = 301 -+ SYS_PSYNCH_MUTEXDROP = 302 -+ SYS_PSYNCH_CVBROAD = 303 -+ SYS_PSYNCH_CVSIGNAL = 304 -+ SYS_PSYNCH_CVWAIT = 305 -+ SYS_PSYNCH_RW_RDLOCK = 306 -+ SYS_PSYNCH_RW_WRLOCK = 307 -+ SYS_PSYNCH_RW_UNLOCK = 308 -+ SYS_PSYNCH_RW_UNLOCK2 = 309 -+ SYS_GETSID = 310 -+ SYS_SETTID_WITH_PID = 311 -+ SYS_PSYNCH_CVCLRPREPOST = 312 -+ SYS_AIO_FSYNC = 313 -+ SYS_AIO_RETURN = 314 -+ SYS_AIO_SUSPEND = 315 -+ SYS_AIO_CANCEL = 316 -+ SYS_AIO_ERROR = 317 -+ SYS_AIO_READ = 318 -+ SYS_AIO_WRITE = 319 -+ SYS_LIO_LISTIO = 320 -+ SYS_IOPOLICYSYS = 322 -+ SYS_PROCESS_POLICY = 323 -+ SYS_MLOCKALL = 324 -+ SYS_MUNLOCKALL = 325 -+ SYS_ISSETUGID = 327 -+ SYS___PTHREAD_KILL = 328 -+ SYS___PTHREAD_SIGMASK = 329 -+ SYS___SIGWAIT = 330 -+ SYS___DISABLE_THREADSIGNAL = 331 -+ SYS___PTHREAD_MARKCANCEL = 332 -+ SYS___PTHREAD_CANCELED = 333 -+ SYS___SEMWAIT_SIGNAL = 334 -+ SYS_PROC_INFO = 336 -+ SYS_SENDFILE = 337 -+ SYS_STAT64 = 338 -+ SYS_FSTAT64 = 339 -+ SYS_LSTAT64 = 340 -+ SYS_STAT64_EXTENDED = 341 -+ SYS_LSTAT64_EXTENDED = 342 -+ SYS_FSTAT64_EXTENDED = 343 -+ SYS_GETDIRENTRIES64 = 344 -+ SYS_STATFS64 = 345 -+ SYS_FSTATFS64 = 346 -+ SYS_GETFSSTAT64 = 347 -+ SYS___PTHREAD_CHDIR = 348 -+ SYS___PTHREAD_FCHDIR = 349 -+ SYS_AUDIT = 350 -+ SYS_AUDITON = 351 -+ SYS_GETAUID = 353 -+ SYS_SETAUID = 354 -+ SYS_GETAUDIT_ADDR = 357 -+ SYS_SETAUDIT_ADDR = 358 -+ SYS_AUDITCTL = 359 -+ SYS_BSDTHREAD_CREATE = 360 -+ SYS_BSDTHREAD_TERMINATE = 361 -+ SYS_KQUEUE = 362 -+ SYS_KEVENT = 363 -+ SYS_LCHOWN = 364 -+ SYS_STACK_SNAPSHOT = 365 -+ SYS_BSDTHREAD_REGISTER = 366 -+ SYS_WORKQ_OPEN = 367 -+ SYS_WORKQ_KERNRETURN = 368 -+ SYS_KEVENT64 = 369 -+ SYS___OLD_SEMWAIT_SIGNAL = 370 -+ SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 -+ SYS_THREAD_SELFID = 372 -+ SYS_LEDGER = 373 -+ SYS___MAC_EXECVE = 380 -+ SYS___MAC_SYSCALL = 381 -+ SYS___MAC_GET_FILE = 382 -+ SYS___MAC_SET_FILE = 383 -+ SYS___MAC_GET_LINK = 384 -+ SYS___MAC_SET_LINK = 385 -+ SYS___MAC_GET_PROC = 386 -+ SYS___MAC_SET_PROC = 387 -+ SYS___MAC_GET_FD = 388 -+ SYS___MAC_SET_FD = 389 -+ SYS___MAC_GET_PID = 390 -+ SYS___MAC_GET_LCID = 391 -+ SYS___MAC_GET_LCTX = 392 -+ SYS___MAC_SET_LCTX = 393 -+ SYS_SETLCID = 394 -+ SYS_GETLCID = 395 -+ SYS_READ_NOCANCEL = 396 -+ SYS_WRITE_NOCANCEL = 397 -+ SYS_OPEN_NOCANCEL = 398 -+ SYS_CLOSE_NOCANCEL = 399 -+ SYS_WAIT4_NOCANCEL = 400 -+ SYS_RECVMSG_NOCANCEL = 401 -+ SYS_SENDMSG_NOCANCEL = 402 -+ SYS_RECVFROM_NOCANCEL = 403 -+ SYS_ACCEPT_NOCANCEL = 404 -+ SYS_MSYNC_NOCANCEL = 405 -+ SYS_FCNTL_NOCANCEL = 406 -+ SYS_SELECT_NOCANCEL = 407 -+ SYS_FSYNC_NOCANCEL = 408 -+ SYS_CONNECT_NOCANCEL = 409 -+ SYS_SIGSUSPEND_NOCANCEL = 410 -+ SYS_READV_NOCANCEL = 411 -+ SYS_WRITEV_NOCANCEL = 412 -+ SYS_SENDTO_NOCANCEL = 413 -+ SYS_PREAD_NOCANCEL = 414 -+ SYS_PWRITE_NOCANCEL = 415 -+ SYS_WAITID_NOCANCEL = 416 -+ SYS_POLL_NOCANCEL = 417 -+ SYS_MSGSND_NOCANCEL = 418 -+ SYS_MSGRCV_NOCANCEL = 419 -+ SYS_SEM_WAIT_NOCANCEL = 420 -+ SYS_AIO_SUSPEND_NOCANCEL = 421 -+ SYS___SIGWAIT_NOCANCEL = 422 -+ SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 -+ SYS___MAC_MOUNT = 424 -+ SYS___MAC_GET_MOUNT = 425 -+ SYS___MAC_GETFSSTAT = 426 -+ SYS_FSGETPATH = 427 -+ SYS_AUDIT_SESSION_SELF = 428 -+ SYS_AUDIT_SESSION_JOIN = 429 -+ SYS_FILEPORT_MAKEPORT = 430 -+ SYS_FILEPORT_MAKEFD = 431 -+ SYS_AUDIT_SESSION_PORT = 432 -+ SYS_PID_SUSPEND = 433 -+ SYS_PID_RESUME = 434 -+ SYS_PID_HIBERNATE = 435 -+ SYS_PID_SHUTDOWN_SOCKETS = 436 -+ SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 -+ SYS_KAS_INFO = 439 -+ SYS_MEMORYSTATUS_CONTROL = 440 -+ SYS_GUARDED_OPEN_NP = 441 -+ SYS_GUARDED_CLOSE_NP = 442 -+ SYS_GUARDED_KQUEUE_NP = 443 -+ SYS_CHANGE_FDGUARD_NP = 444 -+ SYS_PROC_RLIMIT_CONTROL = 446 -+ SYS_CONNECTX = 447 -+ SYS_DISCONNECTX = 448 -+ SYS_PEELOFF = 449 -+ SYS_SOCKET_DELEGATE = 450 -+ SYS_TELEMETRY = 451 -+ SYS_PROC_UUID_POLICY = 452 -+ SYS_MEMORYSTATUS_GET_LEVEL = 453 -+ SYS_SYSTEM_OVERRIDE = 454 -+ SYS_VFS_PURGE = 455 -+ SYS_SFI_CTL = 456 -+ SYS_SFI_PIDCTL = 457 -+ SYS_COALITION = 458 -+ SYS_COALITION_INFO = 459 -+ SYS_NECP_MATCH_POLICY = 460 -+ SYS_GETATTRLISTBULK = 461 -+ SYS_OPENAT = 463 -+ SYS_OPENAT_NOCANCEL = 464 -+ SYS_RENAMEAT = 465 -+ SYS_FACCESSAT = 466 -+ SYS_FCHMODAT = 467 -+ SYS_FCHOWNAT = 468 -+ SYS_FSTATAT = 469 -+ SYS_FSTATAT64 = 470 -+ SYS_LINKAT = 471 -+ SYS_UNLINKAT = 472 -+ SYS_READLINKAT = 473 -+ SYS_SYMLINKAT = 474 -+ SYS_MKDIRAT = 475 -+ SYS_GETATTRLISTAT = 476 -+ SYS_PROC_TRACE_LOG = 477 -+ SYS_BSDTHREAD_CTL = 478 -+ SYS_OPENBYID_NP = 479 -+ SYS_RECVMSG_X = 480 -+ SYS_SENDMSG_X = 481 -+ SYS_THREAD_SELFUSAGE = 482 -+ SYS_CSRCTL = 483 -+ SYS_GUARDED_OPEN_DPROTECTED_NP = 484 -+ SYS_GUARDED_WRITE_NP = 485 -+ SYS_GUARDED_PWRITE_NP = 486 -+ SYS_GUARDED_WRITEV_NP = 487 -+ SYS_RENAME_EXT = 488 -+ SYS_MREMAP_ENCRYPTED = 489 -+ SYS_MAXSYSCALL = 490 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go -new file mode 100644 -index 0000000..09de240 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go -@@ -0,0 +1,398 @@ -+// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/sys/syscall.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build amd64,darwin -+ -+package unix -+ -+const ( -+ SYS_SYSCALL = 0 -+ SYS_EXIT = 1 -+ SYS_FORK = 2 -+ SYS_READ = 3 -+ SYS_WRITE = 4 -+ SYS_OPEN = 5 -+ SYS_CLOSE = 6 -+ SYS_WAIT4 = 7 -+ SYS_LINK = 9 -+ SYS_UNLINK = 10 -+ SYS_CHDIR = 12 -+ SYS_FCHDIR = 13 -+ SYS_MKNOD = 14 -+ SYS_CHMOD = 15 -+ SYS_CHOWN = 16 -+ SYS_GETFSSTAT = 18 -+ SYS_GETPID = 20 -+ SYS_SETUID = 23 -+ SYS_GETUID = 24 -+ SYS_GETEUID = 25 -+ SYS_PTRACE = 26 -+ SYS_RECVMSG = 27 -+ SYS_SENDMSG = 28 -+ SYS_RECVFROM = 29 -+ SYS_ACCEPT = 30 -+ SYS_GETPEERNAME = 31 -+ SYS_GETSOCKNAME = 32 -+ SYS_ACCESS = 33 -+ SYS_CHFLAGS = 34 -+ SYS_FCHFLAGS = 35 -+ SYS_SYNC = 36 -+ SYS_KILL = 37 -+ SYS_GETPPID = 39 -+ SYS_DUP = 41 -+ SYS_PIPE = 42 -+ SYS_GETEGID = 43 -+ SYS_SIGACTION = 46 -+ SYS_GETGID = 47 -+ SYS_SIGPROCMASK = 48 -+ SYS_GETLOGIN = 49 -+ SYS_SETLOGIN = 50 -+ SYS_ACCT = 51 -+ SYS_SIGPENDING = 52 -+ SYS_SIGALTSTACK = 53 -+ SYS_IOCTL = 54 -+ SYS_REBOOT = 55 -+ SYS_REVOKE = 56 -+ SYS_SYMLINK = 57 -+ SYS_READLINK = 58 -+ SYS_EXECVE = 59 -+ SYS_UMASK = 60 -+ SYS_CHROOT = 61 -+ SYS_MSYNC = 65 -+ SYS_VFORK = 66 -+ SYS_MUNMAP = 73 -+ SYS_MPROTECT = 74 -+ SYS_MADVISE = 75 -+ SYS_MINCORE = 78 -+ SYS_GETGROUPS = 79 -+ SYS_SETGROUPS = 80 -+ SYS_GETPGRP = 81 -+ SYS_SETPGID = 82 -+ SYS_SETITIMER = 83 -+ SYS_SWAPON = 85 -+ SYS_GETITIMER = 86 -+ SYS_GETDTABLESIZE = 89 -+ SYS_DUP2 = 90 -+ SYS_FCNTL = 92 -+ SYS_SELECT = 93 -+ SYS_FSYNC = 95 -+ SYS_SETPRIORITY = 96 -+ SYS_SOCKET = 97 -+ SYS_CONNECT = 98 -+ SYS_GETPRIORITY = 100 -+ SYS_BIND = 104 -+ SYS_SETSOCKOPT = 105 -+ SYS_LISTEN = 106 -+ SYS_SIGSUSPEND = 111 -+ SYS_GETTIMEOFDAY = 116 -+ SYS_GETRUSAGE = 117 -+ SYS_GETSOCKOPT = 118 -+ SYS_READV = 120 -+ SYS_WRITEV = 121 -+ SYS_SETTIMEOFDAY = 122 -+ SYS_FCHOWN = 123 -+ SYS_FCHMOD = 124 -+ SYS_SETREUID = 126 -+ SYS_SETREGID = 127 -+ SYS_RENAME = 128 -+ SYS_FLOCK = 131 -+ SYS_MKFIFO = 132 -+ SYS_SENDTO = 133 -+ SYS_SHUTDOWN = 134 -+ SYS_SOCKETPAIR = 135 -+ SYS_MKDIR = 136 -+ SYS_RMDIR = 137 -+ SYS_UTIMES = 138 -+ SYS_FUTIMES = 139 -+ SYS_ADJTIME = 140 -+ SYS_GETHOSTUUID = 142 -+ SYS_SETSID = 147 -+ SYS_GETPGID = 151 -+ SYS_SETPRIVEXEC = 152 -+ SYS_PREAD = 153 -+ SYS_PWRITE = 154 -+ SYS_NFSSVC = 155 -+ SYS_STATFS = 157 -+ SYS_FSTATFS = 158 -+ SYS_UNMOUNT = 159 -+ SYS_GETFH = 161 -+ SYS_QUOTACTL = 165 -+ SYS_MOUNT = 167 -+ SYS_CSOPS = 169 -+ SYS_CSOPS_AUDITTOKEN = 170 -+ SYS_WAITID = 173 -+ SYS_KDEBUG_TRACE64 = 179 -+ SYS_KDEBUG_TRACE = 180 -+ SYS_SETGID = 181 -+ SYS_SETEGID = 182 -+ SYS_SETEUID = 183 -+ SYS_SIGRETURN = 184 -+ SYS_CHUD = 185 -+ SYS_FDATASYNC = 187 -+ SYS_STAT = 188 -+ SYS_FSTAT = 189 -+ SYS_LSTAT = 190 -+ SYS_PATHCONF = 191 -+ SYS_FPATHCONF = 192 -+ SYS_GETRLIMIT = 194 -+ SYS_SETRLIMIT = 195 -+ SYS_GETDIRENTRIES = 196 -+ SYS_MMAP = 197 -+ SYS_LSEEK = 199 -+ SYS_TRUNCATE = 200 -+ SYS_FTRUNCATE = 201 -+ SYS_SYSCTL = 202 -+ SYS_MLOCK = 203 -+ SYS_MUNLOCK = 204 -+ SYS_UNDELETE = 205 -+ SYS_OPEN_DPROTECTED_NP = 216 -+ SYS_GETATTRLIST = 220 -+ SYS_SETATTRLIST = 221 -+ SYS_GETDIRENTRIESATTR = 222 -+ SYS_EXCHANGEDATA = 223 -+ SYS_SEARCHFS = 225 -+ SYS_DELETE = 226 -+ SYS_COPYFILE = 227 -+ SYS_FGETATTRLIST = 228 -+ SYS_FSETATTRLIST = 229 -+ SYS_POLL = 230 -+ SYS_WATCHEVENT = 231 -+ SYS_WAITEVENT = 232 -+ SYS_MODWATCH = 233 -+ SYS_GETXATTR = 234 -+ SYS_FGETXATTR = 235 -+ SYS_SETXATTR = 236 -+ SYS_FSETXATTR = 237 -+ SYS_REMOVEXATTR = 238 -+ SYS_FREMOVEXATTR = 239 -+ SYS_LISTXATTR = 240 -+ SYS_FLISTXATTR = 241 -+ SYS_FSCTL = 242 -+ SYS_INITGROUPS = 243 -+ SYS_POSIX_SPAWN = 244 -+ SYS_FFSCTL = 245 -+ SYS_NFSCLNT = 247 -+ SYS_FHOPEN = 248 -+ SYS_MINHERIT = 250 -+ SYS_SEMSYS = 251 -+ SYS_MSGSYS = 252 -+ SYS_SHMSYS = 253 -+ SYS_SEMCTL = 254 -+ SYS_SEMGET = 255 -+ SYS_SEMOP = 256 -+ SYS_MSGCTL = 258 -+ SYS_MSGGET = 259 -+ SYS_MSGSND = 260 -+ SYS_MSGRCV = 261 -+ SYS_SHMAT = 262 -+ SYS_SHMCTL = 263 -+ SYS_SHMDT = 264 -+ SYS_SHMGET = 265 -+ SYS_SHM_OPEN = 266 -+ SYS_SHM_UNLINK = 267 -+ SYS_SEM_OPEN = 268 -+ SYS_SEM_CLOSE = 269 -+ SYS_SEM_UNLINK = 270 -+ SYS_SEM_WAIT = 271 -+ SYS_SEM_TRYWAIT = 272 -+ SYS_SEM_POST = 273 -+ SYS_SYSCTLBYNAME = 274 -+ SYS_OPEN_EXTENDED = 277 -+ SYS_UMASK_EXTENDED = 278 -+ SYS_STAT_EXTENDED = 279 -+ SYS_LSTAT_EXTENDED = 280 -+ SYS_FSTAT_EXTENDED = 281 -+ SYS_CHMOD_EXTENDED = 282 -+ SYS_FCHMOD_EXTENDED = 283 -+ SYS_ACCESS_EXTENDED = 284 -+ SYS_SETTID = 285 -+ SYS_GETTID = 286 -+ SYS_SETSGROUPS = 287 -+ SYS_GETSGROUPS = 288 -+ SYS_SETWGROUPS = 289 -+ SYS_GETWGROUPS = 290 -+ SYS_MKFIFO_EXTENDED = 291 -+ SYS_MKDIR_EXTENDED = 292 -+ SYS_IDENTITYSVC = 293 -+ SYS_SHARED_REGION_CHECK_NP = 294 -+ SYS_VM_PRESSURE_MONITOR = 296 -+ SYS_PSYNCH_RW_LONGRDLOCK = 297 -+ SYS_PSYNCH_RW_YIELDWRLOCK = 298 -+ SYS_PSYNCH_RW_DOWNGRADE = 299 -+ SYS_PSYNCH_RW_UPGRADE = 300 -+ SYS_PSYNCH_MUTEXWAIT = 301 -+ SYS_PSYNCH_MUTEXDROP = 302 -+ SYS_PSYNCH_CVBROAD = 303 -+ SYS_PSYNCH_CVSIGNAL = 304 -+ SYS_PSYNCH_CVWAIT = 305 -+ SYS_PSYNCH_RW_RDLOCK = 306 -+ SYS_PSYNCH_RW_WRLOCK = 307 -+ SYS_PSYNCH_RW_UNLOCK = 308 -+ SYS_PSYNCH_RW_UNLOCK2 = 309 -+ SYS_GETSID = 310 -+ SYS_SETTID_WITH_PID = 311 -+ SYS_PSYNCH_CVCLRPREPOST = 312 -+ SYS_AIO_FSYNC = 313 -+ SYS_AIO_RETURN = 314 -+ SYS_AIO_SUSPEND = 315 -+ SYS_AIO_CANCEL = 316 -+ SYS_AIO_ERROR = 317 -+ SYS_AIO_READ = 318 -+ SYS_AIO_WRITE = 319 -+ SYS_LIO_LISTIO = 320 -+ SYS_IOPOLICYSYS = 322 -+ SYS_PROCESS_POLICY = 323 -+ SYS_MLOCKALL = 324 -+ SYS_MUNLOCKALL = 325 -+ SYS_ISSETUGID = 327 -+ SYS___PTHREAD_KILL = 328 -+ SYS___PTHREAD_SIGMASK = 329 -+ SYS___SIGWAIT = 330 -+ SYS___DISABLE_THREADSIGNAL = 331 -+ SYS___PTHREAD_MARKCANCEL = 332 -+ SYS___PTHREAD_CANCELED = 333 -+ SYS___SEMWAIT_SIGNAL = 334 -+ SYS_PROC_INFO = 336 -+ SYS_SENDFILE = 337 -+ SYS_STAT64 = 338 -+ SYS_FSTAT64 = 339 -+ SYS_LSTAT64 = 340 -+ SYS_STAT64_EXTENDED = 341 -+ SYS_LSTAT64_EXTENDED = 342 -+ SYS_FSTAT64_EXTENDED = 343 -+ SYS_GETDIRENTRIES64 = 344 -+ SYS_STATFS64 = 345 -+ SYS_FSTATFS64 = 346 -+ SYS_GETFSSTAT64 = 347 -+ SYS___PTHREAD_CHDIR = 348 -+ SYS___PTHREAD_FCHDIR = 349 -+ SYS_AUDIT = 350 -+ SYS_AUDITON = 351 -+ SYS_GETAUID = 353 -+ SYS_SETAUID = 354 -+ SYS_GETAUDIT_ADDR = 357 -+ SYS_SETAUDIT_ADDR = 358 -+ SYS_AUDITCTL = 359 -+ SYS_BSDTHREAD_CREATE = 360 -+ SYS_BSDTHREAD_TERMINATE = 361 -+ SYS_KQUEUE = 362 -+ SYS_KEVENT = 363 -+ SYS_LCHOWN = 364 -+ SYS_STACK_SNAPSHOT = 365 -+ SYS_BSDTHREAD_REGISTER = 366 -+ SYS_WORKQ_OPEN = 367 -+ SYS_WORKQ_KERNRETURN = 368 -+ SYS_KEVENT64 = 369 -+ SYS___OLD_SEMWAIT_SIGNAL = 370 -+ SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 -+ SYS_THREAD_SELFID = 372 -+ SYS_LEDGER = 373 -+ SYS___MAC_EXECVE = 380 -+ SYS___MAC_SYSCALL = 381 -+ SYS___MAC_GET_FILE = 382 -+ SYS___MAC_SET_FILE = 383 -+ SYS___MAC_GET_LINK = 384 -+ SYS___MAC_SET_LINK = 385 -+ SYS___MAC_GET_PROC = 386 -+ SYS___MAC_SET_PROC = 387 -+ SYS___MAC_GET_FD = 388 -+ SYS___MAC_SET_FD = 389 -+ SYS___MAC_GET_PID = 390 -+ SYS___MAC_GET_LCID = 391 -+ SYS___MAC_GET_LCTX = 392 -+ SYS___MAC_SET_LCTX = 393 -+ SYS_SETLCID = 394 -+ SYS_GETLCID = 395 -+ SYS_READ_NOCANCEL = 396 -+ SYS_WRITE_NOCANCEL = 397 -+ SYS_OPEN_NOCANCEL = 398 -+ SYS_CLOSE_NOCANCEL = 399 -+ SYS_WAIT4_NOCANCEL = 400 -+ SYS_RECVMSG_NOCANCEL = 401 -+ SYS_SENDMSG_NOCANCEL = 402 -+ SYS_RECVFROM_NOCANCEL = 403 -+ SYS_ACCEPT_NOCANCEL = 404 -+ SYS_MSYNC_NOCANCEL = 405 -+ SYS_FCNTL_NOCANCEL = 406 -+ SYS_SELECT_NOCANCEL = 407 -+ SYS_FSYNC_NOCANCEL = 408 -+ SYS_CONNECT_NOCANCEL = 409 -+ SYS_SIGSUSPEND_NOCANCEL = 410 -+ SYS_READV_NOCANCEL = 411 -+ SYS_WRITEV_NOCANCEL = 412 -+ SYS_SENDTO_NOCANCEL = 413 -+ SYS_PREAD_NOCANCEL = 414 -+ SYS_PWRITE_NOCANCEL = 415 -+ SYS_WAITID_NOCANCEL = 416 -+ SYS_POLL_NOCANCEL = 417 -+ SYS_MSGSND_NOCANCEL = 418 -+ SYS_MSGRCV_NOCANCEL = 419 -+ SYS_SEM_WAIT_NOCANCEL = 420 -+ SYS_AIO_SUSPEND_NOCANCEL = 421 -+ SYS___SIGWAIT_NOCANCEL = 422 -+ SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 -+ SYS___MAC_MOUNT = 424 -+ SYS___MAC_GET_MOUNT = 425 -+ SYS___MAC_GETFSSTAT = 426 -+ SYS_FSGETPATH = 427 -+ SYS_AUDIT_SESSION_SELF = 428 -+ SYS_AUDIT_SESSION_JOIN = 429 -+ SYS_FILEPORT_MAKEPORT = 430 -+ SYS_FILEPORT_MAKEFD = 431 -+ SYS_AUDIT_SESSION_PORT = 432 -+ SYS_PID_SUSPEND = 433 -+ SYS_PID_RESUME = 434 -+ SYS_PID_HIBERNATE = 435 -+ SYS_PID_SHUTDOWN_SOCKETS = 436 -+ SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 -+ SYS_KAS_INFO = 439 -+ SYS_MEMORYSTATUS_CONTROL = 440 -+ SYS_GUARDED_OPEN_NP = 441 -+ SYS_GUARDED_CLOSE_NP = 442 -+ SYS_GUARDED_KQUEUE_NP = 443 -+ SYS_CHANGE_FDGUARD_NP = 444 -+ SYS_PROC_RLIMIT_CONTROL = 446 -+ SYS_CONNECTX = 447 -+ SYS_DISCONNECTX = 448 -+ SYS_PEELOFF = 449 -+ SYS_SOCKET_DELEGATE = 450 -+ SYS_TELEMETRY = 451 -+ SYS_PROC_UUID_POLICY = 452 -+ SYS_MEMORYSTATUS_GET_LEVEL = 453 -+ SYS_SYSTEM_OVERRIDE = 454 -+ SYS_VFS_PURGE = 455 -+ SYS_SFI_CTL = 456 -+ SYS_SFI_PIDCTL = 457 -+ SYS_COALITION = 458 -+ SYS_COALITION_INFO = 459 -+ SYS_NECP_MATCH_POLICY = 460 -+ SYS_GETATTRLISTBULK = 461 -+ SYS_OPENAT = 463 -+ SYS_OPENAT_NOCANCEL = 464 -+ SYS_RENAMEAT = 465 -+ SYS_FACCESSAT = 466 -+ SYS_FCHMODAT = 467 -+ SYS_FCHOWNAT = 468 -+ SYS_FSTATAT = 469 -+ SYS_FSTATAT64 = 470 -+ SYS_LINKAT = 471 -+ SYS_UNLINKAT = 472 -+ SYS_READLINKAT = 473 -+ SYS_SYMLINKAT = 474 -+ SYS_MKDIRAT = 475 -+ SYS_GETATTRLISTAT = 476 -+ SYS_PROC_TRACE_LOG = 477 -+ SYS_BSDTHREAD_CTL = 478 -+ SYS_OPENBYID_NP = 479 -+ SYS_RECVMSG_X = 480 -+ SYS_SENDMSG_X = 481 -+ SYS_THREAD_SELFUSAGE = 482 -+ SYS_CSRCTL = 483 -+ SYS_GUARDED_OPEN_DPROTECTED_NP = 484 -+ SYS_GUARDED_WRITE_NP = 485 -+ SYS_GUARDED_PWRITE_NP = 486 -+ SYS_GUARDED_WRITEV_NP = 487 -+ SYS_RENAME_EXT = 488 -+ SYS_MREMAP_ENCRYPTED = 489 -+ SYS_MAXSYSCALL = 490 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go -new file mode 100644 -index 0000000..b8c9aea ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go -@@ -0,0 +1,358 @@ -+// mksysnum_darwin.pl /usr/include/sys/syscall.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build arm,darwin -+ -+package unix -+ -+const ( -+ SYS_SYSCALL = 0 -+ SYS_EXIT = 1 -+ SYS_FORK = 2 -+ SYS_READ = 3 -+ SYS_WRITE = 4 -+ SYS_OPEN = 5 -+ SYS_CLOSE = 6 -+ SYS_WAIT4 = 7 -+ SYS_LINK = 9 -+ SYS_UNLINK = 10 -+ SYS_CHDIR = 12 -+ SYS_FCHDIR = 13 -+ SYS_MKNOD = 14 -+ SYS_CHMOD = 15 -+ SYS_CHOWN = 16 -+ SYS_GETFSSTAT = 18 -+ SYS_GETPID = 20 -+ SYS_SETUID = 23 -+ SYS_GETUID = 24 -+ SYS_GETEUID = 25 -+ SYS_PTRACE = 26 -+ SYS_RECVMSG = 27 -+ SYS_SENDMSG = 28 -+ SYS_RECVFROM = 29 -+ SYS_ACCEPT = 30 -+ SYS_GETPEERNAME = 31 -+ SYS_GETSOCKNAME = 32 -+ SYS_ACCESS = 33 -+ SYS_CHFLAGS = 34 -+ SYS_FCHFLAGS = 35 -+ SYS_SYNC = 36 -+ SYS_KILL = 37 -+ SYS_GETPPID = 39 -+ SYS_DUP = 41 -+ SYS_PIPE = 42 -+ SYS_GETEGID = 43 -+ SYS_SIGACTION = 46 -+ SYS_GETGID = 47 -+ SYS_SIGPROCMASK = 48 -+ SYS_GETLOGIN = 49 -+ SYS_SETLOGIN = 50 -+ SYS_ACCT = 51 -+ SYS_SIGPENDING = 52 -+ SYS_SIGALTSTACK = 53 -+ SYS_IOCTL = 54 -+ SYS_REBOOT = 55 -+ SYS_REVOKE = 56 -+ SYS_SYMLINK = 57 -+ SYS_READLINK = 58 -+ SYS_EXECVE = 59 -+ SYS_UMASK = 60 -+ SYS_CHROOT = 61 -+ SYS_MSYNC = 65 -+ SYS_VFORK = 66 -+ SYS_MUNMAP = 73 -+ SYS_MPROTECT = 74 -+ SYS_MADVISE = 75 -+ SYS_MINCORE = 78 -+ SYS_GETGROUPS = 79 -+ SYS_SETGROUPS = 80 -+ SYS_GETPGRP = 81 -+ SYS_SETPGID = 82 -+ SYS_SETITIMER = 83 -+ SYS_SWAPON = 85 -+ SYS_GETITIMER = 86 -+ SYS_GETDTABLESIZE = 89 -+ SYS_DUP2 = 90 -+ SYS_FCNTL = 92 -+ SYS_SELECT = 93 -+ SYS_FSYNC = 95 -+ SYS_SETPRIORITY = 96 -+ SYS_SOCKET = 97 -+ SYS_CONNECT = 98 -+ SYS_GETPRIORITY = 100 -+ SYS_BIND = 104 -+ SYS_SETSOCKOPT = 105 -+ SYS_LISTEN = 106 -+ SYS_SIGSUSPEND = 111 -+ SYS_GETTIMEOFDAY = 116 -+ SYS_GETRUSAGE = 117 -+ SYS_GETSOCKOPT = 118 -+ SYS_READV = 120 -+ SYS_WRITEV = 121 -+ SYS_SETTIMEOFDAY = 122 -+ SYS_FCHOWN = 123 -+ SYS_FCHMOD = 124 -+ SYS_SETREUID = 126 -+ SYS_SETREGID = 127 -+ SYS_RENAME = 128 -+ SYS_FLOCK = 131 -+ SYS_MKFIFO = 132 -+ SYS_SENDTO = 133 -+ SYS_SHUTDOWN = 134 -+ SYS_SOCKETPAIR = 135 -+ SYS_MKDIR = 136 -+ SYS_RMDIR = 137 -+ SYS_UTIMES = 138 -+ SYS_FUTIMES = 139 -+ SYS_ADJTIME = 140 -+ SYS_GETHOSTUUID = 142 -+ SYS_SETSID = 147 -+ SYS_GETPGID = 151 -+ SYS_SETPRIVEXEC = 152 -+ SYS_PREAD = 153 -+ SYS_PWRITE = 154 -+ SYS_NFSSVC = 155 -+ SYS_STATFS = 157 -+ SYS_FSTATFS = 158 -+ SYS_UNMOUNT = 159 -+ SYS_GETFH = 161 -+ SYS_QUOTACTL = 165 -+ SYS_MOUNT = 167 -+ SYS_CSOPS = 169 -+ SYS_CSOPS_AUDITTOKEN = 170 -+ SYS_WAITID = 173 -+ SYS_KDEBUG_TRACE = 180 -+ SYS_SETGID = 181 -+ SYS_SETEGID = 182 -+ SYS_SETEUID = 183 -+ SYS_SIGRETURN = 184 -+ SYS_CHUD = 185 -+ SYS_FDATASYNC = 187 -+ SYS_STAT = 188 -+ SYS_FSTAT = 189 -+ SYS_LSTAT = 190 -+ SYS_PATHCONF = 191 -+ SYS_FPATHCONF = 192 -+ SYS_GETRLIMIT = 194 -+ SYS_SETRLIMIT = 195 -+ SYS_GETDIRENTRIES = 196 -+ SYS_MMAP = 197 -+ SYS_LSEEK = 199 -+ SYS_TRUNCATE = 200 -+ SYS_FTRUNCATE = 201 -+ SYS___SYSCTL = 202 -+ SYS_MLOCK = 203 -+ SYS_MUNLOCK = 204 -+ SYS_UNDELETE = 205 -+ SYS_ATSOCKET = 206 -+ SYS_ATGETMSG = 207 -+ SYS_ATPUTMSG = 208 -+ SYS_ATPSNDREQ = 209 -+ SYS_ATPSNDRSP = 210 -+ SYS_ATPGETREQ = 211 -+ SYS_ATPGETRSP = 212 -+ SYS_OPEN_DPROTECTED_NP = 216 -+ SYS_GETATTRLIST = 220 -+ SYS_SETATTRLIST = 221 -+ SYS_GETDIRENTRIESATTR = 222 -+ SYS_EXCHANGEDATA = 223 -+ SYS_SEARCHFS = 225 -+ SYS_DELETE = 226 -+ SYS_COPYFILE = 227 -+ SYS_FGETATTRLIST = 228 -+ SYS_FSETATTRLIST = 229 -+ SYS_POLL = 230 -+ SYS_WATCHEVENT = 231 -+ SYS_WAITEVENT = 232 -+ SYS_MODWATCH = 233 -+ SYS_GETXATTR = 234 -+ SYS_FGETXATTR = 235 -+ SYS_SETXATTR = 236 -+ SYS_FSETXATTR = 237 -+ SYS_REMOVEXATTR = 238 -+ SYS_FREMOVEXATTR = 239 -+ SYS_LISTXATTR = 240 -+ SYS_FLISTXATTR = 241 -+ SYS_FSCTL = 242 -+ SYS_INITGROUPS = 243 -+ SYS_POSIX_SPAWN = 244 -+ SYS_FFSCTL = 245 -+ SYS_NFSCLNT = 247 -+ SYS_FHOPEN = 248 -+ SYS_MINHERIT = 250 -+ SYS_SEMSYS = 251 -+ SYS_MSGSYS = 252 -+ SYS_SHMSYS = 253 -+ SYS_SEMCTL = 254 -+ SYS_SEMGET = 255 -+ SYS_SEMOP = 256 -+ SYS_MSGCTL = 258 -+ SYS_MSGGET = 259 -+ SYS_MSGSND = 260 -+ SYS_MSGRCV = 261 -+ SYS_SHMAT = 262 -+ SYS_SHMCTL = 263 -+ SYS_SHMDT = 264 -+ SYS_SHMGET = 265 -+ SYS_SHM_OPEN = 266 -+ SYS_SHM_UNLINK = 267 -+ SYS_SEM_OPEN = 268 -+ SYS_SEM_CLOSE = 269 -+ SYS_SEM_UNLINK = 270 -+ SYS_SEM_WAIT = 271 -+ SYS_SEM_TRYWAIT = 272 -+ SYS_SEM_POST = 273 -+ SYS_SEM_GETVALUE = 274 -+ SYS_SEM_INIT = 275 -+ SYS_SEM_DESTROY = 276 -+ SYS_OPEN_EXTENDED = 277 -+ SYS_UMASK_EXTENDED = 278 -+ SYS_STAT_EXTENDED = 279 -+ SYS_LSTAT_EXTENDED = 280 -+ SYS_FSTAT_EXTENDED = 281 -+ SYS_CHMOD_EXTENDED = 282 -+ SYS_FCHMOD_EXTENDED = 283 -+ SYS_ACCESS_EXTENDED = 284 -+ SYS_SETTID = 285 -+ SYS_GETTID = 286 -+ SYS_SETSGROUPS = 287 -+ SYS_GETSGROUPS = 288 -+ SYS_SETWGROUPS = 289 -+ SYS_GETWGROUPS = 290 -+ SYS_MKFIFO_EXTENDED = 291 -+ SYS_MKDIR_EXTENDED = 292 -+ SYS_IDENTITYSVC = 293 -+ SYS_SHARED_REGION_CHECK_NP = 294 -+ SYS_VM_PRESSURE_MONITOR = 296 -+ SYS_PSYNCH_RW_LONGRDLOCK = 297 -+ SYS_PSYNCH_RW_YIELDWRLOCK = 298 -+ SYS_PSYNCH_RW_DOWNGRADE = 299 -+ SYS_PSYNCH_RW_UPGRADE = 300 -+ SYS_PSYNCH_MUTEXWAIT = 301 -+ SYS_PSYNCH_MUTEXDROP = 302 -+ SYS_PSYNCH_CVBROAD = 303 -+ SYS_PSYNCH_CVSIGNAL = 304 -+ SYS_PSYNCH_CVWAIT = 305 -+ SYS_PSYNCH_RW_RDLOCK = 306 -+ SYS_PSYNCH_RW_WRLOCK = 307 -+ SYS_PSYNCH_RW_UNLOCK = 308 -+ SYS_PSYNCH_RW_UNLOCK2 = 309 -+ SYS_GETSID = 310 -+ SYS_SETTID_WITH_PID = 311 -+ SYS_PSYNCH_CVCLRPREPOST = 312 -+ SYS_AIO_FSYNC = 313 -+ SYS_AIO_RETURN = 314 -+ SYS_AIO_SUSPEND = 315 -+ SYS_AIO_CANCEL = 316 -+ SYS_AIO_ERROR = 317 -+ SYS_AIO_READ = 318 -+ SYS_AIO_WRITE = 319 -+ SYS_LIO_LISTIO = 320 -+ SYS_IOPOLICYSYS = 322 -+ SYS_PROCESS_POLICY = 323 -+ SYS_MLOCKALL = 324 -+ SYS_MUNLOCKALL = 325 -+ SYS_ISSETUGID = 327 -+ SYS___PTHREAD_KILL = 328 -+ SYS___PTHREAD_SIGMASK = 329 -+ SYS___SIGWAIT = 330 -+ SYS___DISABLE_THREADSIGNAL = 331 -+ SYS___PTHREAD_MARKCANCEL = 332 -+ SYS___PTHREAD_CANCELED = 333 -+ SYS___SEMWAIT_SIGNAL = 334 -+ SYS_PROC_INFO = 336 -+ SYS_SENDFILE = 337 -+ SYS_STAT64 = 338 -+ SYS_FSTAT64 = 339 -+ SYS_LSTAT64 = 340 -+ SYS_STAT64_EXTENDED = 341 -+ SYS_LSTAT64_EXTENDED = 342 -+ SYS_FSTAT64_EXTENDED = 343 -+ SYS_GETDIRENTRIES64 = 344 -+ SYS_STATFS64 = 345 -+ SYS_FSTATFS64 = 346 -+ SYS_GETFSSTAT64 = 347 -+ SYS___PTHREAD_CHDIR = 348 -+ SYS___PTHREAD_FCHDIR = 349 -+ SYS_AUDIT = 350 -+ SYS_AUDITON = 351 -+ SYS_GETAUID = 353 -+ SYS_SETAUID = 354 -+ SYS_GETAUDIT_ADDR = 357 -+ SYS_SETAUDIT_ADDR = 358 -+ SYS_AUDITCTL = 359 -+ SYS_BSDTHREAD_CREATE = 360 -+ SYS_BSDTHREAD_TERMINATE = 361 -+ SYS_KQUEUE = 362 -+ SYS_KEVENT = 363 -+ SYS_LCHOWN = 364 -+ SYS_STACK_SNAPSHOT = 365 -+ SYS_BSDTHREAD_REGISTER = 366 -+ SYS_WORKQ_OPEN = 367 -+ SYS_WORKQ_KERNRETURN = 368 -+ SYS_KEVENT64 = 369 -+ SYS___OLD_SEMWAIT_SIGNAL = 370 -+ SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 -+ SYS_THREAD_SELFID = 372 -+ SYS_LEDGER = 373 -+ SYS___MAC_EXECVE = 380 -+ SYS___MAC_SYSCALL = 381 -+ SYS___MAC_GET_FILE = 382 -+ SYS___MAC_SET_FILE = 383 -+ SYS___MAC_GET_LINK = 384 -+ SYS___MAC_SET_LINK = 385 -+ SYS___MAC_GET_PROC = 386 -+ SYS___MAC_SET_PROC = 387 -+ SYS___MAC_GET_FD = 388 -+ SYS___MAC_SET_FD = 389 -+ SYS___MAC_GET_PID = 390 -+ SYS___MAC_GET_LCID = 391 -+ SYS___MAC_GET_LCTX = 392 -+ SYS___MAC_SET_LCTX = 393 -+ SYS_SETLCID = 394 -+ SYS_GETLCID = 395 -+ SYS_READ_NOCANCEL = 396 -+ SYS_WRITE_NOCANCEL = 397 -+ SYS_OPEN_NOCANCEL = 398 -+ SYS_CLOSE_NOCANCEL = 399 -+ SYS_WAIT4_NOCANCEL = 400 -+ SYS_RECVMSG_NOCANCEL = 401 -+ SYS_SENDMSG_NOCANCEL = 402 -+ SYS_RECVFROM_NOCANCEL = 403 -+ SYS_ACCEPT_NOCANCEL = 404 -+ SYS_MSYNC_NOCANCEL = 405 -+ SYS_FCNTL_NOCANCEL = 406 -+ SYS_SELECT_NOCANCEL = 407 -+ SYS_FSYNC_NOCANCEL = 408 -+ SYS_CONNECT_NOCANCEL = 409 -+ SYS_SIGSUSPEND_NOCANCEL = 410 -+ SYS_READV_NOCANCEL = 411 -+ SYS_WRITEV_NOCANCEL = 412 -+ SYS_SENDTO_NOCANCEL = 413 -+ SYS_PREAD_NOCANCEL = 414 -+ SYS_PWRITE_NOCANCEL = 415 -+ SYS_WAITID_NOCANCEL = 416 -+ SYS_POLL_NOCANCEL = 417 -+ SYS_MSGSND_NOCANCEL = 418 -+ SYS_MSGRCV_NOCANCEL = 419 -+ SYS_SEM_WAIT_NOCANCEL = 420 -+ SYS_AIO_SUSPEND_NOCANCEL = 421 -+ SYS___SIGWAIT_NOCANCEL = 422 -+ SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 -+ SYS___MAC_MOUNT = 424 -+ SYS___MAC_GET_MOUNT = 425 -+ SYS___MAC_GETFSSTAT = 426 -+ SYS_FSGETPATH = 427 -+ SYS_AUDIT_SESSION_SELF = 428 -+ SYS_AUDIT_SESSION_JOIN = 429 -+ SYS_FILEPORT_MAKEPORT = 430 -+ SYS_FILEPORT_MAKEFD = 431 -+ SYS_AUDIT_SESSION_PORT = 432 -+ SYS_PID_SUSPEND = 433 -+ SYS_PID_RESUME = 434 -+ SYS_PID_HIBERNATE = 435 -+ SYS_PID_SHUTDOWN_SOCKETS = 436 -+ SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 -+ SYS_KAS_INFO = 439 -+ SYS_MAXSYSCALL = 440 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go -new file mode 100644 -index 0000000..26677eb ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go -@@ -0,0 +1,398 @@ -+// mksysnum_darwin.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.4.sdk/usr/include/sys/syscall.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build arm64,darwin -+ -+package unix -+ -+const ( -+ SYS_SYSCALL = 0 -+ SYS_EXIT = 1 -+ SYS_FORK = 2 -+ SYS_READ = 3 -+ SYS_WRITE = 4 -+ SYS_OPEN = 5 -+ SYS_CLOSE = 6 -+ SYS_WAIT4 = 7 -+ SYS_LINK = 9 -+ SYS_UNLINK = 10 -+ SYS_CHDIR = 12 -+ SYS_FCHDIR = 13 -+ SYS_MKNOD = 14 -+ SYS_CHMOD = 15 -+ SYS_CHOWN = 16 -+ SYS_GETFSSTAT = 18 -+ SYS_GETPID = 20 -+ SYS_SETUID = 23 -+ SYS_GETUID = 24 -+ SYS_GETEUID = 25 -+ SYS_PTRACE = 26 -+ SYS_RECVMSG = 27 -+ SYS_SENDMSG = 28 -+ SYS_RECVFROM = 29 -+ SYS_ACCEPT = 30 -+ SYS_GETPEERNAME = 31 -+ SYS_GETSOCKNAME = 32 -+ SYS_ACCESS = 33 -+ SYS_CHFLAGS = 34 -+ SYS_FCHFLAGS = 35 -+ SYS_SYNC = 36 -+ SYS_KILL = 37 -+ SYS_GETPPID = 39 -+ SYS_DUP = 41 -+ SYS_PIPE = 42 -+ SYS_GETEGID = 43 -+ SYS_SIGACTION = 46 -+ SYS_GETGID = 47 -+ SYS_SIGPROCMASK = 48 -+ SYS_GETLOGIN = 49 -+ SYS_SETLOGIN = 50 -+ SYS_ACCT = 51 -+ SYS_SIGPENDING = 52 -+ SYS_SIGALTSTACK = 53 -+ SYS_IOCTL = 54 -+ SYS_REBOOT = 55 -+ SYS_REVOKE = 56 -+ SYS_SYMLINK = 57 -+ SYS_READLINK = 58 -+ SYS_EXECVE = 59 -+ SYS_UMASK = 60 -+ SYS_CHROOT = 61 -+ SYS_MSYNC = 65 -+ SYS_VFORK = 66 -+ SYS_MUNMAP = 73 -+ SYS_MPROTECT = 74 -+ SYS_MADVISE = 75 -+ SYS_MINCORE = 78 -+ SYS_GETGROUPS = 79 -+ SYS_SETGROUPS = 80 -+ SYS_GETPGRP = 81 -+ SYS_SETPGID = 82 -+ SYS_SETITIMER = 83 -+ SYS_SWAPON = 85 -+ SYS_GETITIMER = 86 -+ SYS_GETDTABLESIZE = 89 -+ SYS_DUP2 = 90 -+ SYS_FCNTL = 92 -+ SYS_SELECT = 93 -+ SYS_FSYNC = 95 -+ SYS_SETPRIORITY = 96 -+ SYS_SOCKET = 97 -+ SYS_CONNECT = 98 -+ SYS_GETPRIORITY = 100 -+ SYS_BIND = 104 -+ SYS_SETSOCKOPT = 105 -+ SYS_LISTEN = 106 -+ SYS_SIGSUSPEND = 111 -+ SYS_GETTIMEOFDAY = 116 -+ SYS_GETRUSAGE = 117 -+ SYS_GETSOCKOPT = 118 -+ SYS_READV = 120 -+ SYS_WRITEV = 121 -+ SYS_SETTIMEOFDAY = 122 -+ SYS_FCHOWN = 123 -+ SYS_FCHMOD = 124 -+ SYS_SETREUID = 126 -+ SYS_SETREGID = 127 -+ SYS_RENAME = 128 -+ SYS_FLOCK = 131 -+ SYS_MKFIFO = 132 -+ SYS_SENDTO = 133 -+ SYS_SHUTDOWN = 134 -+ SYS_SOCKETPAIR = 135 -+ SYS_MKDIR = 136 -+ SYS_RMDIR = 137 -+ SYS_UTIMES = 138 -+ SYS_FUTIMES = 139 -+ SYS_ADJTIME = 140 -+ SYS_GETHOSTUUID = 142 -+ SYS_SETSID = 147 -+ SYS_GETPGID = 151 -+ SYS_SETPRIVEXEC = 152 -+ SYS_PREAD = 153 -+ SYS_PWRITE = 154 -+ SYS_NFSSVC = 155 -+ SYS_STATFS = 157 -+ SYS_FSTATFS = 158 -+ SYS_UNMOUNT = 159 -+ SYS_GETFH = 161 -+ SYS_QUOTACTL = 165 -+ SYS_MOUNT = 167 -+ SYS_CSOPS = 169 -+ SYS_CSOPS_AUDITTOKEN = 170 -+ SYS_WAITID = 173 -+ SYS_KDEBUG_TRACE64 = 179 -+ SYS_KDEBUG_TRACE = 180 -+ SYS_SETGID = 181 -+ SYS_SETEGID = 182 -+ SYS_SETEUID = 183 -+ SYS_SIGRETURN = 184 -+ SYS_CHUD = 185 -+ SYS_FDATASYNC = 187 -+ SYS_STAT = 188 -+ SYS_FSTAT = 189 -+ SYS_LSTAT = 190 -+ SYS_PATHCONF = 191 -+ SYS_FPATHCONF = 192 -+ SYS_GETRLIMIT = 194 -+ SYS_SETRLIMIT = 195 -+ SYS_GETDIRENTRIES = 196 -+ SYS_MMAP = 197 -+ SYS_LSEEK = 199 -+ SYS_TRUNCATE = 200 -+ SYS_FTRUNCATE = 201 -+ SYS_SYSCTL = 202 -+ SYS_MLOCK = 203 -+ SYS_MUNLOCK = 204 -+ SYS_UNDELETE = 205 -+ SYS_OPEN_DPROTECTED_NP = 216 -+ SYS_GETATTRLIST = 220 -+ SYS_SETATTRLIST = 221 -+ SYS_GETDIRENTRIESATTR = 222 -+ SYS_EXCHANGEDATA = 223 -+ SYS_SEARCHFS = 225 -+ SYS_DELETE = 226 -+ SYS_COPYFILE = 227 -+ SYS_FGETATTRLIST = 228 -+ SYS_FSETATTRLIST = 229 -+ SYS_POLL = 230 -+ SYS_WATCHEVENT = 231 -+ SYS_WAITEVENT = 232 -+ SYS_MODWATCH = 233 -+ SYS_GETXATTR = 234 -+ SYS_FGETXATTR = 235 -+ SYS_SETXATTR = 236 -+ SYS_FSETXATTR = 237 -+ SYS_REMOVEXATTR = 238 -+ SYS_FREMOVEXATTR = 239 -+ SYS_LISTXATTR = 240 -+ SYS_FLISTXATTR = 241 -+ SYS_FSCTL = 242 -+ SYS_INITGROUPS = 243 -+ SYS_POSIX_SPAWN = 244 -+ SYS_FFSCTL = 245 -+ SYS_NFSCLNT = 247 -+ SYS_FHOPEN = 248 -+ SYS_MINHERIT = 250 -+ SYS_SEMSYS = 251 -+ SYS_MSGSYS = 252 -+ SYS_SHMSYS = 253 -+ SYS_SEMCTL = 254 -+ SYS_SEMGET = 255 -+ SYS_SEMOP = 256 -+ SYS_MSGCTL = 258 -+ SYS_MSGGET = 259 -+ SYS_MSGSND = 260 -+ SYS_MSGRCV = 261 -+ SYS_SHMAT = 262 -+ SYS_SHMCTL = 263 -+ SYS_SHMDT = 264 -+ SYS_SHMGET = 265 -+ SYS_SHM_OPEN = 266 -+ SYS_SHM_UNLINK = 267 -+ SYS_SEM_OPEN = 268 -+ SYS_SEM_CLOSE = 269 -+ SYS_SEM_UNLINK = 270 -+ SYS_SEM_WAIT = 271 -+ SYS_SEM_TRYWAIT = 272 -+ SYS_SEM_POST = 273 -+ SYS_SYSCTLBYNAME = 274 -+ SYS_OPEN_EXTENDED = 277 -+ SYS_UMASK_EXTENDED = 278 -+ SYS_STAT_EXTENDED = 279 -+ SYS_LSTAT_EXTENDED = 280 -+ SYS_FSTAT_EXTENDED = 281 -+ SYS_CHMOD_EXTENDED = 282 -+ SYS_FCHMOD_EXTENDED = 283 -+ SYS_ACCESS_EXTENDED = 284 -+ SYS_SETTID = 285 -+ SYS_GETTID = 286 -+ SYS_SETSGROUPS = 287 -+ SYS_GETSGROUPS = 288 -+ SYS_SETWGROUPS = 289 -+ SYS_GETWGROUPS = 290 -+ SYS_MKFIFO_EXTENDED = 291 -+ SYS_MKDIR_EXTENDED = 292 -+ SYS_IDENTITYSVC = 293 -+ SYS_SHARED_REGION_CHECK_NP = 294 -+ SYS_VM_PRESSURE_MONITOR = 296 -+ SYS_PSYNCH_RW_LONGRDLOCK = 297 -+ SYS_PSYNCH_RW_YIELDWRLOCK = 298 -+ SYS_PSYNCH_RW_DOWNGRADE = 299 -+ SYS_PSYNCH_RW_UPGRADE = 300 -+ SYS_PSYNCH_MUTEXWAIT = 301 -+ SYS_PSYNCH_MUTEXDROP = 302 -+ SYS_PSYNCH_CVBROAD = 303 -+ SYS_PSYNCH_CVSIGNAL = 304 -+ SYS_PSYNCH_CVWAIT = 305 -+ SYS_PSYNCH_RW_RDLOCK = 306 -+ SYS_PSYNCH_RW_WRLOCK = 307 -+ SYS_PSYNCH_RW_UNLOCK = 308 -+ SYS_PSYNCH_RW_UNLOCK2 = 309 -+ SYS_GETSID = 310 -+ SYS_SETTID_WITH_PID = 311 -+ SYS_PSYNCH_CVCLRPREPOST = 312 -+ SYS_AIO_FSYNC = 313 -+ SYS_AIO_RETURN = 314 -+ SYS_AIO_SUSPEND = 315 -+ SYS_AIO_CANCEL = 316 -+ SYS_AIO_ERROR = 317 -+ SYS_AIO_READ = 318 -+ SYS_AIO_WRITE = 319 -+ SYS_LIO_LISTIO = 320 -+ SYS_IOPOLICYSYS = 322 -+ SYS_PROCESS_POLICY = 323 -+ SYS_MLOCKALL = 324 -+ SYS_MUNLOCKALL = 325 -+ SYS_ISSETUGID = 327 -+ SYS___PTHREAD_KILL = 328 -+ SYS___PTHREAD_SIGMASK = 329 -+ SYS___SIGWAIT = 330 -+ SYS___DISABLE_THREADSIGNAL = 331 -+ SYS___PTHREAD_MARKCANCEL = 332 -+ SYS___PTHREAD_CANCELED = 333 -+ SYS___SEMWAIT_SIGNAL = 334 -+ SYS_PROC_INFO = 336 -+ SYS_SENDFILE = 337 -+ SYS_STAT64 = 338 -+ SYS_FSTAT64 = 339 -+ SYS_LSTAT64 = 340 -+ SYS_STAT64_EXTENDED = 341 -+ SYS_LSTAT64_EXTENDED = 342 -+ SYS_FSTAT64_EXTENDED = 343 -+ SYS_GETDIRENTRIES64 = 344 -+ SYS_STATFS64 = 345 -+ SYS_FSTATFS64 = 346 -+ SYS_GETFSSTAT64 = 347 -+ SYS___PTHREAD_CHDIR = 348 -+ SYS___PTHREAD_FCHDIR = 349 -+ SYS_AUDIT = 350 -+ SYS_AUDITON = 351 -+ SYS_GETAUID = 353 -+ SYS_SETAUID = 354 -+ SYS_GETAUDIT_ADDR = 357 -+ SYS_SETAUDIT_ADDR = 358 -+ SYS_AUDITCTL = 359 -+ SYS_BSDTHREAD_CREATE = 360 -+ SYS_BSDTHREAD_TERMINATE = 361 -+ SYS_KQUEUE = 362 -+ SYS_KEVENT = 363 -+ SYS_LCHOWN = 364 -+ SYS_STACK_SNAPSHOT = 365 -+ SYS_BSDTHREAD_REGISTER = 366 -+ SYS_WORKQ_OPEN = 367 -+ SYS_WORKQ_KERNRETURN = 368 -+ SYS_KEVENT64 = 369 -+ SYS___OLD_SEMWAIT_SIGNAL = 370 -+ SYS___OLD_SEMWAIT_SIGNAL_NOCANCEL = 371 -+ SYS_THREAD_SELFID = 372 -+ SYS_LEDGER = 373 -+ SYS___MAC_EXECVE = 380 -+ SYS___MAC_SYSCALL = 381 -+ SYS___MAC_GET_FILE = 382 -+ SYS___MAC_SET_FILE = 383 -+ SYS___MAC_GET_LINK = 384 -+ SYS___MAC_SET_LINK = 385 -+ SYS___MAC_GET_PROC = 386 -+ SYS___MAC_SET_PROC = 387 -+ SYS___MAC_GET_FD = 388 -+ SYS___MAC_SET_FD = 389 -+ SYS___MAC_GET_PID = 390 -+ SYS___MAC_GET_LCID = 391 -+ SYS___MAC_GET_LCTX = 392 -+ SYS___MAC_SET_LCTX = 393 -+ SYS_SETLCID = 394 -+ SYS_GETLCID = 395 -+ SYS_READ_NOCANCEL = 396 -+ SYS_WRITE_NOCANCEL = 397 -+ SYS_OPEN_NOCANCEL = 398 -+ SYS_CLOSE_NOCANCEL = 399 -+ SYS_WAIT4_NOCANCEL = 400 -+ SYS_RECVMSG_NOCANCEL = 401 -+ SYS_SENDMSG_NOCANCEL = 402 -+ SYS_RECVFROM_NOCANCEL = 403 -+ SYS_ACCEPT_NOCANCEL = 404 -+ SYS_MSYNC_NOCANCEL = 405 -+ SYS_FCNTL_NOCANCEL = 406 -+ SYS_SELECT_NOCANCEL = 407 -+ SYS_FSYNC_NOCANCEL = 408 -+ SYS_CONNECT_NOCANCEL = 409 -+ SYS_SIGSUSPEND_NOCANCEL = 410 -+ SYS_READV_NOCANCEL = 411 -+ SYS_WRITEV_NOCANCEL = 412 -+ SYS_SENDTO_NOCANCEL = 413 -+ SYS_PREAD_NOCANCEL = 414 -+ SYS_PWRITE_NOCANCEL = 415 -+ SYS_WAITID_NOCANCEL = 416 -+ SYS_POLL_NOCANCEL = 417 -+ SYS_MSGSND_NOCANCEL = 418 -+ SYS_MSGRCV_NOCANCEL = 419 -+ SYS_SEM_WAIT_NOCANCEL = 420 -+ SYS_AIO_SUSPEND_NOCANCEL = 421 -+ SYS___SIGWAIT_NOCANCEL = 422 -+ SYS___SEMWAIT_SIGNAL_NOCANCEL = 423 -+ SYS___MAC_MOUNT = 424 -+ SYS___MAC_GET_MOUNT = 425 -+ SYS___MAC_GETFSSTAT = 426 -+ SYS_FSGETPATH = 427 -+ SYS_AUDIT_SESSION_SELF = 428 -+ SYS_AUDIT_SESSION_JOIN = 429 -+ SYS_FILEPORT_MAKEPORT = 430 -+ SYS_FILEPORT_MAKEFD = 431 -+ SYS_AUDIT_SESSION_PORT = 432 -+ SYS_PID_SUSPEND = 433 -+ SYS_PID_RESUME = 434 -+ SYS_PID_HIBERNATE = 435 -+ SYS_PID_SHUTDOWN_SOCKETS = 436 -+ SYS_SHARED_REGION_MAP_AND_SLIDE_NP = 438 -+ SYS_KAS_INFO = 439 -+ SYS_MEMORYSTATUS_CONTROL = 440 -+ SYS_GUARDED_OPEN_NP = 441 -+ SYS_GUARDED_CLOSE_NP = 442 -+ SYS_GUARDED_KQUEUE_NP = 443 -+ SYS_CHANGE_FDGUARD_NP = 444 -+ SYS_PROC_RLIMIT_CONTROL = 446 -+ SYS_CONNECTX = 447 -+ SYS_DISCONNECTX = 448 -+ SYS_PEELOFF = 449 -+ SYS_SOCKET_DELEGATE = 450 -+ SYS_TELEMETRY = 451 -+ SYS_PROC_UUID_POLICY = 452 -+ SYS_MEMORYSTATUS_GET_LEVEL = 453 -+ SYS_SYSTEM_OVERRIDE = 454 -+ SYS_VFS_PURGE = 455 -+ SYS_SFI_CTL = 456 -+ SYS_SFI_PIDCTL = 457 -+ SYS_COALITION = 458 -+ SYS_COALITION_INFO = 459 -+ SYS_NECP_MATCH_POLICY = 460 -+ SYS_GETATTRLISTBULK = 461 -+ SYS_OPENAT = 463 -+ SYS_OPENAT_NOCANCEL = 464 -+ SYS_RENAMEAT = 465 -+ SYS_FACCESSAT = 466 -+ SYS_FCHMODAT = 467 -+ SYS_FCHOWNAT = 468 -+ SYS_FSTATAT = 469 -+ SYS_FSTATAT64 = 470 -+ SYS_LINKAT = 471 -+ SYS_UNLINKAT = 472 -+ SYS_READLINKAT = 473 -+ SYS_SYMLINKAT = 474 -+ SYS_MKDIRAT = 475 -+ SYS_GETATTRLISTAT = 476 -+ SYS_PROC_TRACE_LOG = 477 -+ SYS_BSDTHREAD_CTL = 478 -+ SYS_OPENBYID_NP = 479 -+ SYS_RECVMSG_X = 480 -+ SYS_SENDMSG_X = 481 -+ SYS_THREAD_SELFUSAGE = 482 -+ SYS_CSRCTL = 483 -+ SYS_GUARDED_OPEN_DPROTECTED_NP = 484 -+ SYS_GUARDED_WRITE_NP = 485 -+ SYS_GUARDED_PWRITE_NP = 486 -+ SYS_GUARDED_WRITEV_NP = 487 -+ SYS_RENAME_EXT = 488 -+ SYS_MREMAP_ENCRYPTED = 489 -+ SYS_MAXSYSCALL = 490 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go -new file mode 100644 -index 0000000..d6038fa ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go -@@ -0,0 +1,304 @@ -+// mksysnum_dragonfly.pl -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build amd64,dragonfly -+ -+package unix -+ -+const ( -+ // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int -+ SYS_EXIT = 1 // { void exit(int rval); } -+ SYS_FORK = 2 // { int fork(void); } -+ SYS_READ = 3 // { ssize_t read(int fd, void *buf, size_t nbyte); } -+ SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, size_t nbyte); } -+ SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } -+ SYS_CLOSE = 6 // { int close(int fd); } -+ SYS_WAIT4 = 7 // { int wait4(int pid, int *status, int options, \ -+ SYS_LINK = 9 // { int link(char *path, char *link); } -+ SYS_UNLINK = 10 // { int unlink(char *path); } -+ SYS_CHDIR = 12 // { int chdir(char *path); } -+ SYS_FCHDIR = 13 // { int fchdir(int fd); } -+ SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } -+ SYS_CHMOD = 15 // { int chmod(char *path, int mode); } -+ SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } -+ SYS_OBREAK = 17 // { int obreak(char *nsize); } break obreak_args int -+ SYS_GETFSSTAT = 18 // { int getfsstat(struct statfs *buf, long bufsize, \ -+ SYS_GETPID = 20 // { pid_t getpid(void); } -+ SYS_MOUNT = 21 // { int mount(char *type, char *path, int flags, \ -+ SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } -+ SYS_SETUID = 23 // { int setuid(uid_t uid); } -+ SYS_GETUID = 24 // { uid_t getuid(void); } -+ SYS_GETEUID = 25 // { uid_t geteuid(void); } -+ SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, caddr_t addr, \ -+ SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, int flags); } -+ SYS_SENDMSG = 28 // { int sendmsg(int s, caddr_t msg, int flags); } -+ SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, size_t len, \ -+ SYS_ACCEPT = 30 // { int accept(int s, caddr_t name, int *anamelen); } -+ SYS_GETPEERNAME = 31 // { int getpeername(int fdes, caddr_t asa, int *alen); } -+ SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, caddr_t asa, int *alen); } -+ SYS_ACCESS = 33 // { int access(char *path, int flags); } -+ SYS_CHFLAGS = 34 // { int chflags(char *path, int flags); } -+ SYS_FCHFLAGS = 35 // { int fchflags(int fd, int flags); } -+ SYS_SYNC = 36 // { int sync(void); } -+ SYS_KILL = 37 // { int kill(int pid, int signum); } -+ SYS_GETPPID = 39 // { pid_t getppid(void); } -+ SYS_DUP = 41 // { int dup(u_int fd); } -+ SYS_PIPE = 42 // { int pipe(void); } -+ SYS_GETEGID = 43 // { gid_t getegid(void); } -+ SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ -+ SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, int facs, \ -+ SYS_GETGID = 47 // { gid_t getgid(void); } -+ SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int namelen); } -+ SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } -+ SYS_ACCT = 51 // { int acct(char *path); } -+ SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, stack_t *oss); } -+ SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, caddr_t data); } -+ SYS_REBOOT = 55 // { int reboot(int opt); } -+ SYS_REVOKE = 56 // { int revoke(char *path); } -+ SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } -+ SYS_READLINK = 58 // { int readlink(char *path, char *buf, int count); } -+ SYS_EXECVE = 59 // { int execve(char *fname, char **argv, char **envv); } -+ SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args int -+ SYS_CHROOT = 61 // { int chroot(char *path); } -+ SYS_MSYNC = 65 // { int msync(void *addr, size_t len, int flags); } -+ SYS_VFORK = 66 // { pid_t vfork(void); } -+ SYS_SBRK = 69 // { int sbrk(int incr); } -+ SYS_SSTK = 70 // { int sstk(int incr); } -+ SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } -+ SYS_MPROTECT = 74 // { int mprotect(void *addr, size_t len, int prot); } -+ SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, int behav); } -+ SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ -+ SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, gid_t *gidset); } -+ SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, gid_t *gidset); } -+ SYS_GETPGRP = 81 // { int getpgrp(void); } -+ SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } -+ SYS_SETITIMER = 83 // { int setitimer(u_int which, struct itimerval *itv, \ -+ SYS_SWAPON = 85 // { int swapon(char *name); } -+ SYS_GETITIMER = 86 // { int getitimer(u_int which, struct itimerval *itv); } -+ SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } -+ SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } -+ SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } -+ SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ -+ SYS_FSYNC = 95 // { int fsync(int fd); } -+ SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, int prio); } -+ SYS_SOCKET = 97 // { int socket(int domain, int type, int protocol); } -+ SYS_CONNECT = 98 // { int connect(int s, caddr_t name, int namelen); } -+ SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } -+ SYS_BIND = 104 // { int bind(int s, caddr_t name, int namelen); } -+ SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ -+ SYS_LISTEN = 106 // { int listen(int s, int backlog); } -+ SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ -+ SYS_GETRUSAGE = 117 // { int getrusage(int who, struct rusage *rusage); } -+ SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ -+ SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, u_int iovcnt); } -+ SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ -+ SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ -+ SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } -+ SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } -+ SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } -+ SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } -+ SYS_RENAME = 128 // { int rename(char *from, char *to); } -+ SYS_FLOCK = 131 // { int flock(int fd, int how); } -+ SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } -+ SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ -+ SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } -+ SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, int protocol, \ -+ SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } -+ SYS_RMDIR = 137 // { int rmdir(char *path); } -+ SYS_UTIMES = 138 // { int utimes(char *path, struct timeval *tptr); } -+ SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ -+ SYS_SETSID = 147 // { int setsid(void); } -+ SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ -+ SYS_STATFS = 157 // { int statfs(char *path, struct statfs *buf); } -+ SYS_FSTATFS = 158 // { int fstatfs(int fd, struct statfs *buf); } -+ SYS_GETFH = 161 // { int getfh(char *fname, struct fhandle *fhp); } -+ SYS_GETDOMAINNAME = 162 // { int getdomainname(char *domainname, int len); } -+ SYS_SETDOMAINNAME = 163 // { int setdomainname(char *domainname, int len); } -+ SYS_UNAME = 164 // { int uname(struct utsname *name); } -+ SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } -+ SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ -+ SYS_EXTPREAD = 173 // { ssize_t extpread(int fd, void *buf, \ -+ SYS_EXTPWRITE = 174 // { ssize_t extpwrite(int fd, const void *buf, \ -+ SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } -+ SYS_SETGID = 181 // { int setgid(gid_t gid); } -+ SYS_SETEGID = 182 // { int setegid(gid_t egid); } -+ SYS_SETEUID = 183 // { int seteuid(uid_t euid); } -+ SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } -+ SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } -+ SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ -+ SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ -+ SYS_MMAP = 197 // { caddr_t mmap(caddr_t addr, size_t len, int prot, \ -+ // SYS_NOSYS = 198; // { int nosys(void); } __syscall __syscall_args int -+ SYS_LSEEK = 199 // { off_t lseek(int fd, int pad, off_t offset, \ -+ SYS_TRUNCATE = 200 // { int truncate(char *path, int pad, off_t length); } -+ SYS_FTRUNCATE = 201 // { int ftruncate(int fd, int pad, off_t length); } -+ SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, void *old, \ -+ SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } -+ SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } -+ SYS_UNDELETE = 205 // { int undelete(char *path); } -+ SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } -+ SYS_GETPGID = 207 // { int getpgid(pid_t pid); } -+ SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ -+ SYS___SEMCTL = 220 // { int __semctl(int semid, int semnum, int cmd, \ -+ SYS_SEMGET = 221 // { int semget(key_t key, int nsems, int semflg); } -+ SYS_SEMOP = 222 // { int semop(int semid, struct sembuf *sops, \ -+ SYS_MSGCTL = 224 // { int msgctl(int msqid, int cmd, \ -+ SYS_MSGGET = 225 // { int msgget(key_t key, int msgflg); } -+ SYS_MSGSND = 226 // { int msgsnd(int msqid, void *msgp, size_t msgsz, \ -+ SYS_MSGRCV = 227 // { int msgrcv(int msqid, void *msgp, size_t msgsz, \ -+ SYS_SHMAT = 228 // { caddr_t shmat(int shmid, const void *shmaddr, \ -+ SYS_SHMCTL = 229 // { int shmctl(int shmid, int cmd, \ -+ SYS_SHMDT = 230 // { int shmdt(const void *shmaddr); } -+ SYS_SHMGET = 231 // { int shmget(key_t key, size_t size, int shmflg); } -+ SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ -+ SYS_CLOCK_SETTIME = 233 // { int clock_settime(clockid_t clock_id, \ -+ SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ -+ SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ -+ SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, int inherit); } -+ SYS_RFORK = 251 // { int rfork(int flags); } -+ SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, u_int nfds, \ -+ SYS_ISSETUGID = 253 // { int issetugid(void); } -+ SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } -+ SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } -+ SYS_LUTIMES = 276 // { int lutimes(char *path, struct timeval *tptr); } -+ SYS_EXTPREADV = 289 // { ssize_t extpreadv(int fd, struct iovec *iovp, \ -+ SYS_EXTPWRITEV = 290 // { ssize_t extpwritev(int fd, struct iovec *iovp,\ -+ SYS_FHSTATFS = 297 // { int fhstatfs(const struct fhandle *u_fhp, struct statfs *buf); } -+ SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, int flags); } -+ SYS_MODNEXT = 300 // { int modnext(int modid); } -+ SYS_MODSTAT = 301 // { int modstat(int modid, struct module_stat* stat); } -+ SYS_MODFNEXT = 302 // { int modfnext(int modid); } -+ SYS_MODFIND = 303 // { int modfind(const char *name); } -+ SYS_KLDLOAD = 304 // { int kldload(const char *file); } -+ SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } -+ SYS_KLDFIND = 306 // { int kldfind(const char *file); } -+ SYS_KLDNEXT = 307 // { int kldnext(int fileid); } -+ SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct kld_file_stat* stat); } -+ SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } -+ SYS_GETSID = 310 // { int getsid(pid_t pid); } -+ SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, uid_t suid); } -+ SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, gid_t sgid); } -+ SYS_AIO_RETURN = 314 // { int aio_return(struct aiocb *aiocbp); } -+ SYS_AIO_SUSPEND = 315 // { int aio_suspend(struct aiocb * const * aiocbp, int nent, const struct timespec *timeout); } -+ SYS_AIO_CANCEL = 316 // { int aio_cancel(int fd, struct aiocb *aiocbp); } -+ SYS_AIO_ERROR = 317 // { int aio_error(struct aiocb *aiocbp); } -+ SYS_AIO_READ = 318 // { int aio_read(struct aiocb *aiocbp); } -+ SYS_AIO_WRITE = 319 // { int aio_write(struct aiocb *aiocbp); } -+ SYS_LIO_LISTIO = 320 // { int lio_listio(int mode, struct aiocb * const *acb_list, int nent, struct sigevent *sig); } -+ SYS_YIELD = 321 // { int yield(void); } -+ SYS_MLOCKALL = 324 // { int mlockall(int how); } -+ SYS_MUNLOCKALL = 325 // { int munlockall(void); } -+ SYS___GETCWD = 326 // { int __getcwd(u_char *buf, u_int buflen); } -+ SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, const struct sched_param *param); } -+ SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct sched_param *param); } -+ SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } -+ SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } -+ SYS_SCHED_YIELD = 331 // { int sched_yield (void); } -+ SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } -+ SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } -+ SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } -+ SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } -+ SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, void *data); } -+ SYS_JAIL = 338 // { int jail(struct jail *jail); } -+ SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, const sigset_t *set, \ -+ SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } -+ SYS_SIGACTION = 342 // { int sigaction(int sig, const struct sigaction *act, \ -+ SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } -+ SYS_SIGRETURN = 344 // { int sigreturn(ucontext_t *sigcntxp); } -+ SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set,\ -+ SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set,\ -+ SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ -+ SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ -+ SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, acl_type_t type, \ -+ SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, acl_type_t type, \ -+ SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ -+ SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, acl_type_t type); } -+ SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ -+ SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, acl_type_t type, \ -+ SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ -+ SYS_EXTATTR_SET_FILE = 356 // { int extattr_set_file(const char *path, \ -+ SYS_EXTATTR_GET_FILE = 357 // { int extattr_get_file(const char *path, \ -+ SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ -+ SYS_AIO_WAITCOMPLETE = 359 // { int aio_waitcomplete(struct aiocb **aiocbp, struct timespec *timeout); } -+ SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); } -+ SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); } -+ SYS_KQUEUE = 362 // { int kqueue(void); } -+ SYS_KEVENT = 363 // { int kevent(int fd, \ -+ SYS_SCTP_PEELOFF = 364 // { int sctp_peeloff(int sd, caddr_t name ); } -+ SYS_LCHFLAGS = 391 // { int lchflags(char *path, int flags); } -+ SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, int count); } -+ SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, size_t nbytes, \ -+ SYS_VARSYM_SET = 450 // { int varsym_set(int level, const char *name, const char *data); } -+ SYS_VARSYM_GET = 451 // { int varsym_get(int mask, const char *wild, char *buf, int bufsize); } -+ SYS_VARSYM_LIST = 452 // { int varsym_list(int level, char *buf, int maxsize, int *marker); } -+ SYS_EXEC_SYS_REGISTER = 465 // { int exec_sys_register(void *entry); } -+ SYS_EXEC_SYS_UNREGISTER = 466 // { int exec_sys_unregister(int id); } -+ SYS_SYS_CHECKPOINT = 467 // { int sys_checkpoint(int type, int fd, pid_t pid, int retval); } -+ SYS_MOUNTCTL = 468 // { int mountctl(const char *path, int op, int fd, const void *ctl, int ctllen, void *buf, int buflen); } -+ SYS_UMTX_SLEEP = 469 // { int umtx_sleep(volatile const int *ptr, int value, int timeout); } -+ SYS_UMTX_WAKEUP = 470 // { int umtx_wakeup(volatile const int *ptr, int count); } -+ SYS_JAIL_ATTACH = 471 // { int jail_attach(int jid); } -+ SYS_SET_TLS_AREA = 472 // { int set_tls_area(int which, struct tls_info *info, size_t infosize); } -+ SYS_GET_TLS_AREA = 473 // { int get_tls_area(int which, struct tls_info *info, size_t infosize); } -+ SYS_CLOSEFROM = 474 // { int closefrom(int fd); } -+ SYS_STAT = 475 // { int stat(const char *path, struct stat *ub); } -+ SYS_FSTAT = 476 // { int fstat(int fd, struct stat *sb); } -+ SYS_LSTAT = 477 // { int lstat(const char *path, struct stat *ub); } -+ SYS_FHSTAT = 478 // { int fhstat(const struct fhandle *u_fhp, struct stat *sb); } -+ SYS_GETDIRENTRIES = 479 // { int getdirentries(int fd, char *buf, u_int count, \ -+ SYS_GETDENTS = 480 // { int getdents(int fd, char *buf, size_t count); } -+ SYS_USCHED_SET = 481 // { int usched_set(pid_t pid, int cmd, void *data, \ -+ SYS_EXTACCEPT = 482 // { int extaccept(int s, int flags, caddr_t name, int *anamelen); } -+ SYS_EXTCONNECT = 483 // { int extconnect(int s, int flags, caddr_t name, int namelen); } -+ SYS_MCONTROL = 485 // { int mcontrol(void *addr, size_t len, int behav, off_t value); } -+ SYS_VMSPACE_CREATE = 486 // { int vmspace_create(void *id, int type, void *data); } -+ SYS_VMSPACE_DESTROY = 487 // { int vmspace_destroy(void *id); } -+ SYS_VMSPACE_CTL = 488 // { int vmspace_ctl(void *id, int cmd, \ -+ SYS_VMSPACE_MMAP = 489 // { int vmspace_mmap(void *id, void *addr, size_t len, \ -+ SYS_VMSPACE_MUNMAP = 490 // { int vmspace_munmap(void *id, void *addr, \ -+ SYS_VMSPACE_MCONTROL = 491 // { int vmspace_mcontrol(void *id, void *addr, \ -+ SYS_VMSPACE_PREAD = 492 // { ssize_t vmspace_pread(void *id, void *buf, \ -+ SYS_VMSPACE_PWRITE = 493 // { ssize_t vmspace_pwrite(void *id, const void *buf, \ -+ SYS_EXTEXIT = 494 // { void extexit(int how, int status, void *addr); } -+ SYS_LWP_CREATE = 495 // { int lwp_create(struct lwp_params *params); } -+ SYS_LWP_GETTID = 496 // { lwpid_t lwp_gettid(void); } -+ SYS_LWP_KILL = 497 // { int lwp_kill(pid_t pid, lwpid_t tid, int signum); } -+ SYS_LWP_RTPRIO = 498 // { int lwp_rtprio(int function, pid_t pid, lwpid_t tid, struct rtprio *rtp); } -+ SYS_PSELECT = 499 // { int pselect(int nd, fd_set *in, fd_set *ou, \ -+ SYS_STATVFS = 500 // { int statvfs(const char *path, struct statvfs *buf); } -+ SYS_FSTATVFS = 501 // { int fstatvfs(int fd, struct statvfs *buf); } -+ SYS_FHSTATVFS = 502 // { int fhstatvfs(const struct fhandle *u_fhp, struct statvfs *buf); } -+ SYS_GETVFSSTAT = 503 // { int getvfsstat(struct statfs *buf, \ -+ SYS_OPENAT = 504 // { int openat(int fd, char *path, int flags, int mode); } -+ SYS_FSTATAT = 505 // { int fstatat(int fd, char *path, \ -+ SYS_FCHMODAT = 506 // { int fchmodat(int fd, char *path, int mode, \ -+ SYS_FCHOWNAT = 507 // { int fchownat(int fd, char *path, int uid, int gid, \ -+ SYS_UNLINKAT = 508 // { int unlinkat(int fd, char *path, int flags); } -+ SYS_FACCESSAT = 509 // { int faccessat(int fd, char *path, int amode, \ -+ SYS_MQ_OPEN = 510 // { mqd_t mq_open(const char * name, int oflag, \ -+ SYS_MQ_CLOSE = 511 // { int mq_close(mqd_t mqdes); } -+ SYS_MQ_UNLINK = 512 // { int mq_unlink(const char *name); } -+ SYS_MQ_GETATTR = 513 // { int mq_getattr(mqd_t mqdes, \ -+ SYS_MQ_SETATTR = 514 // { int mq_setattr(mqd_t mqdes, \ -+ SYS_MQ_NOTIFY = 515 // { int mq_notify(mqd_t mqdes, \ -+ SYS_MQ_SEND = 516 // { int mq_send(mqd_t mqdes, const char *msg_ptr, \ -+ SYS_MQ_RECEIVE = 517 // { ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, \ -+ SYS_MQ_TIMEDSEND = 518 // { int mq_timedsend(mqd_t mqdes, \ -+ SYS_MQ_TIMEDRECEIVE = 519 // { ssize_t mq_timedreceive(mqd_t mqdes, \ -+ SYS_IOPRIO_SET = 520 // { int ioprio_set(int which, int who, int prio); } -+ SYS_IOPRIO_GET = 521 // { int ioprio_get(int which, int who); } -+ SYS_CHROOT_KERNEL = 522 // { int chroot_kernel(char *path); } -+ SYS_RENAMEAT = 523 // { int renameat(int oldfd, char *old, int newfd, \ -+ SYS_MKDIRAT = 524 // { int mkdirat(int fd, char *path, mode_t mode); } -+ SYS_MKFIFOAT = 525 // { int mkfifoat(int fd, char *path, mode_t mode); } -+ SYS_MKNODAT = 526 // { int mknodat(int fd, char *path, mode_t mode, \ -+ SYS_READLINKAT = 527 // { int readlinkat(int fd, char *path, char *buf, \ -+ SYS_SYMLINKAT = 528 // { int symlinkat(char *path1, int fd, char *path2); } -+ SYS_SWAPOFF = 529 // { int swapoff(char *name); } -+ SYS_VQUOTACTL = 530 // { int vquotactl(const char *path, \ -+ SYS_LINKAT = 531 // { int linkat(int fd1, char *path1, int fd2, \ -+ SYS_EACCESS = 532 // { int eaccess(char *path, int flags); } -+ SYS_LPATHCONF = 533 // { int lpathconf(char *path, int name); } -+ SYS_VMM_GUEST_CTL = 534 // { int vmm_guest_ctl(int op, struct vmm_guest_options *options); } -+ SYS_VMM_GUEST_SYNC_ADDR = 535 // { int vmm_guest_sync_addr(long *dstaddr, long *srcaddr); } -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go -new file mode 100644 -index 0000000..262a845 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go -@@ -0,0 +1,351 @@ -+// mksysnum_freebsd.pl -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build 386,freebsd -+ -+package unix -+ -+const ( -+ // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int -+ SYS_EXIT = 1 // { void sys_exit(int rval); } exit \ -+ SYS_FORK = 2 // { int fork(void); } -+ SYS_READ = 3 // { ssize_t read(int fd, void *buf, \ -+ SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \ -+ SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } -+ SYS_CLOSE = 6 // { int close(int fd); } -+ SYS_WAIT4 = 7 // { int wait4(int pid, int *status, \ -+ SYS_LINK = 9 // { int link(char *path, char *link); } -+ SYS_UNLINK = 10 // { int unlink(char *path); } -+ SYS_CHDIR = 12 // { int chdir(char *path); } -+ SYS_FCHDIR = 13 // { int fchdir(int fd); } -+ SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } -+ SYS_CHMOD = 15 // { int chmod(char *path, int mode); } -+ SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } -+ SYS_OBREAK = 17 // { int obreak(char *nsize); } break \ -+ SYS_GETPID = 20 // { pid_t getpid(void); } -+ SYS_MOUNT = 21 // { int mount(char *type, char *path, \ -+ SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } -+ SYS_SETUID = 23 // { int setuid(uid_t uid); } -+ SYS_GETUID = 24 // { uid_t getuid(void); } -+ SYS_GETEUID = 25 // { uid_t geteuid(void); } -+ SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, \ -+ SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \ -+ SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \ -+ SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \ -+ SYS_ACCEPT = 30 // { int accept(int s, \ -+ SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \ -+ SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \ -+ SYS_ACCESS = 33 // { int access(char *path, int amode); } -+ SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } -+ SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } -+ SYS_SYNC = 36 // { int sync(void); } -+ SYS_KILL = 37 // { int kill(int pid, int signum); } -+ SYS_GETPPID = 39 // { pid_t getppid(void); } -+ SYS_DUP = 41 // { int dup(u_int fd); } -+ SYS_PIPE = 42 // { int pipe(void); } -+ SYS_GETEGID = 43 // { gid_t getegid(void); } -+ SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ -+ SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \ -+ SYS_GETGID = 47 // { gid_t getgid(void); } -+ SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \ -+ SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } -+ SYS_ACCT = 51 // { int acct(char *path); } -+ SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \ -+ SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \ -+ SYS_REBOOT = 55 // { int reboot(int opt); } -+ SYS_REVOKE = 56 // { int revoke(char *path); } -+ SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } -+ SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, \ -+ SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \ -+ SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \ -+ SYS_CHROOT = 61 // { int chroot(char *path); } -+ SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \ -+ SYS_VFORK = 66 // { int vfork(void); } -+ SYS_SBRK = 69 // { int sbrk(int incr); } -+ SYS_SSTK = 70 // { int sstk(int incr); } -+ SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise \ -+ SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } -+ SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \ -+ SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \ -+ SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ -+ SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \ -+ SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \ -+ SYS_GETPGRP = 81 // { int getpgrp(void); } -+ SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } -+ SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \ -+ SYS_SWAPON = 85 // { int swapon(char *name); } -+ SYS_GETITIMER = 86 // { int getitimer(u_int which, \ -+ SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } -+ SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } -+ SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } -+ SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ -+ SYS_FSYNC = 95 // { int fsync(int fd); } -+ SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \ -+ SYS_SOCKET = 97 // { int socket(int domain, int type, \ -+ SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \ -+ SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } -+ SYS_BIND = 104 // { int bind(int s, caddr_t name, \ -+ SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ -+ SYS_LISTEN = 106 // { int listen(int s, int backlog); } -+ SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ -+ SYS_GETRUSAGE = 117 // { int getrusage(int who, \ -+ SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ -+ SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \ -+ SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ -+ SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ -+ SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } -+ SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } -+ SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } -+ SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } -+ SYS_RENAME = 128 // { int rename(char *from, char *to); } -+ SYS_FLOCK = 131 // { int flock(int fd, int how); } -+ SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } -+ SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ -+ SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } -+ SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \ -+ SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } -+ SYS_RMDIR = 137 // { int rmdir(char *path); } -+ SYS_UTIMES = 138 // { int utimes(char *path, \ -+ SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ -+ SYS_SETSID = 147 // { int setsid(void); } -+ SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ -+ SYS_LGETFH = 160 // { int lgetfh(char *fname, \ -+ SYS_GETFH = 161 // { int getfh(char *fname, \ -+ SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } -+ SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ -+ SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \ -+ SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \ -+ SYS_SETFIB = 175 // { int setfib(int fibnum); } -+ SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } -+ SYS_SETGID = 181 // { int setgid(gid_t gid); } -+ SYS_SETEGID = 182 // { int setegid(gid_t egid); } -+ SYS_SETEUID = 183 // { int seteuid(uid_t euid); } -+ SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } -+ SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } -+ SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } -+ SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } -+ SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } -+ SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ -+ SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ -+ SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \ -+ SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \ -+ SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \ -+ SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \ -+ SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \ -+ SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \ -+ SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } -+ SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } -+ SYS_UNDELETE = 205 // { int undelete(char *path); } -+ SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } -+ SYS_GETPGID = 207 // { int getpgid(pid_t pid); } -+ SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ -+ SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ -+ SYS_CLOCK_SETTIME = 233 // { int clock_settime( \ -+ SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ -+ SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \ -+ SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } -+ SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \ -+ SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \ -+ SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } -+ SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ -+ SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } -+ SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \ -+ SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \ -+ SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\ -+ SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } -+ SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \ -+ SYS_RFORK = 251 // { int rfork(int flags); } -+ SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \ -+ SYS_ISSETUGID = 253 // { int issetugid(void); } -+ SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } -+ SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \ -+ SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } -+ SYS_LUTIMES = 276 // { int lutimes(char *path, \ -+ SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } -+ SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } -+ SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } -+ SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \ -+ SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \ -+ SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \ -+ SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \ -+ SYS_MODNEXT = 300 // { int modnext(int modid); } -+ SYS_MODSTAT = 301 // { int modstat(int modid, \ -+ SYS_MODFNEXT = 302 // { int modfnext(int modid); } -+ SYS_MODFIND = 303 // { int modfind(const char *name); } -+ SYS_KLDLOAD = 304 // { int kldload(const char *file); } -+ SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } -+ SYS_KLDFIND = 306 // { int kldfind(const char *file); } -+ SYS_KLDNEXT = 307 // { int kldnext(int fileid); } -+ SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct \ -+ SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } -+ SYS_GETSID = 310 // { int getsid(pid_t pid); } -+ SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, \ -+ SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \ -+ SYS_YIELD = 321 // { int yield(void); } -+ SYS_MLOCKALL = 324 // { int mlockall(int how); } -+ SYS_MUNLOCKALL = 325 // { int munlockall(void); } -+ SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } -+ SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, \ -+ SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \ -+ SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \ -+ SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } -+ SYS_SCHED_YIELD = 331 // { int sched_yield (void); } -+ SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } -+ SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } -+ SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, \ -+ SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } -+ SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \ -+ SYS_JAIL = 338 // { int jail(struct jail *jail); } -+ SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \ -+ SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } -+ SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } -+ SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, \ -+ SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \ -+ SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ -+ SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ -+ SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \ -+ SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \ -+ SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ -+ SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \ -+ SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ -+ SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \ -+ SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ -+ SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \ -+ SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \ -+ SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ -+ SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \ -+ SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \ -+ SYS_KQUEUE = 362 // { int kqueue(void); } -+ SYS_KEVENT = 363 // { int kevent(int fd, \ -+ SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \ -+ SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \ -+ SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \ -+ SYS___SETUGID = 374 // { int __setugid(int flag); } -+ SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } -+ SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \ -+ SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } -+ SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } -+ SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, \ -+ SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \ -+ SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \ -+ SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \ -+ SYS_KENV = 390 // { int kenv(int what, const char *name, \ -+ SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \ -+ SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \ -+ SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \ -+ SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \ -+ SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \ -+ SYS_STATFS = 396 // { int statfs(char *path, \ -+ SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } -+ SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \ -+ SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \ -+ SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \ -+ SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \ -+ SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \ -+ SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \ -+ SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \ -+ SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \ -+ SYS_SIGACTION = 416 // { int sigaction(int sig, \ -+ SYS_SIGRETURN = 417 // { int sigreturn( \ -+ SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } -+ SYS_SETCONTEXT = 422 // { int setcontext( \ -+ SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \ -+ SYS_SWAPOFF = 424 // { int swapoff(const char *name); } -+ SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \ -+ SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \ -+ SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \ -+ SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \ -+ SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \ -+ SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \ -+ SYS_THR_EXIT = 431 // { void thr_exit(long *state); } -+ SYS_THR_SELF = 432 // { int thr_self(long *id); } -+ SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } -+ SYS__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); } -+ SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); } -+ SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } -+ SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \ -+ SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \ -+ SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \ -+ SYS_THR_SUSPEND = 442 // { int thr_suspend( \ -+ SYS_THR_WAKE = 443 // { int thr_wake(long id); } -+ SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } -+ SYS_AUDIT = 445 // { int audit(const void *record, \ -+ SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \ -+ SYS_GETAUID = 447 // { int getauid(uid_t *auid); } -+ SYS_SETAUID = 448 // { int setauid(uid_t *auid); } -+ SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } -+ SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } -+ SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( \ -+ SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \ -+ SYS_AUDITCTL = 453 // { int auditctl(char *path); } -+ SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \ -+ SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \ -+ SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } -+ SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } -+ SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } -+ SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \ -+ SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } -+ SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \ -+ SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \ -+ SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ -+ SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \ -+ SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \ -+ SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \ -+ SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \ -+ SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } -+ SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } -+ SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } -+ SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, \ -+ SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } -+ SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } -+ SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \ -+ SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \ -+ SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \ -+ SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \ -+ SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \ -+ SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \ -+ SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \ -+ SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \ -+ SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \ -+ SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \ -+ SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \ -+ SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } -+ SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } -+ SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, \ -+ SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \ -+ SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \ -+ SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \ -+ SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \ -+ SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } -+ SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } -+ SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \ -+ SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \ -+ SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } -+ SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } -+ SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } -+ SYS_CAP_NEW = 514 // { int cap_new(int fd, uint64_t rights); } -+ SYS_CAP_GETRIGHTS = 515 // { int cap_getrights(int fd, \ -+ SYS_CAP_ENTER = 516 // { int cap_enter(void); } -+ SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } -+ SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } -+ SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } -+ SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } -+ SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, \ -+ SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \ -+ SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } -+ SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \ -+ SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \ -+ SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \ -+ SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \ -+ SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \ -+ SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \ -+ SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \ -+ SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \ -+ SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \ -+ SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \ -+ SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \ -+ SYS_ACCEPT4 = 541 // { int accept4(int s, \ -+ SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } -+ SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \ -+ SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \ -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go -new file mode 100644 -index 0000000..57a60ea ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go -@@ -0,0 +1,351 @@ -+// mksysnum_freebsd.pl -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build amd64,freebsd -+ -+package unix -+ -+const ( -+ // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int -+ SYS_EXIT = 1 // { void sys_exit(int rval); } exit \ -+ SYS_FORK = 2 // { int fork(void); } -+ SYS_READ = 3 // { ssize_t read(int fd, void *buf, \ -+ SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \ -+ SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } -+ SYS_CLOSE = 6 // { int close(int fd); } -+ SYS_WAIT4 = 7 // { int wait4(int pid, int *status, \ -+ SYS_LINK = 9 // { int link(char *path, char *link); } -+ SYS_UNLINK = 10 // { int unlink(char *path); } -+ SYS_CHDIR = 12 // { int chdir(char *path); } -+ SYS_FCHDIR = 13 // { int fchdir(int fd); } -+ SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } -+ SYS_CHMOD = 15 // { int chmod(char *path, int mode); } -+ SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } -+ SYS_OBREAK = 17 // { int obreak(char *nsize); } break \ -+ SYS_GETPID = 20 // { pid_t getpid(void); } -+ SYS_MOUNT = 21 // { int mount(char *type, char *path, \ -+ SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } -+ SYS_SETUID = 23 // { int setuid(uid_t uid); } -+ SYS_GETUID = 24 // { uid_t getuid(void); } -+ SYS_GETEUID = 25 // { uid_t geteuid(void); } -+ SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, \ -+ SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \ -+ SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \ -+ SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \ -+ SYS_ACCEPT = 30 // { int accept(int s, \ -+ SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \ -+ SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \ -+ SYS_ACCESS = 33 // { int access(char *path, int amode); } -+ SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } -+ SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } -+ SYS_SYNC = 36 // { int sync(void); } -+ SYS_KILL = 37 // { int kill(int pid, int signum); } -+ SYS_GETPPID = 39 // { pid_t getppid(void); } -+ SYS_DUP = 41 // { int dup(u_int fd); } -+ SYS_PIPE = 42 // { int pipe(void); } -+ SYS_GETEGID = 43 // { gid_t getegid(void); } -+ SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ -+ SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \ -+ SYS_GETGID = 47 // { gid_t getgid(void); } -+ SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \ -+ SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } -+ SYS_ACCT = 51 // { int acct(char *path); } -+ SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \ -+ SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \ -+ SYS_REBOOT = 55 // { int reboot(int opt); } -+ SYS_REVOKE = 56 // { int revoke(char *path); } -+ SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } -+ SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, \ -+ SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \ -+ SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \ -+ SYS_CHROOT = 61 // { int chroot(char *path); } -+ SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \ -+ SYS_VFORK = 66 // { int vfork(void); } -+ SYS_SBRK = 69 // { int sbrk(int incr); } -+ SYS_SSTK = 70 // { int sstk(int incr); } -+ SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise \ -+ SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } -+ SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \ -+ SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \ -+ SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ -+ SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \ -+ SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \ -+ SYS_GETPGRP = 81 // { int getpgrp(void); } -+ SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } -+ SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \ -+ SYS_SWAPON = 85 // { int swapon(char *name); } -+ SYS_GETITIMER = 86 // { int getitimer(u_int which, \ -+ SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } -+ SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } -+ SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } -+ SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ -+ SYS_FSYNC = 95 // { int fsync(int fd); } -+ SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \ -+ SYS_SOCKET = 97 // { int socket(int domain, int type, \ -+ SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \ -+ SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } -+ SYS_BIND = 104 // { int bind(int s, caddr_t name, \ -+ SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ -+ SYS_LISTEN = 106 // { int listen(int s, int backlog); } -+ SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ -+ SYS_GETRUSAGE = 117 // { int getrusage(int who, \ -+ SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ -+ SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \ -+ SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ -+ SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ -+ SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } -+ SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } -+ SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } -+ SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } -+ SYS_RENAME = 128 // { int rename(char *from, char *to); } -+ SYS_FLOCK = 131 // { int flock(int fd, int how); } -+ SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } -+ SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ -+ SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } -+ SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \ -+ SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } -+ SYS_RMDIR = 137 // { int rmdir(char *path); } -+ SYS_UTIMES = 138 // { int utimes(char *path, \ -+ SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ -+ SYS_SETSID = 147 // { int setsid(void); } -+ SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ -+ SYS_LGETFH = 160 // { int lgetfh(char *fname, \ -+ SYS_GETFH = 161 // { int getfh(char *fname, \ -+ SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } -+ SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ -+ SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \ -+ SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \ -+ SYS_SETFIB = 175 // { int setfib(int fibnum); } -+ SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } -+ SYS_SETGID = 181 // { int setgid(gid_t gid); } -+ SYS_SETEGID = 182 // { int setegid(gid_t egid); } -+ SYS_SETEUID = 183 // { int seteuid(uid_t euid); } -+ SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } -+ SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } -+ SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } -+ SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } -+ SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } -+ SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ -+ SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ -+ SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \ -+ SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \ -+ SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \ -+ SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \ -+ SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \ -+ SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \ -+ SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } -+ SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } -+ SYS_UNDELETE = 205 // { int undelete(char *path); } -+ SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } -+ SYS_GETPGID = 207 // { int getpgid(pid_t pid); } -+ SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ -+ SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ -+ SYS_CLOCK_SETTIME = 233 // { int clock_settime( \ -+ SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ -+ SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \ -+ SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } -+ SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \ -+ SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \ -+ SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } -+ SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ -+ SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } -+ SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \ -+ SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \ -+ SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\ -+ SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } -+ SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \ -+ SYS_RFORK = 251 // { int rfork(int flags); } -+ SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \ -+ SYS_ISSETUGID = 253 // { int issetugid(void); } -+ SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } -+ SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \ -+ SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } -+ SYS_LUTIMES = 276 // { int lutimes(char *path, \ -+ SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } -+ SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } -+ SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } -+ SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \ -+ SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \ -+ SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \ -+ SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \ -+ SYS_MODNEXT = 300 // { int modnext(int modid); } -+ SYS_MODSTAT = 301 // { int modstat(int modid, \ -+ SYS_MODFNEXT = 302 // { int modfnext(int modid); } -+ SYS_MODFIND = 303 // { int modfind(const char *name); } -+ SYS_KLDLOAD = 304 // { int kldload(const char *file); } -+ SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } -+ SYS_KLDFIND = 306 // { int kldfind(const char *file); } -+ SYS_KLDNEXT = 307 // { int kldnext(int fileid); } -+ SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct \ -+ SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } -+ SYS_GETSID = 310 // { int getsid(pid_t pid); } -+ SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, \ -+ SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \ -+ SYS_YIELD = 321 // { int yield(void); } -+ SYS_MLOCKALL = 324 // { int mlockall(int how); } -+ SYS_MUNLOCKALL = 325 // { int munlockall(void); } -+ SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } -+ SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, \ -+ SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \ -+ SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \ -+ SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } -+ SYS_SCHED_YIELD = 331 // { int sched_yield (void); } -+ SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } -+ SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } -+ SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, \ -+ SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } -+ SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \ -+ SYS_JAIL = 338 // { int jail(struct jail *jail); } -+ SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \ -+ SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } -+ SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } -+ SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, \ -+ SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \ -+ SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ -+ SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ -+ SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \ -+ SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \ -+ SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ -+ SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \ -+ SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ -+ SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \ -+ SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ -+ SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \ -+ SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \ -+ SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ -+ SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \ -+ SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \ -+ SYS_KQUEUE = 362 // { int kqueue(void); } -+ SYS_KEVENT = 363 // { int kevent(int fd, \ -+ SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \ -+ SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \ -+ SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \ -+ SYS___SETUGID = 374 // { int __setugid(int flag); } -+ SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } -+ SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \ -+ SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } -+ SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } -+ SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, \ -+ SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \ -+ SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \ -+ SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \ -+ SYS_KENV = 390 // { int kenv(int what, const char *name, \ -+ SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \ -+ SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \ -+ SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \ -+ SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \ -+ SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \ -+ SYS_STATFS = 396 // { int statfs(char *path, \ -+ SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } -+ SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \ -+ SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \ -+ SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \ -+ SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \ -+ SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \ -+ SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \ -+ SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \ -+ SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \ -+ SYS_SIGACTION = 416 // { int sigaction(int sig, \ -+ SYS_SIGRETURN = 417 // { int sigreturn( \ -+ SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } -+ SYS_SETCONTEXT = 422 // { int setcontext( \ -+ SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \ -+ SYS_SWAPOFF = 424 // { int swapoff(const char *name); } -+ SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \ -+ SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \ -+ SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \ -+ SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \ -+ SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \ -+ SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \ -+ SYS_THR_EXIT = 431 // { void thr_exit(long *state); } -+ SYS_THR_SELF = 432 // { int thr_self(long *id); } -+ SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } -+ SYS__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); } -+ SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); } -+ SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } -+ SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \ -+ SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \ -+ SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \ -+ SYS_THR_SUSPEND = 442 // { int thr_suspend( \ -+ SYS_THR_WAKE = 443 // { int thr_wake(long id); } -+ SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } -+ SYS_AUDIT = 445 // { int audit(const void *record, \ -+ SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \ -+ SYS_GETAUID = 447 // { int getauid(uid_t *auid); } -+ SYS_SETAUID = 448 // { int setauid(uid_t *auid); } -+ SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } -+ SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } -+ SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( \ -+ SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \ -+ SYS_AUDITCTL = 453 // { int auditctl(char *path); } -+ SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \ -+ SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \ -+ SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } -+ SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } -+ SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } -+ SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \ -+ SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } -+ SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \ -+ SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \ -+ SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ -+ SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \ -+ SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \ -+ SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \ -+ SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \ -+ SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } -+ SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } -+ SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } -+ SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, \ -+ SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } -+ SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } -+ SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \ -+ SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \ -+ SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \ -+ SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \ -+ SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \ -+ SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \ -+ SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \ -+ SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \ -+ SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \ -+ SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \ -+ SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \ -+ SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } -+ SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } -+ SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, \ -+ SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \ -+ SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \ -+ SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \ -+ SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \ -+ SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } -+ SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } -+ SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \ -+ SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \ -+ SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } -+ SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } -+ SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } -+ SYS_CAP_NEW = 514 // { int cap_new(int fd, uint64_t rights); } -+ SYS_CAP_GETRIGHTS = 515 // { int cap_getrights(int fd, \ -+ SYS_CAP_ENTER = 516 // { int cap_enter(void); } -+ SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } -+ SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } -+ SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } -+ SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } -+ SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, \ -+ SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \ -+ SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } -+ SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \ -+ SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \ -+ SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \ -+ SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \ -+ SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \ -+ SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \ -+ SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \ -+ SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \ -+ SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \ -+ SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \ -+ SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \ -+ SYS_ACCEPT4 = 541 // { int accept4(int s, \ -+ SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } -+ SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \ -+ SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \ -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go -new file mode 100644 -index 0000000..206b9f6 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go -@@ -0,0 +1,351 @@ -+// mksysnum_freebsd.pl -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build arm,freebsd -+ -+package unix -+ -+const ( -+ // SYS_NOSYS = 0; // { int nosys(void); } syscall nosys_args int -+ SYS_EXIT = 1 // { void sys_exit(int rval); } exit \ -+ SYS_FORK = 2 // { int fork(void); } -+ SYS_READ = 3 // { ssize_t read(int fd, void *buf, \ -+ SYS_WRITE = 4 // { ssize_t write(int fd, const void *buf, \ -+ SYS_OPEN = 5 // { int open(char *path, int flags, int mode); } -+ SYS_CLOSE = 6 // { int close(int fd); } -+ SYS_WAIT4 = 7 // { int wait4(int pid, int *status, \ -+ SYS_LINK = 9 // { int link(char *path, char *link); } -+ SYS_UNLINK = 10 // { int unlink(char *path); } -+ SYS_CHDIR = 12 // { int chdir(char *path); } -+ SYS_FCHDIR = 13 // { int fchdir(int fd); } -+ SYS_MKNOD = 14 // { int mknod(char *path, int mode, int dev); } -+ SYS_CHMOD = 15 // { int chmod(char *path, int mode); } -+ SYS_CHOWN = 16 // { int chown(char *path, int uid, int gid); } -+ SYS_OBREAK = 17 // { int obreak(char *nsize); } break \ -+ SYS_GETPID = 20 // { pid_t getpid(void); } -+ SYS_MOUNT = 21 // { int mount(char *type, char *path, \ -+ SYS_UNMOUNT = 22 // { int unmount(char *path, int flags); } -+ SYS_SETUID = 23 // { int setuid(uid_t uid); } -+ SYS_GETUID = 24 // { uid_t getuid(void); } -+ SYS_GETEUID = 25 // { uid_t geteuid(void); } -+ SYS_PTRACE = 26 // { int ptrace(int req, pid_t pid, \ -+ SYS_RECVMSG = 27 // { int recvmsg(int s, struct msghdr *msg, \ -+ SYS_SENDMSG = 28 // { int sendmsg(int s, struct msghdr *msg, \ -+ SYS_RECVFROM = 29 // { int recvfrom(int s, caddr_t buf, \ -+ SYS_ACCEPT = 30 // { int accept(int s, \ -+ SYS_GETPEERNAME = 31 // { int getpeername(int fdes, \ -+ SYS_GETSOCKNAME = 32 // { int getsockname(int fdes, \ -+ SYS_ACCESS = 33 // { int access(char *path, int amode); } -+ SYS_CHFLAGS = 34 // { int chflags(const char *path, u_long flags); } -+ SYS_FCHFLAGS = 35 // { int fchflags(int fd, u_long flags); } -+ SYS_SYNC = 36 // { int sync(void); } -+ SYS_KILL = 37 // { int kill(int pid, int signum); } -+ SYS_GETPPID = 39 // { pid_t getppid(void); } -+ SYS_DUP = 41 // { int dup(u_int fd); } -+ SYS_PIPE = 42 // { int pipe(void); } -+ SYS_GETEGID = 43 // { gid_t getegid(void); } -+ SYS_PROFIL = 44 // { int profil(caddr_t samples, size_t size, \ -+ SYS_KTRACE = 45 // { int ktrace(const char *fname, int ops, \ -+ SYS_GETGID = 47 // { gid_t getgid(void); } -+ SYS_GETLOGIN = 49 // { int getlogin(char *namebuf, u_int \ -+ SYS_SETLOGIN = 50 // { int setlogin(char *namebuf); } -+ SYS_ACCT = 51 // { int acct(char *path); } -+ SYS_SIGALTSTACK = 53 // { int sigaltstack(stack_t *ss, \ -+ SYS_IOCTL = 54 // { int ioctl(int fd, u_long com, \ -+ SYS_REBOOT = 55 // { int reboot(int opt); } -+ SYS_REVOKE = 56 // { int revoke(char *path); } -+ SYS_SYMLINK = 57 // { int symlink(char *path, char *link); } -+ SYS_READLINK = 58 // { ssize_t readlink(char *path, char *buf, \ -+ SYS_EXECVE = 59 // { int execve(char *fname, char **argv, \ -+ SYS_UMASK = 60 // { int umask(int newmask); } umask umask_args \ -+ SYS_CHROOT = 61 // { int chroot(char *path); } -+ SYS_MSYNC = 65 // { int msync(void *addr, size_t len, \ -+ SYS_VFORK = 66 // { int vfork(void); } -+ SYS_SBRK = 69 // { int sbrk(int incr); } -+ SYS_SSTK = 70 // { int sstk(int incr); } -+ SYS_OVADVISE = 72 // { int ovadvise(int anom); } vadvise \ -+ SYS_MUNMAP = 73 // { int munmap(void *addr, size_t len); } -+ SYS_MPROTECT = 74 // { int mprotect(const void *addr, size_t len, \ -+ SYS_MADVISE = 75 // { int madvise(void *addr, size_t len, \ -+ SYS_MINCORE = 78 // { int mincore(const void *addr, size_t len, \ -+ SYS_GETGROUPS = 79 // { int getgroups(u_int gidsetsize, \ -+ SYS_SETGROUPS = 80 // { int setgroups(u_int gidsetsize, \ -+ SYS_GETPGRP = 81 // { int getpgrp(void); } -+ SYS_SETPGID = 82 // { int setpgid(int pid, int pgid); } -+ SYS_SETITIMER = 83 // { int setitimer(u_int which, struct \ -+ SYS_SWAPON = 85 // { int swapon(char *name); } -+ SYS_GETITIMER = 86 // { int getitimer(u_int which, \ -+ SYS_GETDTABLESIZE = 89 // { int getdtablesize(void); } -+ SYS_DUP2 = 90 // { int dup2(u_int from, u_int to); } -+ SYS_FCNTL = 92 // { int fcntl(int fd, int cmd, long arg); } -+ SYS_SELECT = 93 // { int select(int nd, fd_set *in, fd_set *ou, \ -+ SYS_FSYNC = 95 // { int fsync(int fd); } -+ SYS_SETPRIORITY = 96 // { int setpriority(int which, int who, \ -+ SYS_SOCKET = 97 // { int socket(int domain, int type, \ -+ SYS_CONNECT = 98 // { int connect(int s, caddr_t name, \ -+ SYS_GETPRIORITY = 100 // { int getpriority(int which, int who); } -+ SYS_BIND = 104 // { int bind(int s, caddr_t name, \ -+ SYS_SETSOCKOPT = 105 // { int setsockopt(int s, int level, int name, \ -+ SYS_LISTEN = 106 // { int listen(int s, int backlog); } -+ SYS_GETTIMEOFDAY = 116 // { int gettimeofday(struct timeval *tp, \ -+ SYS_GETRUSAGE = 117 // { int getrusage(int who, \ -+ SYS_GETSOCKOPT = 118 // { int getsockopt(int s, int level, int name, \ -+ SYS_READV = 120 // { int readv(int fd, struct iovec *iovp, \ -+ SYS_WRITEV = 121 // { int writev(int fd, struct iovec *iovp, \ -+ SYS_SETTIMEOFDAY = 122 // { int settimeofday(struct timeval *tv, \ -+ SYS_FCHOWN = 123 // { int fchown(int fd, int uid, int gid); } -+ SYS_FCHMOD = 124 // { int fchmod(int fd, int mode); } -+ SYS_SETREUID = 126 // { int setreuid(int ruid, int euid); } -+ SYS_SETREGID = 127 // { int setregid(int rgid, int egid); } -+ SYS_RENAME = 128 // { int rename(char *from, char *to); } -+ SYS_FLOCK = 131 // { int flock(int fd, int how); } -+ SYS_MKFIFO = 132 // { int mkfifo(char *path, int mode); } -+ SYS_SENDTO = 133 // { int sendto(int s, caddr_t buf, size_t len, \ -+ SYS_SHUTDOWN = 134 // { int shutdown(int s, int how); } -+ SYS_SOCKETPAIR = 135 // { int socketpair(int domain, int type, \ -+ SYS_MKDIR = 136 // { int mkdir(char *path, int mode); } -+ SYS_RMDIR = 137 // { int rmdir(char *path); } -+ SYS_UTIMES = 138 // { int utimes(char *path, \ -+ SYS_ADJTIME = 140 // { int adjtime(struct timeval *delta, \ -+ SYS_SETSID = 147 // { int setsid(void); } -+ SYS_QUOTACTL = 148 // { int quotactl(char *path, int cmd, int uid, \ -+ SYS_LGETFH = 160 // { int lgetfh(char *fname, \ -+ SYS_GETFH = 161 // { int getfh(char *fname, \ -+ SYS_SYSARCH = 165 // { int sysarch(int op, char *parms); } -+ SYS_RTPRIO = 166 // { int rtprio(int function, pid_t pid, \ -+ SYS_FREEBSD6_PREAD = 173 // { ssize_t freebsd6_pread(int fd, void *buf, \ -+ SYS_FREEBSD6_PWRITE = 174 // { ssize_t freebsd6_pwrite(int fd, \ -+ SYS_SETFIB = 175 // { int setfib(int fibnum); } -+ SYS_NTP_ADJTIME = 176 // { int ntp_adjtime(struct timex *tp); } -+ SYS_SETGID = 181 // { int setgid(gid_t gid); } -+ SYS_SETEGID = 182 // { int setegid(gid_t egid); } -+ SYS_SETEUID = 183 // { int seteuid(uid_t euid); } -+ SYS_STAT = 188 // { int stat(char *path, struct stat *ub); } -+ SYS_FSTAT = 189 // { int fstat(int fd, struct stat *sb); } -+ SYS_LSTAT = 190 // { int lstat(char *path, struct stat *ub); } -+ SYS_PATHCONF = 191 // { int pathconf(char *path, int name); } -+ SYS_FPATHCONF = 192 // { int fpathconf(int fd, int name); } -+ SYS_GETRLIMIT = 194 // { int getrlimit(u_int which, \ -+ SYS_SETRLIMIT = 195 // { int setrlimit(u_int which, \ -+ SYS_GETDIRENTRIES = 196 // { int getdirentries(int fd, char *buf, \ -+ SYS_FREEBSD6_MMAP = 197 // { caddr_t freebsd6_mmap(caddr_t addr, \ -+ SYS_FREEBSD6_LSEEK = 199 // { off_t freebsd6_lseek(int fd, int pad, \ -+ SYS_FREEBSD6_TRUNCATE = 200 // { int freebsd6_truncate(char *path, int pad, \ -+ SYS_FREEBSD6_FTRUNCATE = 201 // { int freebsd6_ftruncate(int fd, int pad, \ -+ SYS___SYSCTL = 202 // { int __sysctl(int *name, u_int namelen, \ -+ SYS_MLOCK = 203 // { int mlock(const void *addr, size_t len); } -+ SYS_MUNLOCK = 204 // { int munlock(const void *addr, size_t len); } -+ SYS_UNDELETE = 205 // { int undelete(char *path); } -+ SYS_FUTIMES = 206 // { int futimes(int fd, struct timeval *tptr); } -+ SYS_GETPGID = 207 // { int getpgid(pid_t pid); } -+ SYS_POLL = 209 // { int poll(struct pollfd *fds, u_int nfds, \ -+ SYS_CLOCK_GETTIME = 232 // { int clock_gettime(clockid_t clock_id, \ -+ SYS_CLOCK_SETTIME = 233 // { int clock_settime( \ -+ SYS_CLOCK_GETRES = 234 // { int clock_getres(clockid_t clock_id, \ -+ SYS_KTIMER_CREATE = 235 // { int ktimer_create(clockid_t clock_id, \ -+ SYS_KTIMER_DELETE = 236 // { int ktimer_delete(int timerid); } -+ SYS_KTIMER_SETTIME = 237 // { int ktimer_settime(int timerid, int flags, \ -+ SYS_KTIMER_GETTIME = 238 // { int ktimer_gettime(int timerid, struct \ -+ SYS_KTIMER_GETOVERRUN = 239 // { int ktimer_getoverrun(int timerid); } -+ SYS_NANOSLEEP = 240 // { int nanosleep(const struct timespec *rqtp, \ -+ SYS_FFCLOCK_GETCOUNTER = 241 // { int ffclock_getcounter(ffcounter *ffcount); } -+ SYS_FFCLOCK_SETESTIMATE = 242 // { int ffclock_setestimate( \ -+ SYS_FFCLOCK_GETESTIMATE = 243 // { int ffclock_getestimate( \ -+ SYS_CLOCK_GETCPUCLOCKID2 = 247 // { int clock_getcpuclockid2(id_t id,\ -+ SYS_NTP_GETTIME = 248 // { int ntp_gettime(struct ntptimeval *ntvp); } -+ SYS_MINHERIT = 250 // { int minherit(void *addr, size_t len, \ -+ SYS_RFORK = 251 // { int rfork(int flags); } -+ SYS_OPENBSD_POLL = 252 // { int openbsd_poll(struct pollfd *fds, \ -+ SYS_ISSETUGID = 253 // { int issetugid(void); } -+ SYS_LCHOWN = 254 // { int lchown(char *path, int uid, int gid); } -+ SYS_GETDENTS = 272 // { int getdents(int fd, char *buf, \ -+ SYS_LCHMOD = 274 // { int lchmod(char *path, mode_t mode); } -+ SYS_LUTIMES = 276 // { int lutimes(char *path, \ -+ SYS_NSTAT = 278 // { int nstat(char *path, struct nstat *ub); } -+ SYS_NFSTAT = 279 // { int nfstat(int fd, struct nstat *sb); } -+ SYS_NLSTAT = 280 // { int nlstat(char *path, struct nstat *ub); } -+ SYS_PREADV = 289 // { ssize_t preadv(int fd, struct iovec *iovp, \ -+ SYS_PWRITEV = 290 // { ssize_t pwritev(int fd, struct iovec *iovp, \ -+ SYS_FHOPEN = 298 // { int fhopen(const struct fhandle *u_fhp, \ -+ SYS_FHSTAT = 299 // { int fhstat(const struct fhandle *u_fhp, \ -+ SYS_MODNEXT = 300 // { int modnext(int modid); } -+ SYS_MODSTAT = 301 // { int modstat(int modid, \ -+ SYS_MODFNEXT = 302 // { int modfnext(int modid); } -+ SYS_MODFIND = 303 // { int modfind(const char *name); } -+ SYS_KLDLOAD = 304 // { int kldload(const char *file); } -+ SYS_KLDUNLOAD = 305 // { int kldunload(int fileid); } -+ SYS_KLDFIND = 306 // { int kldfind(const char *file); } -+ SYS_KLDNEXT = 307 // { int kldnext(int fileid); } -+ SYS_KLDSTAT = 308 // { int kldstat(int fileid, struct \ -+ SYS_KLDFIRSTMOD = 309 // { int kldfirstmod(int fileid); } -+ SYS_GETSID = 310 // { int getsid(pid_t pid); } -+ SYS_SETRESUID = 311 // { int setresuid(uid_t ruid, uid_t euid, \ -+ SYS_SETRESGID = 312 // { int setresgid(gid_t rgid, gid_t egid, \ -+ SYS_YIELD = 321 // { int yield(void); } -+ SYS_MLOCKALL = 324 // { int mlockall(int how); } -+ SYS_MUNLOCKALL = 325 // { int munlockall(void); } -+ SYS___GETCWD = 326 // { int __getcwd(char *buf, u_int buflen); } -+ SYS_SCHED_SETPARAM = 327 // { int sched_setparam (pid_t pid, \ -+ SYS_SCHED_GETPARAM = 328 // { int sched_getparam (pid_t pid, struct \ -+ SYS_SCHED_SETSCHEDULER = 329 // { int sched_setscheduler (pid_t pid, int \ -+ SYS_SCHED_GETSCHEDULER = 330 // { int sched_getscheduler (pid_t pid); } -+ SYS_SCHED_YIELD = 331 // { int sched_yield (void); } -+ SYS_SCHED_GET_PRIORITY_MAX = 332 // { int sched_get_priority_max (int policy); } -+ SYS_SCHED_GET_PRIORITY_MIN = 333 // { int sched_get_priority_min (int policy); } -+ SYS_SCHED_RR_GET_INTERVAL = 334 // { int sched_rr_get_interval (pid_t pid, \ -+ SYS_UTRACE = 335 // { int utrace(const void *addr, size_t len); } -+ SYS_KLDSYM = 337 // { int kldsym(int fileid, int cmd, \ -+ SYS_JAIL = 338 // { int jail(struct jail *jail); } -+ SYS_SIGPROCMASK = 340 // { int sigprocmask(int how, \ -+ SYS_SIGSUSPEND = 341 // { int sigsuspend(const sigset_t *sigmask); } -+ SYS_SIGPENDING = 343 // { int sigpending(sigset_t *set); } -+ SYS_SIGTIMEDWAIT = 345 // { int sigtimedwait(const sigset_t *set, \ -+ SYS_SIGWAITINFO = 346 // { int sigwaitinfo(const sigset_t *set, \ -+ SYS___ACL_GET_FILE = 347 // { int __acl_get_file(const char *path, \ -+ SYS___ACL_SET_FILE = 348 // { int __acl_set_file(const char *path, \ -+ SYS___ACL_GET_FD = 349 // { int __acl_get_fd(int filedes, \ -+ SYS___ACL_SET_FD = 350 // { int __acl_set_fd(int filedes, \ -+ SYS___ACL_DELETE_FILE = 351 // { int __acl_delete_file(const char *path, \ -+ SYS___ACL_DELETE_FD = 352 // { int __acl_delete_fd(int filedes, \ -+ SYS___ACL_ACLCHECK_FILE = 353 // { int __acl_aclcheck_file(const char *path, \ -+ SYS___ACL_ACLCHECK_FD = 354 // { int __acl_aclcheck_fd(int filedes, \ -+ SYS_EXTATTRCTL = 355 // { int extattrctl(const char *path, int cmd, \ -+ SYS_EXTATTR_SET_FILE = 356 // { ssize_t extattr_set_file( \ -+ SYS_EXTATTR_GET_FILE = 357 // { ssize_t extattr_get_file( \ -+ SYS_EXTATTR_DELETE_FILE = 358 // { int extattr_delete_file(const char *path, \ -+ SYS_GETRESUID = 360 // { int getresuid(uid_t *ruid, uid_t *euid, \ -+ SYS_GETRESGID = 361 // { int getresgid(gid_t *rgid, gid_t *egid, \ -+ SYS_KQUEUE = 362 // { int kqueue(void); } -+ SYS_KEVENT = 363 // { int kevent(int fd, \ -+ SYS_EXTATTR_SET_FD = 371 // { ssize_t extattr_set_fd(int fd, \ -+ SYS_EXTATTR_GET_FD = 372 // { ssize_t extattr_get_fd(int fd, \ -+ SYS_EXTATTR_DELETE_FD = 373 // { int extattr_delete_fd(int fd, \ -+ SYS___SETUGID = 374 // { int __setugid(int flag); } -+ SYS_EACCESS = 376 // { int eaccess(char *path, int amode); } -+ SYS_NMOUNT = 378 // { int nmount(struct iovec *iovp, \ -+ SYS___MAC_GET_PROC = 384 // { int __mac_get_proc(struct mac *mac_p); } -+ SYS___MAC_SET_PROC = 385 // { int __mac_set_proc(struct mac *mac_p); } -+ SYS___MAC_GET_FD = 386 // { int __mac_get_fd(int fd, \ -+ SYS___MAC_GET_FILE = 387 // { int __mac_get_file(const char *path_p, \ -+ SYS___MAC_SET_FD = 388 // { int __mac_set_fd(int fd, \ -+ SYS___MAC_SET_FILE = 389 // { int __mac_set_file(const char *path_p, \ -+ SYS_KENV = 390 // { int kenv(int what, const char *name, \ -+ SYS_LCHFLAGS = 391 // { int lchflags(const char *path, \ -+ SYS_UUIDGEN = 392 // { int uuidgen(struct uuid *store, \ -+ SYS_SENDFILE = 393 // { int sendfile(int fd, int s, off_t offset, \ -+ SYS_MAC_SYSCALL = 394 // { int mac_syscall(const char *policy, \ -+ SYS_GETFSSTAT = 395 // { int getfsstat(struct statfs *buf, \ -+ SYS_STATFS = 396 // { int statfs(char *path, \ -+ SYS_FSTATFS = 397 // { int fstatfs(int fd, struct statfs *buf); } -+ SYS_FHSTATFS = 398 // { int fhstatfs(const struct fhandle *u_fhp, \ -+ SYS___MAC_GET_PID = 409 // { int __mac_get_pid(pid_t pid, \ -+ SYS___MAC_GET_LINK = 410 // { int __mac_get_link(const char *path_p, \ -+ SYS___MAC_SET_LINK = 411 // { int __mac_set_link(const char *path_p, \ -+ SYS_EXTATTR_SET_LINK = 412 // { ssize_t extattr_set_link( \ -+ SYS_EXTATTR_GET_LINK = 413 // { ssize_t extattr_get_link( \ -+ SYS_EXTATTR_DELETE_LINK = 414 // { int extattr_delete_link( \ -+ SYS___MAC_EXECVE = 415 // { int __mac_execve(char *fname, char **argv, \ -+ SYS_SIGACTION = 416 // { int sigaction(int sig, \ -+ SYS_SIGRETURN = 417 // { int sigreturn( \ -+ SYS_GETCONTEXT = 421 // { int getcontext(struct __ucontext *ucp); } -+ SYS_SETCONTEXT = 422 // { int setcontext( \ -+ SYS_SWAPCONTEXT = 423 // { int swapcontext(struct __ucontext *oucp, \ -+ SYS_SWAPOFF = 424 // { int swapoff(const char *name); } -+ SYS___ACL_GET_LINK = 425 // { int __acl_get_link(const char *path, \ -+ SYS___ACL_SET_LINK = 426 // { int __acl_set_link(const char *path, \ -+ SYS___ACL_DELETE_LINK = 427 // { int __acl_delete_link(const char *path, \ -+ SYS___ACL_ACLCHECK_LINK = 428 // { int __acl_aclcheck_link(const char *path, \ -+ SYS_SIGWAIT = 429 // { int sigwait(const sigset_t *set, \ -+ SYS_THR_CREATE = 430 // { int thr_create(ucontext_t *ctx, long *id, \ -+ SYS_THR_EXIT = 431 // { void thr_exit(long *state); } -+ SYS_THR_SELF = 432 // { int thr_self(long *id); } -+ SYS_THR_KILL = 433 // { int thr_kill(long id, int sig); } -+ SYS__UMTX_LOCK = 434 // { int _umtx_lock(struct umtx *umtx); } -+ SYS__UMTX_UNLOCK = 435 // { int _umtx_unlock(struct umtx *umtx); } -+ SYS_JAIL_ATTACH = 436 // { int jail_attach(int jid); } -+ SYS_EXTATTR_LIST_FD = 437 // { ssize_t extattr_list_fd(int fd, \ -+ SYS_EXTATTR_LIST_FILE = 438 // { ssize_t extattr_list_file( \ -+ SYS_EXTATTR_LIST_LINK = 439 // { ssize_t extattr_list_link( \ -+ SYS_THR_SUSPEND = 442 // { int thr_suspend( \ -+ SYS_THR_WAKE = 443 // { int thr_wake(long id); } -+ SYS_KLDUNLOADF = 444 // { int kldunloadf(int fileid, int flags); } -+ SYS_AUDIT = 445 // { int audit(const void *record, \ -+ SYS_AUDITON = 446 // { int auditon(int cmd, void *data, \ -+ SYS_GETAUID = 447 // { int getauid(uid_t *auid); } -+ SYS_SETAUID = 448 // { int setauid(uid_t *auid); } -+ SYS_GETAUDIT = 449 // { int getaudit(struct auditinfo *auditinfo); } -+ SYS_SETAUDIT = 450 // { int setaudit(struct auditinfo *auditinfo); } -+ SYS_GETAUDIT_ADDR = 451 // { int getaudit_addr( \ -+ SYS_SETAUDIT_ADDR = 452 // { int setaudit_addr( \ -+ SYS_AUDITCTL = 453 // { int auditctl(char *path); } -+ SYS__UMTX_OP = 454 // { int _umtx_op(void *obj, int op, \ -+ SYS_THR_NEW = 455 // { int thr_new(struct thr_param *param, \ -+ SYS_SIGQUEUE = 456 // { int sigqueue(pid_t pid, int signum, void *value); } -+ SYS_ABORT2 = 463 // { int abort2(const char *why, int nargs, void **args); } -+ SYS_THR_SET_NAME = 464 // { int thr_set_name(long id, const char *name); } -+ SYS_RTPRIO_THREAD = 466 // { int rtprio_thread(int function, \ -+ SYS_SCTP_PEELOFF = 471 // { int sctp_peeloff(int sd, uint32_t name); } -+ SYS_SCTP_GENERIC_SENDMSG = 472 // { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \ -+ SYS_SCTP_GENERIC_SENDMSG_IOV = 473 // { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \ -+ SYS_SCTP_GENERIC_RECVMSG = 474 // { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ -+ SYS_PREAD = 475 // { ssize_t pread(int fd, void *buf, \ -+ SYS_PWRITE = 476 // { ssize_t pwrite(int fd, const void *buf, \ -+ SYS_MMAP = 477 // { caddr_t mmap(caddr_t addr, size_t len, \ -+ SYS_LSEEK = 478 // { off_t lseek(int fd, off_t offset, \ -+ SYS_TRUNCATE = 479 // { int truncate(char *path, off_t length); } -+ SYS_FTRUNCATE = 480 // { int ftruncate(int fd, off_t length); } -+ SYS_THR_KILL2 = 481 // { int thr_kill2(pid_t pid, long id, int sig); } -+ SYS_SHM_OPEN = 482 // { int shm_open(const char *path, int flags, \ -+ SYS_SHM_UNLINK = 483 // { int shm_unlink(const char *path); } -+ SYS_CPUSET = 484 // { int cpuset(cpusetid_t *setid); } -+ SYS_CPUSET_SETID = 485 // { int cpuset_setid(cpuwhich_t which, id_t id, \ -+ SYS_CPUSET_GETID = 486 // { int cpuset_getid(cpulevel_t level, \ -+ SYS_CPUSET_GETAFFINITY = 487 // { int cpuset_getaffinity(cpulevel_t level, \ -+ SYS_CPUSET_SETAFFINITY = 488 // { int cpuset_setaffinity(cpulevel_t level, \ -+ SYS_FACCESSAT = 489 // { int faccessat(int fd, char *path, int amode, \ -+ SYS_FCHMODAT = 490 // { int fchmodat(int fd, char *path, mode_t mode, \ -+ SYS_FCHOWNAT = 491 // { int fchownat(int fd, char *path, uid_t uid, \ -+ SYS_FEXECVE = 492 // { int fexecve(int fd, char **argv, \ -+ SYS_FSTATAT = 493 // { int fstatat(int fd, char *path, \ -+ SYS_FUTIMESAT = 494 // { int futimesat(int fd, char *path, \ -+ SYS_LINKAT = 495 // { int linkat(int fd1, char *path1, int fd2, \ -+ SYS_MKDIRAT = 496 // { int mkdirat(int fd, char *path, mode_t mode); } -+ SYS_MKFIFOAT = 497 // { int mkfifoat(int fd, char *path, mode_t mode); } -+ SYS_MKNODAT = 498 // { int mknodat(int fd, char *path, mode_t mode, \ -+ SYS_OPENAT = 499 // { int openat(int fd, char *path, int flag, \ -+ SYS_READLINKAT = 500 // { int readlinkat(int fd, char *path, char *buf, \ -+ SYS_RENAMEAT = 501 // { int renameat(int oldfd, char *old, int newfd, \ -+ SYS_SYMLINKAT = 502 // { int symlinkat(char *path1, int fd, \ -+ SYS_UNLINKAT = 503 // { int unlinkat(int fd, char *path, int flag); } -+ SYS_POSIX_OPENPT = 504 // { int posix_openpt(int flags); } -+ SYS_JAIL_GET = 506 // { int jail_get(struct iovec *iovp, \ -+ SYS_JAIL_SET = 507 // { int jail_set(struct iovec *iovp, \ -+ SYS_JAIL_REMOVE = 508 // { int jail_remove(int jid); } -+ SYS_CLOSEFROM = 509 // { int closefrom(int lowfd); } -+ SYS_LPATHCONF = 513 // { int lpathconf(char *path, int name); } -+ SYS_CAP_NEW = 514 // { int cap_new(int fd, uint64_t rights); } -+ SYS_CAP_GETRIGHTS = 515 // { int cap_getrights(int fd, \ -+ SYS_CAP_ENTER = 516 // { int cap_enter(void); } -+ SYS_CAP_GETMODE = 517 // { int cap_getmode(u_int *modep); } -+ SYS_PDFORK = 518 // { int pdfork(int *fdp, int flags); } -+ SYS_PDKILL = 519 // { int pdkill(int fd, int signum); } -+ SYS_PDGETPID = 520 // { int pdgetpid(int fd, pid_t *pidp); } -+ SYS_PSELECT = 522 // { int pselect(int nd, fd_set *in, \ -+ SYS_GETLOGINCLASS = 523 // { int getloginclass(char *namebuf, \ -+ SYS_SETLOGINCLASS = 524 // { int setloginclass(const char *namebuf); } -+ SYS_RCTL_GET_RACCT = 525 // { int rctl_get_racct(const void *inbufp, \ -+ SYS_RCTL_GET_RULES = 526 // { int rctl_get_rules(const void *inbufp, \ -+ SYS_RCTL_GET_LIMITS = 527 // { int rctl_get_limits(const void *inbufp, \ -+ SYS_RCTL_ADD_RULE = 528 // { int rctl_add_rule(const void *inbufp, \ -+ SYS_RCTL_REMOVE_RULE = 529 // { int rctl_remove_rule(const void *inbufp, \ -+ SYS_POSIX_FALLOCATE = 530 // { int posix_fallocate(int fd, \ -+ SYS_POSIX_FADVISE = 531 // { int posix_fadvise(int fd, off_t offset, \ -+ SYS_WAIT6 = 532 // { int wait6(idtype_t idtype, id_t id, \ -+ SYS_BINDAT = 538 // { int bindat(int fd, int s, caddr_t name, \ -+ SYS_CONNECTAT = 539 // { int connectat(int fd, int s, caddr_t name, \ -+ SYS_CHFLAGSAT = 540 // { int chflagsat(int fd, const char *path, \ -+ SYS_ACCEPT4 = 541 // { int accept4(int s, \ -+ SYS_PIPE2 = 542 // { int pipe2(int *fildes, int flags); } -+ SYS_PROCCTL = 544 // { int procctl(idtype_t idtype, id_t id, \ -+ SYS_PPOLL = 545 // { int ppoll(struct pollfd *fds, u_int nfds, \ -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go -new file mode 100644 -index 0000000..206b3c2 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go -@@ -0,0 +1,388 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m32 -D__i386__ linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build 386,linux -+ -+package unix -+ -+const ( -+ SYS_RESTART_SYSCALL = 0 -+ SYS_EXIT = 1 -+ SYS_FORK = 2 -+ SYS_READ = 3 -+ SYS_WRITE = 4 -+ SYS_OPEN = 5 -+ SYS_CLOSE = 6 -+ SYS_WAITPID = 7 -+ SYS_CREAT = 8 -+ SYS_LINK = 9 -+ SYS_UNLINK = 10 -+ SYS_EXECVE = 11 -+ SYS_CHDIR = 12 -+ SYS_TIME = 13 -+ SYS_MKNOD = 14 -+ SYS_CHMOD = 15 -+ SYS_LCHOWN = 16 -+ SYS_BREAK = 17 -+ SYS_OLDSTAT = 18 -+ SYS_LSEEK = 19 -+ SYS_GETPID = 20 -+ SYS_MOUNT = 21 -+ SYS_UMOUNT = 22 -+ SYS_SETUID = 23 -+ SYS_GETUID = 24 -+ SYS_STIME = 25 -+ SYS_PTRACE = 26 -+ SYS_ALARM = 27 -+ SYS_OLDFSTAT = 28 -+ SYS_PAUSE = 29 -+ SYS_UTIME = 30 -+ SYS_STTY = 31 -+ SYS_GTTY = 32 -+ SYS_ACCESS = 33 -+ SYS_NICE = 34 -+ SYS_FTIME = 35 -+ SYS_SYNC = 36 -+ SYS_KILL = 37 -+ SYS_RENAME = 38 -+ SYS_MKDIR = 39 -+ SYS_RMDIR = 40 -+ SYS_DUP = 41 -+ SYS_PIPE = 42 -+ SYS_TIMES = 43 -+ SYS_PROF = 44 -+ SYS_BRK = 45 -+ SYS_SETGID = 46 -+ SYS_GETGID = 47 -+ SYS_SIGNAL = 48 -+ SYS_GETEUID = 49 -+ SYS_GETEGID = 50 -+ SYS_ACCT = 51 -+ SYS_UMOUNT2 = 52 -+ SYS_LOCK = 53 -+ SYS_IOCTL = 54 -+ SYS_FCNTL = 55 -+ SYS_MPX = 56 -+ SYS_SETPGID = 57 -+ SYS_ULIMIT = 58 -+ SYS_OLDOLDUNAME = 59 -+ SYS_UMASK = 60 -+ SYS_CHROOT = 61 -+ SYS_USTAT = 62 -+ SYS_DUP2 = 63 -+ SYS_GETPPID = 64 -+ SYS_GETPGRP = 65 -+ SYS_SETSID = 66 -+ SYS_SIGACTION = 67 -+ SYS_SGETMASK = 68 -+ SYS_SSETMASK = 69 -+ SYS_SETREUID = 70 -+ SYS_SETREGID = 71 -+ SYS_SIGSUSPEND = 72 -+ SYS_SIGPENDING = 73 -+ SYS_SETHOSTNAME = 74 -+ SYS_SETRLIMIT = 75 -+ SYS_GETRLIMIT = 76 -+ SYS_GETRUSAGE = 77 -+ SYS_GETTIMEOFDAY = 78 -+ SYS_SETTIMEOFDAY = 79 -+ SYS_GETGROUPS = 80 -+ SYS_SETGROUPS = 81 -+ SYS_SELECT = 82 -+ SYS_SYMLINK = 83 -+ SYS_OLDLSTAT = 84 -+ SYS_READLINK = 85 -+ SYS_USELIB = 86 -+ SYS_SWAPON = 87 -+ SYS_REBOOT = 88 -+ SYS_READDIR = 89 -+ SYS_MMAP = 90 -+ SYS_MUNMAP = 91 -+ SYS_TRUNCATE = 92 -+ SYS_FTRUNCATE = 93 -+ SYS_FCHMOD = 94 -+ SYS_FCHOWN = 95 -+ SYS_GETPRIORITY = 96 -+ SYS_SETPRIORITY = 97 -+ SYS_PROFIL = 98 -+ SYS_STATFS = 99 -+ SYS_FSTATFS = 100 -+ SYS_IOPERM = 101 -+ SYS_SOCKETCALL = 102 -+ SYS_SYSLOG = 103 -+ SYS_SETITIMER = 104 -+ SYS_GETITIMER = 105 -+ SYS_STAT = 106 -+ SYS_LSTAT = 107 -+ SYS_FSTAT = 108 -+ SYS_OLDUNAME = 109 -+ SYS_IOPL = 110 -+ SYS_VHANGUP = 111 -+ SYS_IDLE = 112 -+ SYS_VM86OLD = 113 -+ SYS_WAIT4 = 114 -+ SYS_SWAPOFF = 115 -+ SYS_SYSINFO = 116 -+ SYS_IPC = 117 -+ SYS_FSYNC = 118 -+ SYS_SIGRETURN = 119 -+ SYS_CLONE = 120 -+ SYS_SETDOMAINNAME = 121 -+ SYS_UNAME = 122 -+ SYS_MODIFY_LDT = 123 -+ SYS_ADJTIMEX = 124 -+ SYS_MPROTECT = 125 -+ SYS_SIGPROCMASK = 126 -+ SYS_CREATE_MODULE = 127 -+ SYS_INIT_MODULE = 128 -+ SYS_DELETE_MODULE = 129 -+ SYS_GET_KERNEL_SYMS = 130 -+ SYS_QUOTACTL = 131 -+ SYS_GETPGID = 132 -+ SYS_FCHDIR = 133 -+ SYS_BDFLUSH = 134 -+ SYS_SYSFS = 135 -+ SYS_PERSONALITY = 136 -+ SYS_AFS_SYSCALL = 137 -+ SYS_SETFSUID = 138 -+ SYS_SETFSGID = 139 -+ SYS__LLSEEK = 140 -+ SYS_GETDENTS = 141 -+ SYS__NEWSELECT = 142 -+ SYS_FLOCK = 143 -+ SYS_MSYNC = 144 -+ SYS_READV = 145 -+ SYS_WRITEV = 146 -+ SYS_GETSID = 147 -+ SYS_FDATASYNC = 148 -+ SYS__SYSCTL = 149 -+ SYS_MLOCK = 150 -+ SYS_MUNLOCK = 151 -+ SYS_MLOCKALL = 152 -+ SYS_MUNLOCKALL = 153 -+ SYS_SCHED_SETPARAM = 154 -+ SYS_SCHED_GETPARAM = 155 -+ SYS_SCHED_SETSCHEDULER = 156 -+ SYS_SCHED_GETSCHEDULER = 157 -+ SYS_SCHED_YIELD = 158 -+ SYS_SCHED_GET_PRIORITY_MAX = 159 -+ SYS_SCHED_GET_PRIORITY_MIN = 160 -+ SYS_SCHED_RR_GET_INTERVAL = 161 -+ SYS_NANOSLEEP = 162 -+ SYS_MREMAP = 163 -+ SYS_SETRESUID = 164 -+ SYS_GETRESUID = 165 -+ SYS_VM86 = 166 -+ SYS_QUERY_MODULE = 167 -+ SYS_POLL = 168 -+ SYS_NFSSERVCTL = 169 -+ SYS_SETRESGID = 170 -+ SYS_GETRESGID = 171 -+ SYS_PRCTL = 172 -+ SYS_RT_SIGRETURN = 173 -+ SYS_RT_SIGACTION = 174 -+ SYS_RT_SIGPROCMASK = 175 -+ SYS_RT_SIGPENDING = 176 -+ SYS_RT_SIGTIMEDWAIT = 177 -+ SYS_RT_SIGQUEUEINFO = 178 -+ SYS_RT_SIGSUSPEND = 179 -+ SYS_PREAD64 = 180 -+ SYS_PWRITE64 = 181 -+ SYS_CHOWN = 182 -+ SYS_GETCWD = 183 -+ SYS_CAPGET = 184 -+ SYS_CAPSET = 185 -+ SYS_SIGALTSTACK = 186 -+ SYS_SENDFILE = 187 -+ SYS_GETPMSG = 188 -+ SYS_PUTPMSG = 189 -+ SYS_VFORK = 190 -+ SYS_UGETRLIMIT = 191 -+ SYS_MMAP2 = 192 -+ SYS_TRUNCATE64 = 193 -+ SYS_FTRUNCATE64 = 194 -+ SYS_STAT64 = 195 -+ SYS_LSTAT64 = 196 -+ SYS_FSTAT64 = 197 -+ SYS_LCHOWN32 = 198 -+ SYS_GETUID32 = 199 -+ SYS_GETGID32 = 200 -+ SYS_GETEUID32 = 201 -+ SYS_GETEGID32 = 202 -+ SYS_SETREUID32 = 203 -+ SYS_SETREGID32 = 204 -+ SYS_GETGROUPS32 = 205 -+ SYS_SETGROUPS32 = 206 -+ SYS_FCHOWN32 = 207 -+ SYS_SETRESUID32 = 208 -+ SYS_GETRESUID32 = 209 -+ SYS_SETRESGID32 = 210 -+ SYS_GETRESGID32 = 211 -+ SYS_CHOWN32 = 212 -+ SYS_SETUID32 = 213 -+ SYS_SETGID32 = 214 -+ SYS_SETFSUID32 = 215 -+ SYS_SETFSGID32 = 216 -+ SYS_PIVOT_ROOT = 217 -+ SYS_MINCORE = 218 -+ SYS_MADVISE = 219 -+ SYS_GETDENTS64 = 220 -+ SYS_FCNTL64 = 221 -+ SYS_GETTID = 224 -+ SYS_READAHEAD = 225 -+ SYS_SETXATTR = 226 -+ SYS_LSETXATTR = 227 -+ SYS_FSETXATTR = 228 -+ SYS_GETXATTR = 229 -+ SYS_LGETXATTR = 230 -+ SYS_FGETXATTR = 231 -+ SYS_LISTXATTR = 232 -+ SYS_LLISTXATTR = 233 -+ SYS_FLISTXATTR = 234 -+ SYS_REMOVEXATTR = 235 -+ SYS_LREMOVEXATTR = 236 -+ SYS_FREMOVEXATTR = 237 -+ SYS_TKILL = 238 -+ SYS_SENDFILE64 = 239 -+ SYS_FUTEX = 240 -+ SYS_SCHED_SETAFFINITY = 241 -+ SYS_SCHED_GETAFFINITY = 242 -+ SYS_SET_THREAD_AREA = 243 -+ SYS_GET_THREAD_AREA = 244 -+ SYS_IO_SETUP = 245 -+ SYS_IO_DESTROY = 246 -+ SYS_IO_GETEVENTS = 247 -+ SYS_IO_SUBMIT = 248 -+ SYS_IO_CANCEL = 249 -+ SYS_FADVISE64 = 250 -+ SYS_EXIT_GROUP = 252 -+ SYS_LOOKUP_DCOOKIE = 253 -+ SYS_EPOLL_CREATE = 254 -+ SYS_EPOLL_CTL = 255 -+ SYS_EPOLL_WAIT = 256 -+ SYS_REMAP_FILE_PAGES = 257 -+ SYS_SET_TID_ADDRESS = 258 -+ SYS_TIMER_CREATE = 259 -+ SYS_TIMER_SETTIME = 260 -+ SYS_TIMER_GETTIME = 261 -+ SYS_TIMER_GETOVERRUN = 262 -+ SYS_TIMER_DELETE = 263 -+ SYS_CLOCK_SETTIME = 264 -+ SYS_CLOCK_GETTIME = 265 -+ SYS_CLOCK_GETRES = 266 -+ SYS_CLOCK_NANOSLEEP = 267 -+ SYS_STATFS64 = 268 -+ SYS_FSTATFS64 = 269 -+ SYS_TGKILL = 270 -+ SYS_UTIMES = 271 -+ SYS_FADVISE64_64 = 272 -+ SYS_VSERVER = 273 -+ SYS_MBIND = 274 -+ SYS_GET_MEMPOLICY = 275 -+ SYS_SET_MEMPOLICY = 276 -+ SYS_MQ_OPEN = 277 -+ SYS_MQ_UNLINK = 278 -+ SYS_MQ_TIMEDSEND = 279 -+ SYS_MQ_TIMEDRECEIVE = 280 -+ SYS_MQ_NOTIFY = 281 -+ SYS_MQ_GETSETATTR = 282 -+ SYS_KEXEC_LOAD = 283 -+ SYS_WAITID = 284 -+ SYS_ADD_KEY = 286 -+ SYS_REQUEST_KEY = 287 -+ SYS_KEYCTL = 288 -+ SYS_IOPRIO_SET = 289 -+ SYS_IOPRIO_GET = 290 -+ SYS_INOTIFY_INIT = 291 -+ SYS_INOTIFY_ADD_WATCH = 292 -+ SYS_INOTIFY_RM_WATCH = 293 -+ SYS_MIGRATE_PAGES = 294 -+ SYS_OPENAT = 295 -+ SYS_MKDIRAT = 296 -+ SYS_MKNODAT = 297 -+ SYS_FCHOWNAT = 298 -+ SYS_FUTIMESAT = 299 -+ SYS_FSTATAT64 = 300 -+ SYS_UNLINKAT = 301 -+ SYS_RENAMEAT = 302 -+ SYS_LINKAT = 303 -+ SYS_SYMLINKAT = 304 -+ SYS_READLINKAT = 305 -+ SYS_FCHMODAT = 306 -+ SYS_FACCESSAT = 307 -+ SYS_PSELECT6 = 308 -+ SYS_PPOLL = 309 -+ SYS_UNSHARE = 310 -+ SYS_SET_ROBUST_LIST = 311 -+ SYS_GET_ROBUST_LIST = 312 -+ SYS_SPLICE = 313 -+ SYS_SYNC_FILE_RANGE = 314 -+ SYS_TEE = 315 -+ SYS_VMSPLICE = 316 -+ SYS_MOVE_PAGES = 317 -+ SYS_GETCPU = 318 -+ SYS_EPOLL_PWAIT = 319 -+ SYS_UTIMENSAT = 320 -+ SYS_SIGNALFD = 321 -+ SYS_TIMERFD_CREATE = 322 -+ SYS_EVENTFD = 323 -+ SYS_FALLOCATE = 324 -+ SYS_TIMERFD_SETTIME = 325 -+ SYS_TIMERFD_GETTIME = 326 -+ SYS_SIGNALFD4 = 327 -+ SYS_EVENTFD2 = 328 -+ SYS_EPOLL_CREATE1 = 329 -+ SYS_DUP3 = 330 -+ SYS_PIPE2 = 331 -+ SYS_INOTIFY_INIT1 = 332 -+ SYS_PREADV = 333 -+ SYS_PWRITEV = 334 -+ SYS_RT_TGSIGQUEUEINFO = 335 -+ SYS_PERF_EVENT_OPEN = 336 -+ SYS_RECVMMSG = 337 -+ SYS_FANOTIFY_INIT = 338 -+ SYS_FANOTIFY_MARK = 339 -+ SYS_PRLIMIT64 = 340 -+ SYS_NAME_TO_HANDLE_AT = 341 -+ SYS_OPEN_BY_HANDLE_AT = 342 -+ SYS_CLOCK_ADJTIME = 343 -+ SYS_SYNCFS = 344 -+ SYS_SENDMMSG = 345 -+ SYS_SETNS = 346 -+ SYS_PROCESS_VM_READV = 347 -+ SYS_PROCESS_VM_WRITEV = 348 -+ SYS_KCMP = 349 -+ SYS_FINIT_MODULE = 350 -+ SYS_SCHED_SETATTR = 351 -+ SYS_SCHED_GETATTR = 352 -+ SYS_RENAMEAT2 = 353 -+ SYS_SECCOMP = 354 -+ SYS_GETRANDOM = 355 -+ SYS_MEMFD_CREATE = 356 -+ SYS_BPF = 357 -+ SYS_EXECVEAT = 358 -+ SYS_SOCKET = 359 -+ SYS_SOCKETPAIR = 360 -+ SYS_BIND = 361 -+ SYS_CONNECT = 362 -+ SYS_LISTEN = 363 -+ SYS_ACCEPT4 = 364 -+ SYS_GETSOCKOPT = 365 -+ SYS_SETSOCKOPT = 366 -+ SYS_GETSOCKNAME = 367 -+ SYS_GETPEERNAME = 368 -+ SYS_SENDTO = 369 -+ SYS_SENDMSG = 370 -+ SYS_RECVFROM = 371 -+ SYS_RECVMSG = 372 -+ SYS_SHUTDOWN = 373 -+ SYS_USERFAULTFD = 374 -+ SYS_MEMBARRIER = 375 -+ SYS_MLOCK2 = 376 -+ SYS_COPY_FILE_RANGE = 377 -+ SYS_PREADV2 = 378 -+ SYS_PWRITEV2 = 379 -+ SYS_PKEY_MPROTECT = 380 -+ SYS_PKEY_ALLOC = 381 -+ SYS_PKEY_FREE = 382 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go -new file mode 100644 -index 0000000..9042317 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go -@@ -0,0 +1,341 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m64 linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build amd64,linux -+ -+package unix -+ -+const ( -+ SYS_READ = 0 -+ SYS_WRITE = 1 -+ SYS_OPEN = 2 -+ SYS_CLOSE = 3 -+ SYS_STAT = 4 -+ SYS_FSTAT = 5 -+ SYS_LSTAT = 6 -+ SYS_POLL = 7 -+ SYS_LSEEK = 8 -+ SYS_MMAP = 9 -+ SYS_MPROTECT = 10 -+ SYS_MUNMAP = 11 -+ SYS_BRK = 12 -+ SYS_RT_SIGACTION = 13 -+ SYS_RT_SIGPROCMASK = 14 -+ SYS_RT_SIGRETURN = 15 -+ SYS_IOCTL = 16 -+ SYS_PREAD64 = 17 -+ SYS_PWRITE64 = 18 -+ SYS_READV = 19 -+ SYS_WRITEV = 20 -+ SYS_ACCESS = 21 -+ SYS_PIPE = 22 -+ SYS_SELECT = 23 -+ SYS_SCHED_YIELD = 24 -+ SYS_MREMAP = 25 -+ SYS_MSYNC = 26 -+ SYS_MINCORE = 27 -+ SYS_MADVISE = 28 -+ SYS_SHMGET = 29 -+ SYS_SHMAT = 30 -+ SYS_SHMCTL = 31 -+ SYS_DUP = 32 -+ SYS_DUP2 = 33 -+ SYS_PAUSE = 34 -+ SYS_NANOSLEEP = 35 -+ SYS_GETITIMER = 36 -+ SYS_ALARM = 37 -+ SYS_SETITIMER = 38 -+ SYS_GETPID = 39 -+ SYS_SENDFILE = 40 -+ SYS_SOCKET = 41 -+ SYS_CONNECT = 42 -+ SYS_ACCEPT = 43 -+ SYS_SENDTO = 44 -+ SYS_RECVFROM = 45 -+ SYS_SENDMSG = 46 -+ SYS_RECVMSG = 47 -+ SYS_SHUTDOWN = 48 -+ SYS_BIND = 49 -+ SYS_LISTEN = 50 -+ SYS_GETSOCKNAME = 51 -+ SYS_GETPEERNAME = 52 -+ SYS_SOCKETPAIR = 53 -+ SYS_SETSOCKOPT = 54 -+ SYS_GETSOCKOPT = 55 -+ SYS_CLONE = 56 -+ SYS_FORK = 57 -+ SYS_VFORK = 58 -+ SYS_EXECVE = 59 -+ SYS_EXIT = 60 -+ SYS_WAIT4 = 61 -+ SYS_KILL = 62 -+ SYS_UNAME = 63 -+ SYS_SEMGET = 64 -+ SYS_SEMOP = 65 -+ SYS_SEMCTL = 66 -+ SYS_SHMDT = 67 -+ SYS_MSGGET = 68 -+ SYS_MSGSND = 69 -+ SYS_MSGRCV = 70 -+ SYS_MSGCTL = 71 -+ SYS_FCNTL = 72 -+ SYS_FLOCK = 73 -+ SYS_FSYNC = 74 -+ SYS_FDATASYNC = 75 -+ SYS_TRUNCATE = 76 -+ SYS_FTRUNCATE = 77 -+ SYS_GETDENTS = 78 -+ SYS_GETCWD = 79 -+ SYS_CHDIR = 80 -+ SYS_FCHDIR = 81 -+ SYS_RENAME = 82 -+ SYS_MKDIR = 83 -+ SYS_RMDIR = 84 -+ SYS_CREAT = 85 -+ SYS_LINK = 86 -+ SYS_UNLINK = 87 -+ SYS_SYMLINK = 88 -+ SYS_READLINK = 89 -+ SYS_CHMOD = 90 -+ SYS_FCHMOD = 91 -+ SYS_CHOWN = 92 -+ SYS_FCHOWN = 93 -+ SYS_LCHOWN = 94 -+ SYS_UMASK = 95 -+ SYS_GETTIMEOFDAY = 96 -+ SYS_GETRLIMIT = 97 -+ SYS_GETRUSAGE = 98 -+ SYS_SYSINFO = 99 -+ SYS_TIMES = 100 -+ SYS_PTRACE = 101 -+ SYS_GETUID = 102 -+ SYS_SYSLOG = 103 -+ SYS_GETGID = 104 -+ SYS_SETUID = 105 -+ SYS_SETGID = 106 -+ SYS_GETEUID = 107 -+ SYS_GETEGID = 108 -+ SYS_SETPGID = 109 -+ SYS_GETPPID = 110 -+ SYS_GETPGRP = 111 -+ SYS_SETSID = 112 -+ SYS_SETREUID = 113 -+ SYS_SETREGID = 114 -+ SYS_GETGROUPS = 115 -+ SYS_SETGROUPS = 116 -+ SYS_SETRESUID = 117 -+ SYS_GETRESUID = 118 -+ SYS_SETRESGID = 119 -+ SYS_GETRESGID = 120 -+ SYS_GETPGID = 121 -+ SYS_SETFSUID = 122 -+ SYS_SETFSGID = 123 -+ SYS_GETSID = 124 -+ SYS_CAPGET = 125 -+ SYS_CAPSET = 126 -+ SYS_RT_SIGPENDING = 127 -+ SYS_RT_SIGTIMEDWAIT = 128 -+ SYS_RT_SIGQUEUEINFO = 129 -+ SYS_RT_SIGSUSPEND = 130 -+ SYS_SIGALTSTACK = 131 -+ SYS_UTIME = 132 -+ SYS_MKNOD = 133 -+ SYS_USELIB = 134 -+ SYS_PERSONALITY = 135 -+ SYS_USTAT = 136 -+ SYS_STATFS = 137 -+ SYS_FSTATFS = 138 -+ SYS_SYSFS = 139 -+ SYS_GETPRIORITY = 140 -+ SYS_SETPRIORITY = 141 -+ SYS_SCHED_SETPARAM = 142 -+ SYS_SCHED_GETPARAM = 143 -+ SYS_SCHED_SETSCHEDULER = 144 -+ SYS_SCHED_GETSCHEDULER = 145 -+ SYS_SCHED_GET_PRIORITY_MAX = 146 -+ SYS_SCHED_GET_PRIORITY_MIN = 147 -+ SYS_SCHED_RR_GET_INTERVAL = 148 -+ SYS_MLOCK = 149 -+ SYS_MUNLOCK = 150 -+ SYS_MLOCKALL = 151 -+ SYS_MUNLOCKALL = 152 -+ SYS_VHANGUP = 153 -+ SYS_MODIFY_LDT = 154 -+ SYS_PIVOT_ROOT = 155 -+ SYS__SYSCTL = 156 -+ SYS_PRCTL = 157 -+ SYS_ARCH_PRCTL = 158 -+ SYS_ADJTIMEX = 159 -+ SYS_SETRLIMIT = 160 -+ SYS_CHROOT = 161 -+ SYS_SYNC = 162 -+ SYS_ACCT = 163 -+ SYS_SETTIMEOFDAY = 164 -+ SYS_MOUNT = 165 -+ SYS_UMOUNT2 = 166 -+ SYS_SWAPON = 167 -+ SYS_SWAPOFF = 168 -+ SYS_REBOOT = 169 -+ SYS_SETHOSTNAME = 170 -+ SYS_SETDOMAINNAME = 171 -+ SYS_IOPL = 172 -+ SYS_IOPERM = 173 -+ SYS_CREATE_MODULE = 174 -+ SYS_INIT_MODULE = 175 -+ SYS_DELETE_MODULE = 176 -+ SYS_GET_KERNEL_SYMS = 177 -+ SYS_QUERY_MODULE = 178 -+ SYS_QUOTACTL = 179 -+ SYS_NFSSERVCTL = 180 -+ SYS_GETPMSG = 181 -+ SYS_PUTPMSG = 182 -+ SYS_AFS_SYSCALL = 183 -+ SYS_TUXCALL = 184 -+ SYS_SECURITY = 185 -+ SYS_GETTID = 186 -+ SYS_READAHEAD = 187 -+ SYS_SETXATTR = 188 -+ SYS_LSETXATTR = 189 -+ SYS_FSETXATTR = 190 -+ SYS_GETXATTR = 191 -+ SYS_LGETXATTR = 192 -+ SYS_FGETXATTR = 193 -+ SYS_LISTXATTR = 194 -+ SYS_LLISTXATTR = 195 -+ SYS_FLISTXATTR = 196 -+ SYS_REMOVEXATTR = 197 -+ SYS_LREMOVEXATTR = 198 -+ SYS_FREMOVEXATTR = 199 -+ SYS_TKILL = 200 -+ SYS_TIME = 201 -+ SYS_FUTEX = 202 -+ SYS_SCHED_SETAFFINITY = 203 -+ SYS_SCHED_GETAFFINITY = 204 -+ SYS_SET_THREAD_AREA = 205 -+ SYS_IO_SETUP = 206 -+ SYS_IO_DESTROY = 207 -+ SYS_IO_GETEVENTS = 208 -+ SYS_IO_SUBMIT = 209 -+ SYS_IO_CANCEL = 210 -+ SYS_GET_THREAD_AREA = 211 -+ SYS_LOOKUP_DCOOKIE = 212 -+ SYS_EPOLL_CREATE = 213 -+ SYS_EPOLL_CTL_OLD = 214 -+ SYS_EPOLL_WAIT_OLD = 215 -+ SYS_REMAP_FILE_PAGES = 216 -+ SYS_GETDENTS64 = 217 -+ SYS_SET_TID_ADDRESS = 218 -+ SYS_RESTART_SYSCALL = 219 -+ SYS_SEMTIMEDOP = 220 -+ SYS_FADVISE64 = 221 -+ SYS_TIMER_CREATE = 222 -+ SYS_TIMER_SETTIME = 223 -+ SYS_TIMER_GETTIME = 224 -+ SYS_TIMER_GETOVERRUN = 225 -+ SYS_TIMER_DELETE = 226 -+ SYS_CLOCK_SETTIME = 227 -+ SYS_CLOCK_GETTIME = 228 -+ SYS_CLOCK_GETRES = 229 -+ SYS_CLOCK_NANOSLEEP = 230 -+ SYS_EXIT_GROUP = 231 -+ SYS_EPOLL_WAIT = 232 -+ SYS_EPOLL_CTL = 233 -+ SYS_TGKILL = 234 -+ SYS_UTIMES = 235 -+ SYS_VSERVER = 236 -+ SYS_MBIND = 237 -+ SYS_SET_MEMPOLICY = 238 -+ SYS_GET_MEMPOLICY = 239 -+ SYS_MQ_OPEN = 240 -+ SYS_MQ_UNLINK = 241 -+ SYS_MQ_TIMEDSEND = 242 -+ SYS_MQ_TIMEDRECEIVE = 243 -+ SYS_MQ_NOTIFY = 244 -+ SYS_MQ_GETSETATTR = 245 -+ SYS_KEXEC_LOAD = 246 -+ SYS_WAITID = 247 -+ SYS_ADD_KEY = 248 -+ SYS_REQUEST_KEY = 249 -+ SYS_KEYCTL = 250 -+ SYS_IOPRIO_SET = 251 -+ SYS_IOPRIO_GET = 252 -+ SYS_INOTIFY_INIT = 253 -+ SYS_INOTIFY_ADD_WATCH = 254 -+ SYS_INOTIFY_RM_WATCH = 255 -+ SYS_MIGRATE_PAGES = 256 -+ SYS_OPENAT = 257 -+ SYS_MKDIRAT = 258 -+ SYS_MKNODAT = 259 -+ SYS_FCHOWNAT = 260 -+ SYS_FUTIMESAT = 261 -+ SYS_NEWFSTATAT = 262 -+ SYS_UNLINKAT = 263 -+ SYS_RENAMEAT = 264 -+ SYS_LINKAT = 265 -+ SYS_SYMLINKAT = 266 -+ SYS_READLINKAT = 267 -+ SYS_FCHMODAT = 268 -+ SYS_FACCESSAT = 269 -+ SYS_PSELECT6 = 270 -+ SYS_PPOLL = 271 -+ SYS_UNSHARE = 272 -+ SYS_SET_ROBUST_LIST = 273 -+ SYS_GET_ROBUST_LIST = 274 -+ SYS_SPLICE = 275 -+ SYS_TEE = 276 -+ SYS_SYNC_FILE_RANGE = 277 -+ SYS_VMSPLICE = 278 -+ SYS_MOVE_PAGES = 279 -+ SYS_UTIMENSAT = 280 -+ SYS_EPOLL_PWAIT = 281 -+ SYS_SIGNALFD = 282 -+ SYS_TIMERFD_CREATE = 283 -+ SYS_EVENTFD = 284 -+ SYS_FALLOCATE = 285 -+ SYS_TIMERFD_SETTIME = 286 -+ SYS_TIMERFD_GETTIME = 287 -+ SYS_ACCEPT4 = 288 -+ SYS_SIGNALFD4 = 289 -+ SYS_EVENTFD2 = 290 -+ SYS_EPOLL_CREATE1 = 291 -+ SYS_DUP3 = 292 -+ SYS_PIPE2 = 293 -+ SYS_INOTIFY_INIT1 = 294 -+ SYS_PREADV = 295 -+ SYS_PWRITEV = 296 -+ SYS_RT_TGSIGQUEUEINFO = 297 -+ SYS_PERF_EVENT_OPEN = 298 -+ SYS_RECVMMSG = 299 -+ SYS_FANOTIFY_INIT = 300 -+ SYS_FANOTIFY_MARK = 301 -+ SYS_PRLIMIT64 = 302 -+ SYS_NAME_TO_HANDLE_AT = 303 -+ SYS_OPEN_BY_HANDLE_AT = 304 -+ SYS_CLOCK_ADJTIME = 305 -+ SYS_SYNCFS = 306 -+ SYS_SENDMMSG = 307 -+ SYS_SETNS = 308 -+ SYS_GETCPU = 309 -+ SYS_PROCESS_VM_READV = 310 -+ SYS_PROCESS_VM_WRITEV = 311 -+ SYS_KCMP = 312 -+ SYS_FINIT_MODULE = 313 -+ SYS_SCHED_SETATTR = 314 -+ SYS_SCHED_GETATTR = 315 -+ SYS_RENAMEAT2 = 316 -+ SYS_SECCOMP = 317 -+ SYS_GETRANDOM = 318 -+ SYS_MEMFD_CREATE = 319 -+ SYS_KEXEC_FILE_LOAD = 320 -+ SYS_BPF = 321 -+ SYS_EXECVEAT = 322 -+ SYS_USERFAULTFD = 323 -+ SYS_MEMBARRIER = 324 -+ SYS_MLOCK2 = 325 -+ SYS_COPY_FILE_RANGE = 326 -+ SYS_PREADV2 = 327 -+ SYS_PWRITEV2 = 328 -+ SYS_PKEY_MPROTECT = 329 -+ SYS_PKEY_ALLOC = 330 -+ SYS_PKEY_FREE = 331 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go -new file mode 100644 -index 0000000..e3e6745 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go -@@ -0,0 +1,361 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m32 -D__ARM_EABI__ linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build arm,linux -+ -+package unix -+ -+const ( -+ SYS_RESTART_SYSCALL = 0 -+ SYS_EXIT = 1 -+ SYS_FORK = 2 -+ SYS_READ = 3 -+ SYS_WRITE = 4 -+ SYS_OPEN = 5 -+ SYS_CLOSE = 6 -+ SYS_CREAT = 8 -+ SYS_LINK = 9 -+ SYS_UNLINK = 10 -+ SYS_EXECVE = 11 -+ SYS_CHDIR = 12 -+ SYS_MKNOD = 14 -+ SYS_CHMOD = 15 -+ SYS_LCHOWN = 16 -+ SYS_LSEEK = 19 -+ SYS_GETPID = 20 -+ SYS_MOUNT = 21 -+ SYS_SETUID = 23 -+ SYS_GETUID = 24 -+ SYS_PTRACE = 26 -+ SYS_PAUSE = 29 -+ SYS_ACCESS = 33 -+ SYS_NICE = 34 -+ SYS_SYNC = 36 -+ SYS_KILL = 37 -+ SYS_RENAME = 38 -+ SYS_MKDIR = 39 -+ SYS_RMDIR = 40 -+ SYS_DUP = 41 -+ SYS_PIPE = 42 -+ SYS_TIMES = 43 -+ SYS_BRK = 45 -+ SYS_SETGID = 46 -+ SYS_GETGID = 47 -+ SYS_GETEUID = 49 -+ SYS_GETEGID = 50 -+ SYS_ACCT = 51 -+ SYS_UMOUNT2 = 52 -+ SYS_IOCTL = 54 -+ SYS_FCNTL = 55 -+ SYS_SETPGID = 57 -+ SYS_UMASK = 60 -+ SYS_CHROOT = 61 -+ SYS_USTAT = 62 -+ SYS_DUP2 = 63 -+ SYS_GETPPID = 64 -+ SYS_GETPGRP = 65 -+ SYS_SETSID = 66 -+ SYS_SIGACTION = 67 -+ SYS_SETREUID = 70 -+ SYS_SETREGID = 71 -+ SYS_SIGSUSPEND = 72 -+ SYS_SIGPENDING = 73 -+ SYS_SETHOSTNAME = 74 -+ SYS_SETRLIMIT = 75 -+ SYS_GETRUSAGE = 77 -+ SYS_GETTIMEOFDAY = 78 -+ SYS_SETTIMEOFDAY = 79 -+ SYS_GETGROUPS = 80 -+ SYS_SETGROUPS = 81 -+ SYS_SYMLINK = 83 -+ SYS_READLINK = 85 -+ SYS_USELIB = 86 -+ SYS_SWAPON = 87 -+ SYS_REBOOT = 88 -+ SYS_MUNMAP = 91 -+ SYS_TRUNCATE = 92 -+ SYS_FTRUNCATE = 93 -+ SYS_FCHMOD = 94 -+ SYS_FCHOWN = 95 -+ SYS_GETPRIORITY = 96 -+ SYS_SETPRIORITY = 97 -+ SYS_STATFS = 99 -+ SYS_FSTATFS = 100 -+ SYS_SYSLOG = 103 -+ SYS_SETITIMER = 104 -+ SYS_GETITIMER = 105 -+ SYS_STAT = 106 -+ SYS_LSTAT = 107 -+ SYS_FSTAT = 108 -+ SYS_VHANGUP = 111 -+ SYS_WAIT4 = 114 -+ SYS_SWAPOFF = 115 -+ SYS_SYSINFO = 116 -+ SYS_FSYNC = 118 -+ SYS_SIGRETURN = 119 -+ SYS_CLONE = 120 -+ SYS_SETDOMAINNAME = 121 -+ SYS_UNAME = 122 -+ SYS_ADJTIMEX = 124 -+ SYS_MPROTECT = 125 -+ SYS_SIGPROCMASK = 126 -+ SYS_INIT_MODULE = 128 -+ SYS_DELETE_MODULE = 129 -+ SYS_QUOTACTL = 131 -+ SYS_GETPGID = 132 -+ SYS_FCHDIR = 133 -+ SYS_BDFLUSH = 134 -+ SYS_SYSFS = 135 -+ SYS_PERSONALITY = 136 -+ SYS_SETFSUID = 138 -+ SYS_SETFSGID = 139 -+ SYS__LLSEEK = 140 -+ SYS_GETDENTS = 141 -+ SYS__NEWSELECT = 142 -+ SYS_FLOCK = 143 -+ SYS_MSYNC = 144 -+ SYS_READV = 145 -+ SYS_WRITEV = 146 -+ SYS_GETSID = 147 -+ SYS_FDATASYNC = 148 -+ SYS__SYSCTL = 149 -+ SYS_MLOCK = 150 -+ SYS_MUNLOCK = 151 -+ SYS_MLOCKALL = 152 -+ SYS_MUNLOCKALL = 153 -+ SYS_SCHED_SETPARAM = 154 -+ SYS_SCHED_GETPARAM = 155 -+ SYS_SCHED_SETSCHEDULER = 156 -+ SYS_SCHED_GETSCHEDULER = 157 -+ SYS_SCHED_YIELD = 158 -+ SYS_SCHED_GET_PRIORITY_MAX = 159 -+ SYS_SCHED_GET_PRIORITY_MIN = 160 -+ SYS_SCHED_RR_GET_INTERVAL = 161 -+ SYS_NANOSLEEP = 162 -+ SYS_MREMAP = 163 -+ SYS_SETRESUID = 164 -+ SYS_GETRESUID = 165 -+ SYS_POLL = 168 -+ SYS_NFSSERVCTL = 169 -+ SYS_SETRESGID = 170 -+ SYS_GETRESGID = 171 -+ SYS_PRCTL = 172 -+ SYS_RT_SIGRETURN = 173 -+ SYS_RT_SIGACTION = 174 -+ SYS_RT_SIGPROCMASK = 175 -+ SYS_RT_SIGPENDING = 176 -+ SYS_RT_SIGTIMEDWAIT = 177 -+ SYS_RT_SIGQUEUEINFO = 178 -+ SYS_RT_SIGSUSPEND = 179 -+ SYS_PREAD64 = 180 -+ SYS_PWRITE64 = 181 -+ SYS_CHOWN = 182 -+ SYS_GETCWD = 183 -+ SYS_CAPGET = 184 -+ SYS_CAPSET = 185 -+ SYS_SIGALTSTACK = 186 -+ SYS_SENDFILE = 187 -+ SYS_VFORK = 190 -+ SYS_UGETRLIMIT = 191 -+ SYS_MMAP2 = 192 -+ SYS_TRUNCATE64 = 193 -+ SYS_FTRUNCATE64 = 194 -+ SYS_STAT64 = 195 -+ SYS_LSTAT64 = 196 -+ SYS_FSTAT64 = 197 -+ SYS_LCHOWN32 = 198 -+ SYS_GETUID32 = 199 -+ SYS_GETGID32 = 200 -+ SYS_GETEUID32 = 201 -+ SYS_GETEGID32 = 202 -+ SYS_SETREUID32 = 203 -+ SYS_SETREGID32 = 204 -+ SYS_GETGROUPS32 = 205 -+ SYS_SETGROUPS32 = 206 -+ SYS_FCHOWN32 = 207 -+ SYS_SETRESUID32 = 208 -+ SYS_GETRESUID32 = 209 -+ SYS_SETRESGID32 = 210 -+ SYS_GETRESGID32 = 211 -+ SYS_CHOWN32 = 212 -+ SYS_SETUID32 = 213 -+ SYS_SETGID32 = 214 -+ SYS_SETFSUID32 = 215 -+ SYS_SETFSGID32 = 216 -+ SYS_GETDENTS64 = 217 -+ SYS_PIVOT_ROOT = 218 -+ SYS_MINCORE = 219 -+ SYS_MADVISE = 220 -+ SYS_FCNTL64 = 221 -+ SYS_GETTID = 224 -+ SYS_READAHEAD = 225 -+ SYS_SETXATTR = 226 -+ SYS_LSETXATTR = 227 -+ SYS_FSETXATTR = 228 -+ SYS_GETXATTR = 229 -+ SYS_LGETXATTR = 230 -+ SYS_FGETXATTR = 231 -+ SYS_LISTXATTR = 232 -+ SYS_LLISTXATTR = 233 -+ SYS_FLISTXATTR = 234 -+ SYS_REMOVEXATTR = 235 -+ SYS_LREMOVEXATTR = 236 -+ SYS_FREMOVEXATTR = 237 -+ SYS_TKILL = 238 -+ SYS_SENDFILE64 = 239 -+ SYS_FUTEX = 240 -+ SYS_SCHED_SETAFFINITY = 241 -+ SYS_SCHED_GETAFFINITY = 242 -+ SYS_IO_SETUP = 243 -+ SYS_IO_DESTROY = 244 -+ SYS_IO_GETEVENTS = 245 -+ SYS_IO_SUBMIT = 246 -+ SYS_IO_CANCEL = 247 -+ SYS_EXIT_GROUP = 248 -+ SYS_LOOKUP_DCOOKIE = 249 -+ SYS_EPOLL_CREATE = 250 -+ SYS_EPOLL_CTL = 251 -+ SYS_EPOLL_WAIT = 252 -+ SYS_REMAP_FILE_PAGES = 253 -+ SYS_SET_TID_ADDRESS = 256 -+ SYS_TIMER_CREATE = 257 -+ SYS_TIMER_SETTIME = 258 -+ SYS_TIMER_GETTIME = 259 -+ SYS_TIMER_GETOVERRUN = 260 -+ SYS_TIMER_DELETE = 261 -+ SYS_CLOCK_SETTIME = 262 -+ SYS_CLOCK_GETTIME = 263 -+ SYS_CLOCK_GETRES = 264 -+ SYS_CLOCK_NANOSLEEP = 265 -+ SYS_STATFS64 = 266 -+ SYS_FSTATFS64 = 267 -+ SYS_TGKILL = 268 -+ SYS_UTIMES = 269 -+ SYS_ARM_FADVISE64_64 = 270 -+ SYS_PCICONFIG_IOBASE = 271 -+ SYS_PCICONFIG_READ = 272 -+ SYS_PCICONFIG_WRITE = 273 -+ SYS_MQ_OPEN = 274 -+ SYS_MQ_UNLINK = 275 -+ SYS_MQ_TIMEDSEND = 276 -+ SYS_MQ_TIMEDRECEIVE = 277 -+ SYS_MQ_NOTIFY = 278 -+ SYS_MQ_GETSETATTR = 279 -+ SYS_WAITID = 280 -+ SYS_SOCKET = 281 -+ SYS_BIND = 282 -+ SYS_CONNECT = 283 -+ SYS_LISTEN = 284 -+ SYS_ACCEPT = 285 -+ SYS_GETSOCKNAME = 286 -+ SYS_GETPEERNAME = 287 -+ SYS_SOCKETPAIR = 288 -+ SYS_SEND = 289 -+ SYS_SENDTO = 290 -+ SYS_RECV = 291 -+ SYS_RECVFROM = 292 -+ SYS_SHUTDOWN = 293 -+ SYS_SETSOCKOPT = 294 -+ SYS_GETSOCKOPT = 295 -+ SYS_SENDMSG = 296 -+ SYS_RECVMSG = 297 -+ SYS_SEMOP = 298 -+ SYS_SEMGET = 299 -+ SYS_SEMCTL = 300 -+ SYS_MSGSND = 301 -+ SYS_MSGRCV = 302 -+ SYS_MSGGET = 303 -+ SYS_MSGCTL = 304 -+ SYS_SHMAT = 305 -+ SYS_SHMDT = 306 -+ SYS_SHMGET = 307 -+ SYS_SHMCTL = 308 -+ SYS_ADD_KEY = 309 -+ SYS_REQUEST_KEY = 310 -+ SYS_KEYCTL = 311 -+ SYS_SEMTIMEDOP = 312 -+ SYS_VSERVER = 313 -+ SYS_IOPRIO_SET = 314 -+ SYS_IOPRIO_GET = 315 -+ SYS_INOTIFY_INIT = 316 -+ SYS_INOTIFY_ADD_WATCH = 317 -+ SYS_INOTIFY_RM_WATCH = 318 -+ SYS_MBIND = 319 -+ SYS_GET_MEMPOLICY = 320 -+ SYS_SET_MEMPOLICY = 321 -+ SYS_OPENAT = 322 -+ SYS_MKDIRAT = 323 -+ SYS_MKNODAT = 324 -+ SYS_FCHOWNAT = 325 -+ SYS_FUTIMESAT = 326 -+ SYS_FSTATAT64 = 327 -+ SYS_UNLINKAT = 328 -+ SYS_RENAMEAT = 329 -+ SYS_LINKAT = 330 -+ SYS_SYMLINKAT = 331 -+ SYS_READLINKAT = 332 -+ SYS_FCHMODAT = 333 -+ SYS_FACCESSAT = 334 -+ SYS_PSELECT6 = 335 -+ SYS_PPOLL = 336 -+ SYS_UNSHARE = 337 -+ SYS_SET_ROBUST_LIST = 338 -+ SYS_GET_ROBUST_LIST = 339 -+ SYS_SPLICE = 340 -+ SYS_ARM_SYNC_FILE_RANGE = 341 -+ SYS_TEE = 342 -+ SYS_VMSPLICE = 343 -+ SYS_MOVE_PAGES = 344 -+ SYS_GETCPU = 345 -+ SYS_EPOLL_PWAIT = 346 -+ SYS_KEXEC_LOAD = 347 -+ SYS_UTIMENSAT = 348 -+ SYS_SIGNALFD = 349 -+ SYS_TIMERFD_CREATE = 350 -+ SYS_EVENTFD = 351 -+ SYS_FALLOCATE = 352 -+ SYS_TIMERFD_SETTIME = 353 -+ SYS_TIMERFD_GETTIME = 354 -+ SYS_SIGNALFD4 = 355 -+ SYS_EVENTFD2 = 356 -+ SYS_EPOLL_CREATE1 = 357 -+ SYS_DUP3 = 358 -+ SYS_PIPE2 = 359 -+ SYS_INOTIFY_INIT1 = 360 -+ SYS_PREADV = 361 -+ SYS_PWRITEV = 362 -+ SYS_RT_TGSIGQUEUEINFO = 363 -+ SYS_PERF_EVENT_OPEN = 364 -+ SYS_RECVMMSG = 365 -+ SYS_ACCEPT4 = 366 -+ SYS_FANOTIFY_INIT = 367 -+ SYS_FANOTIFY_MARK = 368 -+ SYS_PRLIMIT64 = 369 -+ SYS_NAME_TO_HANDLE_AT = 370 -+ SYS_OPEN_BY_HANDLE_AT = 371 -+ SYS_CLOCK_ADJTIME = 372 -+ SYS_SYNCFS = 373 -+ SYS_SENDMMSG = 374 -+ SYS_SETNS = 375 -+ SYS_PROCESS_VM_READV = 376 -+ SYS_PROCESS_VM_WRITEV = 377 -+ SYS_KCMP = 378 -+ SYS_FINIT_MODULE = 379 -+ SYS_SCHED_SETATTR = 380 -+ SYS_SCHED_GETATTR = 381 -+ SYS_RENAMEAT2 = 382 -+ SYS_SECCOMP = 383 -+ SYS_GETRANDOM = 384 -+ SYS_MEMFD_CREATE = 385 -+ SYS_BPF = 386 -+ SYS_EXECVEAT = 387 -+ SYS_USERFAULTFD = 388 -+ SYS_MEMBARRIER = 389 -+ SYS_MLOCK2 = 390 -+ SYS_COPY_FILE_RANGE = 391 -+ SYS_PREADV2 = 392 -+ SYS_PWRITEV2 = 393 -+ SYS_PKEY_MPROTECT = 394 -+ SYS_PKEY_ALLOC = 395 -+ SYS_PKEY_FREE = 396 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go -new file mode 100644 -index 0000000..90e43d0 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go -@@ -0,0 +1,285 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m64 linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build arm64,linux -+ -+package unix -+ -+const ( -+ SYS_IO_SETUP = 0 -+ SYS_IO_DESTROY = 1 -+ SYS_IO_SUBMIT = 2 -+ SYS_IO_CANCEL = 3 -+ SYS_IO_GETEVENTS = 4 -+ SYS_SETXATTR = 5 -+ SYS_LSETXATTR = 6 -+ SYS_FSETXATTR = 7 -+ SYS_GETXATTR = 8 -+ SYS_LGETXATTR = 9 -+ SYS_FGETXATTR = 10 -+ SYS_LISTXATTR = 11 -+ SYS_LLISTXATTR = 12 -+ SYS_FLISTXATTR = 13 -+ SYS_REMOVEXATTR = 14 -+ SYS_LREMOVEXATTR = 15 -+ SYS_FREMOVEXATTR = 16 -+ SYS_GETCWD = 17 -+ SYS_LOOKUP_DCOOKIE = 18 -+ SYS_EVENTFD2 = 19 -+ SYS_EPOLL_CREATE1 = 20 -+ SYS_EPOLL_CTL = 21 -+ SYS_EPOLL_PWAIT = 22 -+ SYS_DUP = 23 -+ SYS_DUP3 = 24 -+ SYS_FCNTL = 25 -+ SYS_INOTIFY_INIT1 = 26 -+ SYS_INOTIFY_ADD_WATCH = 27 -+ SYS_INOTIFY_RM_WATCH = 28 -+ SYS_IOCTL = 29 -+ SYS_IOPRIO_SET = 30 -+ SYS_IOPRIO_GET = 31 -+ SYS_FLOCK = 32 -+ SYS_MKNODAT = 33 -+ SYS_MKDIRAT = 34 -+ SYS_UNLINKAT = 35 -+ SYS_SYMLINKAT = 36 -+ SYS_LINKAT = 37 -+ SYS_RENAMEAT = 38 -+ SYS_UMOUNT2 = 39 -+ SYS_MOUNT = 40 -+ SYS_PIVOT_ROOT = 41 -+ SYS_NFSSERVCTL = 42 -+ SYS_STATFS = 43 -+ SYS_FSTATFS = 44 -+ SYS_TRUNCATE = 45 -+ SYS_FTRUNCATE = 46 -+ SYS_FALLOCATE = 47 -+ SYS_FACCESSAT = 48 -+ SYS_CHDIR = 49 -+ SYS_FCHDIR = 50 -+ SYS_CHROOT = 51 -+ SYS_FCHMOD = 52 -+ SYS_FCHMODAT = 53 -+ SYS_FCHOWNAT = 54 -+ SYS_FCHOWN = 55 -+ SYS_OPENAT = 56 -+ SYS_CLOSE = 57 -+ SYS_VHANGUP = 58 -+ SYS_PIPE2 = 59 -+ SYS_QUOTACTL = 60 -+ SYS_GETDENTS64 = 61 -+ SYS_LSEEK = 62 -+ SYS_READ = 63 -+ SYS_WRITE = 64 -+ SYS_READV = 65 -+ SYS_WRITEV = 66 -+ SYS_PREAD64 = 67 -+ SYS_PWRITE64 = 68 -+ SYS_PREADV = 69 -+ SYS_PWRITEV = 70 -+ SYS_SENDFILE = 71 -+ SYS_PSELECT6 = 72 -+ SYS_PPOLL = 73 -+ SYS_SIGNALFD4 = 74 -+ SYS_VMSPLICE = 75 -+ SYS_SPLICE = 76 -+ SYS_TEE = 77 -+ SYS_READLINKAT = 78 -+ SYS_FSTATAT = 79 -+ SYS_FSTAT = 80 -+ SYS_SYNC = 81 -+ SYS_FSYNC = 82 -+ SYS_FDATASYNC = 83 -+ SYS_SYNC_FILE_RANGE = 84 -+ SYS_TIMERFD_CREATE = 85 -+ SYS_TIMERFD_SETTIME = 86 -+ SYS_TIMERFD_GETTIME = 87 -+ SYS_UTIMENSAT = 88 -+ SYS_ACCT = 89 -+ SYS_CAPGET = 90 -+ SYS_CAPSET = 91 -+ SYS_PERSONALITY = 92 -+ SYS_EXIT = 93 -+ SYS_EXIT_GROUP = 94 -+ SYS_WAITID = 95 -+ SYS_SET_TID_ADDRESS = 96 -+ SYS_UNSHARE = 97 -+ SYS_FUTEX = 98 -+ SYS_SET_ROBUST_LIST = 99 -+ SYS_GET_ROBUST_LIST = 100 -+ SYS_NANOSLEEP = 101 -+ SYS_GETITIMER = 102 -+ SYS_SETITIMER = 103 -+ SYS_KEXEC_LOAD = 104 -+ SYS_INIT_MODULE = 105 -+ SYS_DELETE_MODULE = 106 -+ SYS_TIMER_CREATE = 107 -+ SYS_TIMER_GETTIME = 108 -+ SYS_TIMER_GETOVERRUN = 109 -+ SYS_TIMER_SETTIME = 110 -+ SYS_TIMER_DELETE = 111 -+ SYS_CLOCK_SETTIME = 112 -+ SYS_CLOCK_GETTIME = 113 -+ SYS_CLOCK_GETRES = 114 -+ SYS_CLOCK_NANOSLEEP = 115 -+ SYS_SYSLOG = 116 -+ SYS_PTRACE = 117 -+ SYS_SCHED_SETPARAM = 118 -+ SYS_SCHED_SETSCHEDULER = 119 -+ SYS_SCHED_GETSCHEDULER = 120 -+ SYS_SCHED_GETPARAM = 121 -+ SYS_SCHED_SETAFFINITY = 122 -+ SYS_SCHED_GETAFFINITY = 123 -+ SYS_SCHED_YIELD = 124 -+ SYS_SCHED_GET_PRIORITY_MAX = 125 -+ SYS_SCHED_GET_PRIORITY_MIN = 126 -+ SYS_SCHED_RR_GET_INTERVAL = 127 -+ SYS_RESTART_SYSCALL = 128 -+ SYS_KILL = 129 -+ SYS_TKILL = 130 -+ SYS_TGKILL = 131 -+ SYS_SIGALTSTACK = 132 -+ SYS_RT_SIGSUSPEND = 133 -+ SYS_RT_SIGACTION = 134 -+ SYS_RT_SIGPROCMASK = 135 -+ SYS_RT_SIGPENDING = 136 -+ SYS_RT_SIGTIMEDWAIT = 137 -+ SYS_RT_SIGQUEUEINFO = 138 -+ SYS_RT_SIGRETURN = 139 -+ SYS_SETPRIORITY = 140 -+ SYS_GETPRIORITY = 141 -+ SYS_REBOOT = 142 -+ SYS_SETREGID = 143 -+ SYS_SETGID = 144 -+ SYS_SETREUID = 145 -+ SYS_SETUID = 146 -+ SYS_SETRESUID = 147 -+ SYS_GETRESUID = 148 -+ SYS_SETRESGID = 149 -+ SYS_GETRESGID = 150 -+ SYS_SETFSUID = 151 -+ SYS_SETFSGID = 152 -+ SYS_TIMES = 153 -+ SYS_SETPGID = 154 -+ SYS_GETPGID = 155 -+ SYS_GETSID = 156 -+ SYS_SETSID = 157 -+ SYS_GETGROUPS = 158 -+ SYS_SETGROUPS = 159 -+ SYS_UNAME = 160 -+ SYS_SETHOSTNAME = 161 -+ SYS_SETDOMAINNAME = 162 -+ SYS_GETRLIMIT = 163 -+ SYS_SETRLIMIT = 164 -+ SYS_GETRUSAGE = 165 -+ SYS_UMASK = 166 -+ SYS_PRCTL = 167 -+ SYS_GETCPU = 168 -+ SYS_GETTIMEOFDAY = 169 -+ SYS_SETTIMEOFDAY = 170 -+ SYS_ADJTIMEX = 171 -+ SYS_GETPID = 172 -+ SYS_GETPPID = 173 -+ SYS_GETUID = 174 -+ SYS_GETEUID = 175 -+ SYS_GETGID = 176 -+ SYS_GETEGID = 177 -+ SYS_GETTID = 178 -+ SYS_SYSINFO = 179 -+ SYS_MQ_OPEN = 180 -+ SYS_MQ_UNLINK = 181 -+ SYS_MQ_TIMEDSEND = 182 -+ SYS_MQ_TIMEDRECEIVE = 183 -+ SYS_MQ_NOTIFY = 184 -+ SYS_MQ_GETSETATTR = 185 -+ SYS_MSGGET = 186 -+ SYS_MSGCTL = 187 -+ SYS_MSGRCV = 188 -+ SYS_MSGSND = 189 -+ SYS_SEMGET = 190 -+ SYS_SEMCTL = 191 -+ SYS_SEMTIMEDOP = 192 -+ SYS_SEMOP = 193 -+ SYS_SHMGET = 194 -+ SYS_SHMCTL = 195 -+ SYS_SHMAT = 196 -+ SYS_SHMDT = 197 -+ SYS_SOCKET = 198 -+ SYS_SOCKETPAIR = 199 -+ SYS_BIND = 200 -+ SYS_LISTEN = 201 -+ SYS_ACCEPT = 202 -+ SYS_CONNECT = 203 -+ SYS_GETSOCKNAME = 204 -+ SYS_GETPEERNAME = 205 -+ SYS_SENDTO = 206 -+ SYS_RECVFROM = 207 -+ SYS_SETSOCKOPT = 208 -+ SYS_GETSOCKOPT = 209 -+ SYS_SHUTDOWN = 210 -+ SYS_SENDMSG = 211 -+ SYS_RECVMSG = 212 -+ SYS_READAHEAD = 213 -+ SYS_BRK = 214 -+ SYS_MUNMAP = 215 -+ SYS_MREMAP = 216 -+ SYS_ADD_KEY = 217 -+ SYS_REQUEST_KEY = 218 -+ SYS_KEYCTL = 219 -+ SYS_CLONE = 220 -+ SYS_EXECVE = 221 -+ SYS_MMAP = 222 -+ SYS_FADVISE64 = 223 -+ SYS_SWAPON = 224 -+ SYS_SWAPOFF = 225 -+ SYS_MPROTECT = 226 -+ SYS_MSYNC = 227 -+ SYS_MLOCK = 228 -+ SYS_MUNLOCK = 229 -+ SYS_MLOCKALL = 230 -+ SYS_MUNLOCKALL = 231 -+ SYS_MINCORE = 232 -+ SYS_MADVISE = 233 -+ SYS_REMAP_FILE_PAGES = 234 -+ SYS_MBIND = 235 -+ SYS_GET_MEMPOLICY = 236 -+ SYS_SET_MEMPOLICY = 237 -+ SYS_MIGRATE_PAGES = 238 -+ SYS_MOVE_PAGES = 239 -+ SYS_RT_TGSIGQUEUEINFO = 240 -+ SYS_PERF_EVENT_OPEN = 241 -+ SYS_ACCEPT4 = 242 -+ SYS_RECVMMSG = 243 -+ SYS_ARCH_SPECIFIC_SYSCALL = 244 -+ SYS_WAIT4 = 260 -+ SYS_PRLIMIT64 = 261 -+ SYS_FANOTIFY_INIT = 262 -+ SYS_FANOTIFY_MARK = 263 -+ SYS_NAME_TO_HANDLE_AT = 264 -+ SYS_OPEN_BY_HANDLE_AT = 265 -+ SYS_CLOCK_ADJTIME = 266 -+ SYS_SYNCFS = 267 -+ SYS_SETNS = 268 -+ SYS_SENDMMSG = 269 -+ SYS_PROCESS_VM_READV = 270 -+ SYS_PROCESS_VM_WRITEV = 271 -+ SYS_KCMP = 272 -+ SYS_FINIT_MODULE = 273 -+ SYS_SCHED_SETATTR = 274 -+ SYS_SCHED_GETATTR = 275 -+ SYS_RENAMEAT2 = 276 -+ SYS_SECCOMP = 277 -+ SYS_GETRANDOM = 278 -+ SYS_MEMFD_CREATE = 279 -+ SYS_BPF = 280 -+ SYS_EXECVEAT = 281 -+ SYS_USERFAULTFD = 282 -+ SYS_MEMBARRIER = 283 -+ SYS_MLOCK2 = 284 -+ SYS_COPY_FILE_RANGE = 285 -+ SYS_PREADV2 = 286 -+ SYS_PWRITEV2 = 287 -+ SYS_PKEY_MPROTECT = 288 -+ SYS_PKEY_ALLOC = 289 -+ SYS_PKEY_FREE = 290 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go -new file mode 100644 -index 0000000..77ff644 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go -@@ -0,0 +1,374 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m32 -D_MIPS_SIM=_MIPS_SIM_ABI32 -D__MIPSEB__ linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build mips,linux -+ -+package unix -+ -+const ( -+ SYS_SYSCALL = 4000 -+ SYS_EXIT = 4001 -+ SYS_FORK = 4002 -+ SYS_READ = 4003 -+ SYS_WRITE = 4004 -+ SYS_OPEN = 4005 -+ SYS_CLOSE = 4006 -+ SYS_WAITPID = 4007 -+ SYS_CREAT = 4008 -+ SYS_LINK = 4009 -+ SYS_UNLINK = 4010 -+ SYS_EXECVE = 4011 -+ SYS_CHDIR = 4012 -+ SYS_TIME = 4013 -+ SYS_MKNOD = 4014 -+ SYS_CHMOD = 4015 -+ SYS_LCHOWN = 4016 -+ SYS_BREAK = 4017 -+ SYS_UNUSED18 = 4018 -+ SYS_LSEEK = 4019 -+ SYS_GETPID = 4020 -+ SYS_MOUNT = 4021 -+ SYS_UMOUNT = 4022 -+ SYS_SETUID = 4023 -+ SYS_GETUID = 4024 -+ SYS_STIME = 4025 -+ SYS_PTRACE = 4026 -+ SYS_ALARM = 4027 -+ SYS_UNUSED28 = 4028 -+ SYS_PAUSE = 4029 -+ SYS_UTIME = 4030 -+ SYS_STTY = 4031 -+ SYS_GTTY = 4032 -+ SYS_ACCESS = 4033 -+ SYS_NICE = 4034 -+ SYS_FTIME = 4035 -+ SYS_SYNC = 4036 -+ SYS_KILL = 4037 -+ SYS_RENAME = 4038 -+ SYS_MKDIR = 4039 -+ SYS_RMDIR = 4040 -+ SYS_DUP = 4041 -+ SYS_PIPE = 4042 -+ SYS_TIMES = 4043 -+ SYS_PROF = 4044 -+ SYS_BRK = 4045 -+ SYS_SETGID = 4046 -+ SYS_GETGID = 4047 -+ SYS_SIGNAL = 4048 -+ SYS_GETEUID = 4049 -+ SYS_GETEGID = 4050 -+ SYS_ACCT = 4051 -+ SYS_UMOUNT2 = 4052 -+ SYS_LOCK = 4053 -+ SYS_IOCTL = 4054 -+ SYS_FCNTL = 4055 -+ SYS_MPX = 4056 -+ SYS_SETPGID = 4057 -+ SYS_ULIMIT = 4058 -+ SYS_UNUSED59 = 4059 -+ SYS_UMASK = 4060 -+ SYS_CHROOT = 4061 -+ SYS_USTAT = 4062 -+ SYS_DUP2 = 4063 -+ SYS_GETPPID = 4064 -+ SYS_GETPGRP = 4065 -+ SYS_SETSID = 4066 -+ SYS_SIGACTION = 4067 -+ SYS_SGETMASK = 4068 -+ SYS_SSETMASK = 4069 -+ SYS_SETREUID = 4070 -+ SYS_SETREGID = 4071 -+ SYS_SIGSUSPEND = 4072 -+ SYS_SIGPENDING = 4073 -+ SYS_SETHOSTNAME = 4074 -+ SYS_SETRLIMIT = 4075 -+ SYS_GETRLIMIT = 4076 -+ SYS_GETRUSAGE = 4077 -+ SYS_GETTIMEOFDAY = 4078 -+ SYS_SETTIMEOFDAY = 4079 -+ SYS_GETGROUPS = 4080 -+ SYS_SETGROUPS = 4081 -+ SYS_RESERVED82 = 4082 -+ SYS_SYMLINK = 4083 -+ SYS_UNUSED84 = 4084 -+ SYS_READLINK = 4085 -+ SYS_USELIB = 4086 -+ SYS_SWAPON = 4087 -+ SYS_REBOOT = 4088 -+ SYS_READDIR = 4089 -+ SYS_MMAP = 4090 -+ SYS_MUNMAP = 4091 -+ SYS_TRUNCATE = 4092 -+ SYS_FTRUNCATE = 4093 -+ SYS_FCHMOD = 4094 -+ SYS_FCHOWN = 4095 -+ SYS_GETPRIORITY = 4096 -+ SYS_SETPRIORITY = 4097 -+ SYS_PROFIL = 4098 -+ SYS_STATFS = 4099 -+ SYS_FSTATFS = 4100 -+ SYS_IOPERM = 4101 -+ SYS_SOCKETCALL = 4102 -+ SYS_SYSLOG = 4103 -+ SYS_SETITIMER = 4104 -+ SYS_GETITIMER = 4105 -+ SYS_STAT = 4106 -+ SYS_LSTAT = 4107 -+ SYS_FSTAT = 4108 -+ SYS_UNUSED109 = 4109 -+ SYS_IOPL = 4110 -+ SYS_VHANGUP = 4111 -+ SYS_IDLE = 4112 -+ SYS_VM86 = 4113 -+ SYS_WAIT4 = 4114 -+ SYS_SWAPOFF = 4115 -+ SYS_SYSINFO = 4116 -+ SYS_IPC = 4117 -+ SYS_FSYNC = 4118 -+ SYS_SIGRETURN = 4119 -+ SYS_CLONE = 4120 -+ SYS_SETDOMAINNAME = 4121 -+ SYS_UNAME = 4122 -+ SYS_MODIFY_LDT = 4123 -+ SYS_ADJTIMEX = 4124 -+ SYS_MPROTECT = 4125 -+ SYS_SIGPROCMASK = 4126 -+ SYS_CREATE_MODULE = 4127 -+ SYS_INIT_MODULE = 4128 -+ SYS_DELETE_MODULE = 4129 -+ SYS_GET_KERNEL_SYMS = 4130 -+ SYS_QUOTACTL = 4131 -+ SYS_GETPGID = 4132 -+ SYS_FCHDIR = 4133 -+ SYS_BDFLUSH = 4134 -+ SYS_SYSFS = 4135 -+ SYS_PERSONALITY = 4136 -+ SYS_AFS_SYSCALL = 4137 -+ SYS_SETFSUID = 4138 -+ SYS_SETFSGID = 4139 -+ SYS__LLSEEK = 4140 -+ SYS_GETDENTS = 4141 -+ SYS__NEWSELECT = 4142 -+ SYS_FLOCK = 4143 -+ SYS_MSYNC = 4144 -+ SYS_READV = 4145 -+ SYS_WRITEV = 4146 -+ SYS_CACHEFLUSH = 4147 -+ SYS_CACHECTL = 4148 -+ SYS_SYSMIPS = 4149 -+ SYS_UNUSED150 = 4150 -+ SYS_GETSID = 4151 -+ SYS_FDATASYNC = 4152 -+ SYS__SYSCTL = 4153 -+ SYS_MLOCK = 4154 -+ SYS_MUNLOCK = 4155 -+ SYS_MLOCKALL = 4156 -+ SYS_MUNLOCKALL = 4157 -+ SYS_SCHED_SETPARAM = 4158 -+ SYS_SCHED_GETPARAM = 4159 -+ SYS_SCHED_SETSCHEDULER = 4160 -+ SYS_SCHED_GETSCHEDULER = 4161 -+ SYS_SCHED_YIELD = 4162 -+ SYS_SCHED_GET_PRIORITY_MAX = 4163 -+ SYS_SCHED_GET_PRIORITY_MIN = 4164 -+ SYS_SCHED_RR_GET_INTERVAL = 4165 -+ SYS_NANOSLEEP = 4166 -+ SYS_MREMAP = 4167 -+ SYS_ACCEPT = 4168 -+ SYS_BIND = 4169 -+ SYS_CONNECT = 4170 -+ SYS_GETPEERNAME = 4171 -+ SYS_GETSOCKNAME = 4172 -+ SYS_GETSOCKOPT = 4173 -+ SYS_LISTEN = 4174 -+ SYS_RECV = 4175 -+ SYS_RECVFROM = 4176 -+ SYS_RECVMSG = 4177 -+ SYS_SEND = 4178 -+ SYS_SENDMSG = 4179 -+ SYS_SENDTO = 4180 -+ SYS_SETSOCKOPT = 4181 -+ SYS_SHUTDOWN = 4182 -+ SYS_SOCKET = 4183 -+ SYS_SOCKETPAIR = 4184 -+ SYS_SETRESUID = 4185 -+ SYS_GETRESUID = 4186 -+ SYS_QUERY_MODULE = 4187 -+ SYS_POLL = 4188 -+ SYS_NFSSERVCTL = 4189 -+ SYS_SETRESGID = 4190 -+ SYS_GETRESGID = 4191 -+ SYS_PRCTL = 4192 -+ SYS_RT_SIGRETURN = 4193 -+ SYS_RT_SIGACTION = 4194 -+ SYS_RT_SIGPROCMASK = 4195 -+ SYS_RT_SIGPENDING = 4196 -+ SYS_RT_SIGTIMEDWAIT = 4197 -+ SYS_RT_SIGQUEUEINFO = 4198 -+ SYS_RT_SIGSUSPEND = 4199 -+ SYS_PREAD64 = 4200 -+ SYS_PWRITE64 = 4201 -+ SYS_CHOWN = 4202 -+ SYS_GETCWD = 4203 -+ SYS_CAPGET = 4204 -+ SYS_CAPSET = 4205 -+ SYS_SIGALTSTACK = 4206 -+ SYS_SENDFILE = 4207 -+ SYS_GETPMSG = 4208 -+ SYS_PUTPMSG = 4209 -+ SYS_MMAP2 = 4210 -+ SYS_TRUNCATE64 = 4211 -+ SYS_FTRUNCATE64 = 4212 -+ SYS_STAT64 = 4213 -+ SYS_LSTAT64 = 4214 -+ SYS_FSTAT64 = 4215 -+ SYS_PIVOT_ROOT = 4216 -+ SYS_MINCORE = 4217 -+ SYS_MADVISE = 4218 -+ SYS_GETDENTS64 = 4219 -+ SYS_FCNTL64 = 4220 -+ SYS_RESERVED221 = 4221 -+ SYS_GETTID = 4222 -+ SYS_READAHEAD = 4223 -+ SYS_SETXATTR = 4224 -+ SYS_LSETXATTR = 4225 -+ SYS_FSETXATTR = 4226 -+ SYS_GETXATTR = 4227 -+ SYS_LGETXATTR = 4228 -+ SYS_FGETXATTR = 4229 -+ SYS_LISTXATTR = 4230 -+ SYS_LLISTXATTR = 4231 -+ SYS_FLISTXATTR = 4232 -+ SYS_REMOVEXATTR = 4233 -+ SYS_LREMOVEXATTR = 4234 -+ SYS_FREMOVEXATTR = 4235 -+ SYS_TKILL = 4236 -+ SYS_SENDFILE64 = 4237 -+ SYS_FUTEX = 4238 -+ SYS_SCHED_SETAFFINITY = 4239 -+ SYS_SCHED_GETAFFINITY = 4240 -+ SYS_IO_SETUP = 4241 -+ SYS_IO_DESTROY = 4242 -+ SYS_IO_GETEVENTS = 4243 -+ SYS_IO_SUBMIT = 4244 -+ SYS_IO_CANCEL = 4245 -+ SYS_EXIT_GROUP = 4246 -+ SYS_LOOKUP_DCOOKIE = 4247 -+ SYS_EPOLL_CREATE = 4248 -+ SYS_EPOLL_CTL = 4249 -+ SYS_EPOLL_WAIT = 4250 -+ SYS_REMAP_FILE_PAGES = 4251 -+ SYS_SET_TID_ADDRESS = 4252 -+ SYS_RESTART_SYSCALL = 4253 -+ SYS_FADVISE64 = 4254 -+ SYS_STATFS64 = 4255 -+ SYS_FSTATFS64 = 4256 -+ SYS_TIMER_CREATE = 4257 -+ SYS_TIMER_SETTIME = 4258 -+ SYS_TIMER_GETTIME = 4259 -+ SYS_TIMER_GETOVERRUN = 4260 -+ SYS_TIMER_DELETE = 4261 -+ SYS_CLOCK_SETTIME = 4262 -+ SYS_CLOCK_GETTIME = 4263 -+ SYS_CLOCK_GETRES = 4264 -+ SYS_CLOCK_NANOSLEEP = 4265 -+ SYS_TGKILL = 4266 -+ SYS_UTIMES = 4267 -+ SYS_MBIND = 4268 -+ SYS_GET_MEMPOLICY = 4269 -+ SYS_SET_MEMPOLICY = 4270 -+ SYS_MQ_OPEN = 4271 -+ SYS_MQ_UNLINK = 4272 -+ SYS_MQ_TIMEDSEND = 4273 -+ SYS_MQ_TIMEDRECEIVE = 4274 -+ SYS_MQ_NOTIFY = 4275 -+ SYS_MQ_GETSETATTR = 4276 -+ SYS_VSERVER = 4277 -+ SYS_WAITID = 4278 -+ SYS_ADD_KEY = 4280 -+ SYS_REQUEST_KEY = 4281 -+ SYS_KEYCTL = 4282 -+ SYS_SET_THREAD_AREA = 4283 -+ SYS_INOTIFY_INIT = 4284 -+ SYS_INOTIFY_ADD_WATCH = 4285 -+ SYS_INOTIFY_RM_WATCH = 4286 -+ SYS_MIGRATE_PAGES = 4287 -+ SYS_OPENAT = 4288 -+ SYS_MKDIRAT = 4289 -+ SYS_MKNODAT = 4290 -+ SYS_FCHOWNAT = 4291 -+ SYS_FUTIMESAT = 4292 -+ SYS_FSTATAT64 = 4293 -+ SYS_UNLINKAT = 4294 -+ SYS_RENAMEAT = 4295 -+ SYS_LINKAT = 4296 -+ SYS_SYMLINKAT = 4297 -+ SYS_READLINKAT = 4298 -+ SYS_FCHMODAT = 4299 -+ SYS_FACCESSAT = 4300 -+ SYS_PSELECT6 = 4301 -+ SYS_PPOLL = 4302 -+ SYS_UNSHARE = 4303 -+ SYS_SPLICE = 4304 -+ SYS_SYNC_FILE_RANGE = 4305 -+ SYS_TEE = 4306 -+ SYS_VMSPLICE = 4307 -+ SYS_MOVE_PAGES = 4308 -+ SYS_SET_ROBUST_LIST = 4309 -+ SYS_GET_ROBUST_LIST = 4310 -+ SYS_KEXEC_LOAD = 4311 -+ SYS_GETCPU = 4312 -+ SYS_EPOLL_PWAIT = 4313 -+ SYS_IOPRIO_SET = 4314 -+ SYS_IOPRIO_GET = 4315 -+ SYS_UTIMENSAT = 4316 -+ SYS_SIGNALFD = 4317 -+ SYS_TIMERFD = 4318 -+ SYS_EVENTFD = 4319 -+ SYS_FALLOCATE = 4320 -+ SYS_TIMERFD_CREATE = 4321 -+ SYS_TIMERFD_GETTIME = 4322 -+ SYS_TIMERFD_SETTIME = 4323 -+ SYS_SIGNALFD4 = 4324 -+ SYS_EVENTFD2 = 4325 -+ SYS_EPOLL_CREATE1 = 4326 -+ SYS_DUP3 = 4327 -+ SYS_PIPE2 = 4328 -+ SYS_INOTIFY_INIT1 = 4329 -+ SYS_PREADV = 4330 -+ SYS_PWRITEV = 4331 -+ SYS_RT_TGSIGQUEUEINFO = 4332 -+ SYS_PERF_EVENT_OPEN = 4333 -+ SYS_ACCEPT4 = 4334 -+ SYS_RECVMMSG = 4335 -+ SYS_FANOTIFY_INIT = 4336 -+ SYS_FANOTIFY_MARK = 4337 -+ SYS_PRLIMIT64 = 4338 -+ SYS_NAME_TO_HANDLE_AT = 4339 -+ SYS_OPEN_BY_HANDLE_AT = 4340 -+ SYS_CLOCK_ADJTIME = 4341 -+ SYS_SYNCFS = 4342 -+ SYS_SENDMMSG = 4343 -+ SYS_SETNS = 4344 -+ SYS_PROCESS_VM_READV = 4345 -+ SYS_PROCESS_VM_WRITEV = 4346 -+ SYS_KCMP = 4347 -+ SYS_FINIT_MODULE = 4348 -+ SYS_SCHED_SETATTR = 4349 -+ SYS_SCHED_GETATTR = 4350 -+ SYS_RENAMEAT2 = 4351 -+ SYS_SECCOMP = 4352 -+ SYS_GETRANDOM = 4353 -+ SYS_MEMFD_CREATE = 4354 -+ SYS_BPF = 4355 -+ SYS_EXECVEAT = 4356 -+ SYS_USERFAULTFD = 4357 -+ SYS_MEMBARRIER = 4358 -+ SYS_MLOCK2 = 4359 -+ SYS_COPY_FILE_RANGE = 4360 -+ SYS_PREADV2 = 4361 -+ SYS_PWRITEV2 = 4362 -+ SYS_PKEY_MPROTECT = 4363 -+ SYS_PKEY_ALLOC = 4364 -+ SYS_PKEY_FREE = 4365 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go -new file mode 100644 -index 0000000..fc86fcd ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go -@@ -0,0 +1,334 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m64 -D_MIPS_SIM=_MIPS_SIM_ABI64 -D__MIPSEB__ linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build mips64,linux -+ -+package unix -+ -+const ( -+ SYS_READ = 5000 -+ SYS_WRITE = 5001 -+ SYS_OPEN = 5002 -+ SYS_CLOSE = 5003 -+ SYS_STAT = 5004 -+ SYS_FSTAT = 5005 -+ SYS_LSTAT = 5006 -+ SYS_POLL = 5007 -+ SYS_LSEEK = 5008 -+ SYS_MMAP = 5009 -+ SYS_MPROTECT = 5010 -+ SYS_MUNMAP = 5011 -+ SYS_BRK = 5012 -+ SYS_RT_SIGACTION = 5013 -+ SYS_RT_SIGPROCMASK = 5014 -+ SYS_IOCTL = 5015 -+ SYS_PREAD64 = 5016 -+ SYS_PWRITE64 = 5017 -+ SYS_READV = 5018 -+ SYS_WRITEV = 5019 -+ SYS_ACCESS = 5020 -+ SYS_PIPE = 5021 -+ SYS__NEWSELECT = 5022 -+ SYS_SCHED_YIELD = 5023 -+ SYS_MREMAP = 5024 -+ SYS_MSYNC = 5025 -+ SYS_MINCORE = 5026 -+ SYS_MADVISE = 5027 -+ SYS_SHMGET = 5028 -+ SYS_SHMAT = 5029 -+ SYS_SHMCTL = 5030 -+ SYS_DUP = 5031 -+ SYS_DUP2 = 5032 -+ SYS_PAUSE = 5033 -+ SYS_NANOSLEEP = 5034 -+ SYS_GETITIMER = 5035 -+ SYS_SETITIMER = 5036 -+ SYS_ALARM = 5037 -+ SYS_GETPID = 5038 -+ SYS_SENDFILE = 5039 -+ SYS_SOCKET = 5040 -+ SYS_CONNECT = 5041 -+ SYS_ACCEPT = 5042 -+ SYS_SENDTO = 5043 -+ SYS_RECVFROM = 5044 -+ SYS_SENDMSG = 5045 -+ SYS_RECVMSG = 5046 -+ SYS_SHUTDOWN = 5047 -+ SYS_BIND = 5048 -+ SYS_LISTEN = 5049 -+ SYS_GETSOCKNAME = 5050 -+ SYS_GETPEERNAME = 5051 -+ SYS_SOCKETPAIR = 5052 -+ SYS_SETSOCKOPT = 5053 -+ SYS_GETSOCKOPT = 5054 -+ SYS_CLONE = 5055 -+ SYS_FORK = 5056 -+ SYS_EXECVE = 5057 -+ SYS_EXIT = 5058 -+ SYS_WAIT4 = 5059 -+ SYS_KILL = 5060 -+ SYS_UNAME = 5061 -+ SYS_SEMGET = 5062 -+ SYS_SEMOP = 5063 -+ SYS_SEMCTL = 5064 -+ SYS_SHMDT = 5065 -+ SYS_MSGGET = 5066 -+ SYS_MSGSND = 5067 -+ SYS_MSGRCV = 5068 -+ SYS_MSGCTL = 5069 -+ SYS_FCNTL = 5070 -+ SYS_FLOCK = 5071 -+ SYS_FSYNC = 5072 -+ SYS_FDATASYNC = 5073 -+ SYS_TRUNCATE = 5074 -+ SYS_FTRUNCATE = 5075 -+ SYS_GETDENTS = 5076 -+ SYS_GETCWD = 5077 -+ SYS_CHDIR = 5078 -+ SYS_FCHDIR = 5079 -+ SYS_RENAME = 5080 -+ SYS_MKDIR = 5081 -+ SYS_RMDIR = 5082 -+ SYS_CREAT = 5083 -+ SYS_LINK = 5084 -+ SYS_UNLINK = 5085 -+ SYS_SYMLINK = 5086 -+ SYS_READLINK = 5087 -+ SYS_CHMOD = 5088 -+ SYS_FCHMOD = 5089 -+ SYS_CHOWN = 5090 -+ SYS_FCHOWN = 5091 -+ SYS_LCHOWN = 5092 -+ SYS_UMASK = 5093 -+ SYS_GETTIMEOFDAY = 5094 -+ SYS_GETRLIMIT = 5095 -+ SYS_GETRUSAGE = 5096 -+ SYS_SYSINFO = 5097 -+ SYS_TIMES = 5098 -+ SYS_PTRACE = 5099 -+ SYS_GETUID = 5100 -+ SYS_SYSLOG = 5101 -+ SYS_GETGID = 5102 -+ SYS_SETUID = 5103 -+ SYS_SETGID = 5104 -+ SYS_GETEUID = 5105 -+ SYS_GETEGID = 5106 -+ SYS_SETPGID = 5107 -+ SYS_GETPPID = 5108 -+ SYS_GETPGRP = 5109 -+ SYS_SETSID = 5110 -+ SYS_SETREUID = 5111 -+ SYS_SETREGID = 5112 -+ SYS_GETGROUPS = 5113 -+ SYS_SETGROUPS = 5114 -+ SYS_SETRESUID = 5115 -+ SYS_GETRESUID = 5116 -+ SYS_SETRESGID = 5117 -+ SYS_GETRESGID = 5118 -+ SYS_GETPGID = 5119 -+ SYS_SETFSUID = 5120 -+ SYS_SETFSGID = 5121 -+ SYS_GETSID = 5122 -+ SYS_CAPGET = 5123 -+ SYS_CAPSET = 5124 -+ SYS_RT_SIGPENDING = 5125 -+ SYS_RT_SIGTIMEDWAIT = 5126 -+ SYS_RT_SIGQUEUEINFO = 5127 -+ SYS_RT_SIGSUSPEND = 5128 -+ SYS_SIGALTSTACK = 5129 -+ SYS_UTIME = 5130 -+ SYS_MKNOD = 5131 -+ SYS_PERSONALITY = 5132 -+ SYS_USTAT = 5133 -+ SYS_STATFS = 5134 -+ SYS_FSTATFS = 5135 -+ SYS_SYSFS = 5136 -+ SYS_GETPRIORITY = 5137 -+ SYS_SETPRIORITY = 5138 -+ SYS_SCHED_SETPARAM = 5139 -+ SYS_SCHED_GETPARAM = 5140 -+ SYS_SCHED_SETSCHEDULER = 5141 -+ SYS_SCHED_GETSCHEDULER = 5142 -+ SYS_SCHED_GET_PRIORITY_MAX = 5143 -+ SYS_SCHED_GET_PRIORITY_MIN = 5144 -+ SYS_SCHED_RR_GET_INTERVAL = 5145 -+ SYS_MLOCK = 5146 -+ SYS_MUNLOCK = 5147 -+ SYS_MLOCKALL = 5148 -+ SYS_MUNLOCKALL = 5149 -+ SYS_VHANGUP = 5150 -+ SYS_PIVOT_ROOT = 5151 -+ SYS__SYSCTL = 5152 -+ SYS_PRCTL = 5153 -+ SYS_ADJTIMEX = 5154 -+ SYS_SETRLIMIT = 5155 -+ SYS_CHROOT = 5156 -+ SYS_SYNC = 5157 -+ SYS_ACCT = 5158 -+ SYS_SETTIMEOFDAY = 5159 -+ SYS_MOUNT = 5160 -+ SYS_UMOUNT2 = 5161 -+ SYS_SWAPON = 5162 -+ SYS_SWAPOFF = 5163 -+ SYS_REBOOT = 5164 -+ SYS_SETHOSTNAME = 5165 -+ SYS_SETDOMAINNAME = 5166 -+ SYS_CREATE_MODULE = 5167 -+ SYS_INIT_MODULE = 5168 -+ SYS_DELETE_MODULE = 5169 -+ SYS_GET_KERNEL_SYMS = 5170 -+ SYS_QUERY_MODULE = 5171 -+ SYS_QUOTACTL = 5172 -+ SYS_NFSSERVCTL = 5173 -+ SYS_GETPMSG = 5174 -+ SYS_PUTPMSG = 5175 -+ SYS_AFS_SYSCALL = 5176 -+ SYS_RESERVED177 = 5177 -+ SYS_GETTID = 5178 -+ SYS_READAHEAD = 5179 -+ SYS_SETXATTR = 5180 -+ SYS_LSETXATTR = 5181 -+ SYS_FSETXATTR = 5182 -+ SYS_GETXATTR = 5183 -+ SYS_LGETXATTR = 5184 -+ SYS_FGETXATTR = 5185 -+ SYS_LISTXATTR = 5186 -+ SYS_LLISTXATTR = 5187 -+ SYS_FLISTXATTR = 5188 -+ SYS_REMOVEXATTR = 5189 -+ SYS_LREMOVEXATTR = 5190 -+ SYS_FREMOVEXATTR = 5191 -+ SYS_TKILL = 5192 -+ SYS_RESERVED193 = 5193 -+ SYS_FUTEX = 5194 -+ SYS_SCHED_SETAFFINITY = 5195 -+ SYS_SCHED_GETAFFINITY = 5196 -+ SYS_CACHEFLUSH = 5197 -+ SYS_CACHECTL = 5198 -+ SYS_SYSMIPS = 5199 -+ SYS_IO_SETUP = 5200 -+ SYS_IO_DESTROY = 5201 -+ SYS_IO_GETEVENTS = 5202 -+ SYS_IO_SUBMIT = 5203 -+ SYS_IO_CANCEL = 5204 -+ SYS_EXIT_GROUP = 5205 -+ SYS_LOOKUP_DCOOKIE = 5206 -+ SYS_EPOLL_CREATE = 5207 -+ SYS_EPOLL_CTL = 5208 -+ SYS_EPOLL_WAIT = 5209 -+ SYS_REMAP_FILE_PAGES = 5210 -+ SYS_RT_SIGRETURN = 5211 -+ SYS_SET_TID_ADDRESS = 5212 -+ SYS_RESTART_SYSCALL = 5213 -+ SYS_SEMTIMEDOP = 5214 -+ SYS_FADVISE64 = 5215 -+ SYS_TIMER_CREATE = 5216 -+ SYS_TIMER_SETTIME = 5217 -+ SYS_TIMER_GETTIME = 5218 -+ SYS_TIMER_GETOVERRUN = 5219 -+ SYS_TIMER_DELETE = 5220 -+ SYS_CLOCK_SETTIME = 5221 -+ SYS_CLOCK_GETTIME = 5222 -+ SYS_CLOCK_GETRES = 5223 -+ SYS_CLOCK_NANOSLEEP = 5224 -+ SYS_TGKILL = 5225 -+ SYS_UTIMES = 5226 -+ SYS_MBIND = 5227 -+ SYS_GET_MEMPOLICY = 5228 -+ SYS_SET_MEMPOLICY = 5229 -+ SYS_MQ_OPEN = 5230 -+ SYS_MQ_UNLINK = 5231 -+ SYS_MQ_TIMEDSEND = 5232 -+ SYS_MQ_TIMEDRECEIVE = 5233 -+ SYS_MQ_NOTIFY = 5234 -+ SYS_MQ_GETSETATTR = 5235 -+ SYS_VSERVER = 5236 -+ SYS_WAITID = 5237 -+ SYS_ADD_KEY = 5239 -+ SYS_REQUEST_KEY = 5240 -+ SYS_KEYCTL = 5241 -+ SYS_SET_THREAD_AREA = 5242 -+ SYS_INOTIFY_INIT = 5243 -+ SYS_INOTIFY_ADD_WATCH = 5244 -+ SYS_INOTIFY_RM_WATCH = 5245 -+ SYS_MIGRATE_PAGES = 5246 -+ SYS_OPENAT = 5247 -+ SYS_MKDIRAT = 5248 -+ SYS_MKNODAT = 5249 -+ SYS_FCHOWNAT = 5250 -+ SYS_FUTIMESAT = 5251 -+ SYS_NEWFSTATAT = 5252 -+ SYS_UNLINKAT = 5253 -+ SYS_RENAMEAT = 5254 -+ SYS_LINKAT = 5255 -+ SYS_SYMLINKAT = 5256 -+ SYS_READLINKAT = 5257 -+ SYS_FCHMODAT = 5258 -+ SYS_FACCESSAT = 5259 -+ SYS_PSELECT6 = 5260 -+ SYS_PPOLL = 5261 -+ SYS_UNSHARE = 5262 -+ SYS_SPLICE = 5263 -+ SYS_SYNC_FILE_RANGE = 5264 -+ SYS_TEE = 5265 -+ SYS_VMSPLICE = 5266 -+ SYS_MOVE_PAGES = 5267 -+ SYS_SET_ROBUST_LIST = 5268 -+ SYS_GET_ROBUST_LIST = 5269 -+ SYS_KEXEC_LOAD = 5270 -+ SYS_GETCPU = 5271 -+ SYS_EPOLL_PWAIT = 5272 -+ SYS_IOPRIO_SET = 5273 -+ SYS_IOPRIO_GET = 5274 -+ SYS_UTIMENSAT = 5275 -+ SYS_SIGNALFD = 5276 -+ SYS_TIMERFD = 5277 -+ SYS_EVENTFD = 5278 -+ SYS_FALLOCATE = 5279 -+ SYS_TIMERFD_CREATE = 5280 -+ SYS_TIMERFD_GETTIME = 5281 -+ SYS_TIMERFD_SETTIME = 5282 -+ SYS_SIGNALFD4 = 5283 -+ SYS_EVENTFD2 = 5284 -+ SYS_EPOLL_CREATE1 = 5285 -+ SYS_DUP3 = 5286 -+ SYS_PIPE2 = 5287 -+ SYS_INOTIFY_INIT1 = 5288 -+ SYS_PREADV = 5289 -+ SYS_PWRITEV = 5290 -+ SYS_RT_TGSIGQUEUEINFO = 5291 -+ SYS_PERF_EVENT_OPEN = 5292 -+ SYS_ACCEPT4 = 5293 -+ SYS_RECVMMSG = 5294 -+ SYS_FANOTIFY_INIT = 5295 -+ SYS_FANOTIFY_MARK = 5296 -+ SYS_PRLIMIT64 = 5297 -+ SYS_NAME_TO_HANDLE_AT = 5298 -+ SYS_OPEN_BY_HANDLE_AT = 5299 -+ SYS_CLOCK_ADJTIME = 5300 -+ SYS_SYNCFS = 5301 -+ SYS_SENDMMSG = 5302 -+ SYS_SETNS = 5303 -+ SYS_PROCESS_VM_READV = 5304 -+ SYS_PROCESS_VM_WRITEV = 5305 -+ SYS_KCMP = 5306 -+ SYS_FINIT_MODULE = 5307 -+ SYS_GETDENTS64 = 5308 -+ SYS_SCHED_SETATTR = 5309 -+ SYS_SCHED_GETATTR = 5310 -+ SYS_RENAMEAT2 = 5311 -+ SYS_SECCOMP = 5312 -+ SYS_GETRANDOM = 5313 -+ SYS_MEMFD_CREATE = 5314 -+ SYS_BPF = 5315 -+ SYS_EXECVEAT = 5316 -+ SYS_USERFAULTFD = 5317 -+ SYS_MEMBARRIER = 5318 -+ SYS_MLOCK2 = 5319 -+ SYS_COPY_FILE_RANGE = 5320 -+ SYS_PREADV2 = 5321 -+ SYS_PWRITEV2 = 5322 -+ SYS_PKEY_MPROTECT = 5323 -+ SYS_PKEY_ALLOC = 5324 -+ SYS_PKEY_FREE = 5325 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go -new file mode 100644 -index 0000000..993873c ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go -@@ -0,0 +1,334 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m64 -D_MIPS_SIM=_MIPS_SIM_ABI64 -D__MIPSEL__ linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build mips64le,linux -+ -+package unix -+ -+const ( -+ SYS_READ = 5000 -+ SYS_WRITE = 5001 -+ SYS_OPEN = 5002 -+ SYS_CLOSE = 5003 -+ SYS_STAT = 5004 -+ SYS_FSTAT = 5005 -+ SYS_LSTAT = 5006 -+ SYS_POLL = 5007 -+ SYS_LSEEK = 5008 -+ SYS_MMAP = 5009 -+ SYS_MPROTECT = 5010 -+ SYS_MUNMAP = 5011 -+ SYS_BRK = 5012 -+ SYS_RT_SIGACTION = 5013 -+ SYS_RT_SIGPROCMASK = 5014 -+ SYS_IOCTL = 5015 -+ SYS_PREAD64 = 5016 -+ SYS_PWRITE64 = 5017 -+ SYS_READV = 5018 -+ SYS_WRITEV = 5019 -+ SYS_ACCESS = 5020 -+ SYS_PIPE = 5021 -+ SYS__NEWSELECT = 5022 -+ SYS_SCHED_YIELD = 5023 -+ SYS_MREMAP = 5024 -+ SYS_MSYNC = 5025 -+ SYS_MINCORE = 5026 -+ SYS_MADVISE = 5027 -+ SYS_SHMGET = 5028 -+ SYS_SHMAT = 5029 -+ SYS_SHMCTL = 5030 -+ SYS_DUP = 5031 -+ SYS_DUP2 = 5032 -+ SYS_PAUSE = 5033 -+ SYS_NANOSLEEP = 5034 -+ SYS_GETITIMER = 5035 -+ SYS_SETITIMER = 5036 -+ SYS_ALARM = 5037 -+ SYS_GETPID = 5038 -+ SYS_SENDFILE = 5039 -+ SYS_SOCKET = 5040 -+ SYS_CONNECT = 5041 -+ SYS_ACCEPT = 5042 -+ SYS_SENDTO = 5043 -+ SYS_RECVFROM = 5044 -+ SYS_SENDMSG = 5045 -+ SYS_RECVMSG = 5046 -+ SYS_SHUTDOWN = 5047 -+ SYS_BIND = 5048 -+ SYS_LISTEN = 5049 -+ SYS_GETSOCKNAME = 5050 -+ SYS_GETPEERNAME = 5051 -+ SYS_SOCKETPAIR = 5052 -+ SYS_SETSOCKOPT = 5053 -+ SYS_GETSOCKOPT = 5054 -+ SYS_CLONE = 5055 -+ SYS_FORK = 5056 -+ SYS_EXECVE = 5057 -+ SYS_EXIT = 5058 -+ SYS_WAIT4 = 5059 -+ SYS_KILL = 5060 -+ SYS_UNAME = 5061 -+ SYS_SEMGET = 5062 -+ SYS_SEMOP = 5063 -+ SYS_SEMCTL = 5064 -+ SYS_SHMDT = 5065 -+ SYS_MSGGET = 5066 -+ SYS_MSGSND = 5067 -+ SYS_MSGRCV = 5068 -+ SYS_MSGCTL = 5069 -+ SYS_FCNTL = 5070 -+ SYS_FLOCK = 5071 -+ SYS_FSYNC = 5072 -+ SYS_FDATASYNC = 5073 -+ SYS_TRUNCATE = 5074 -+ SYS_FTRUNCATE = 5075 -+ SYS_GETDENTS = 5076 -+ SYS_GETCWD = 5077 -+ SYS_CHDIR = 5078 -+ SYS_FCHDIR = 5079 -+ SYS_RENAME = 5080 -+ SYS_MKDIR = 5081 -+ SYS_RMDIR = 5082 -+ SYS_CREAT = 5083 -+ SYS_LINK = 5084 -+ SYS_UNLINK = 5085 -+ SYS_SYMLINK = 5086 -+ SYS_READLINK = 5087 -+ SYS_CHMOD = 5088 -+ SYS_FCHMOD = 5089 -+ SYS_CHOWN = 5090 -+ SYS_FCHOWN = 5091 -+ SYS_LCHOWN = 5092 -+ SYS_UMASK = 5093 -+ SYS_GETTIMEOFDAY = 5094 -+ SYS_GETRLIMIT = 5095 -+ SYS_GETRUSAGE = 5096 -+ SYS_SYSINFO = 5097 -+ SYS_TIMES = 5098 -+ SYS_PTRACE = 5099 -+ SYS_GETUID = 5100 -+ SYS_SYSLOG = 5101 -+ SYS_GETGID = 5102 -+ SYS_SETUID = 5103 -+ SYS_SETGID = 5104 -+ SYS_GETEUID = 5105 -+ SYS_GETEGID = 5106 -+ SYS_SETPGID = 5107 -+ SYS_GETPPID = 5108 -+ SYS_GETPGRP = 5109 -+ SYS_SETSID = 5110 -+ SYS_SETREUID = 5111 -+ SYS_SETREGID = 5112 -+ SYS_GETGROUPS = 5113 -+ SYS_SETGROUPS = 5114 -+ SYS_SETRESUID = 5115 -+ SYS_GETRESUID = 5116 -+ SYS_SETRESGID = 5117 -+ SYS_GETRESGID = 5118 -+ SYS_GETPGID = 5119 -+ SYS_SETFSUID = 5120 -+ SYS_SETFSGID = 5121 -+ SYS_GETSID = 5122 -+ SYS_CAPGET = 5123 -+ SYS_CAPSET = 5124 -+ SYS_RT_SIGPENDING = 5125 -+ SYS_RT_SIGTIMEDWAIT = 5126 -+ SYS_RT_SIGQUEUEINFO = 5127 -+ SYS_RT_SIGSUSPEND = 5128 -+ SYS_SIGALTSTACK = 5129 -+ SYS_UTIME = 5130 -+ SYS_MKNOD = 5131 -+ SYS_PERSONALITY = 5132 -+ SYS_USTAT = 5133 -+ SYS_STATFS = 5134 -+ SYS_FSTATFS = 5135 -+ SYS_SYSFS = 5136 -+ SYS_GETPRIORITY = 5137 -+ SYS_SETPRIORITY = 5138 -+ SYS_SCHED_SETPARAM = 5139 -+ SYS_SCHED_GETPARAM = 5140 -+ SYS_SCHED_SETSCHEDULER = 5141 -+ SYS_SCHED_GETSCHEDULER = 5142 -+ SYS_SCHED_GET_PRIORITY_MAX = 5143 -+ SYS_SCHED_GET_PRIORITY_MIN = 5144 -+ SYS_SCHED_RR_GET_INTERVAL = 5145 -+ SYS_MLOCK = 5146 -+ SYS_MUNLOCK = 5147 -+ SYS_MLOCKALL = 5148 -+ SYS_MUNLOCKALL = 5149 -+ SYS_VHANGUP = 5150 -+ SYS_PIVOT_ROOT = 5151 -+ SYS__SYSCTL = 5152 -+ SYS_PRCTL = 5153 -+ SYS_ADJTIMEX = 5154 -+ SYS_SETRLIMIT = 5155 -+ SYS_CHROOT = 5156 -+ SYS_SYNC = 5157 -+ SYS_ACCT = 5158 -+ SYS_SETTIMEOFDAY = 5159 -+ SYS_MOUNT = 5160 -+ SYS_UMOUNT2 = 5161 -+ SYS_SWAPON = 5162 -+ SYS_SWAPOFF = 5163 -+ SYS_REBOOT = 5164 -+ SYS_SETHOSTNAME = 5165 -+ SYS_SETDOMAINNAME = 5166 -+ SYS_CREATE_MODULE = 5167 -+ SYS_INIT_MODULE = 5168 -+ SYS_DELETE_MODULE = 5169 -+ SYS_GET_KERNEL_SYMS = 5170 -+ SYS_QUERY_MODULE = 5171 -+ SYS_QUOTACTL = 5172 -+ SYS_NFSSERVCTL = 5173 -+ SYS_GETPMSG = 5174 -+ SYS_PUTPMSG = 5175 -+ SYS_AFS_SYSCALL = 5176 -+ SYS_RESERVED177 = 5177 -+ SYS_GETTID = 5178 -+ SYS_READAHEAD = 5179 -+ SYS_SETXATTR = 5180 -+ SYS_LSETXATTR = 5181 -+ SYS_FSETXATTR = 5182 -+ SYS_GETXATTR = 5183 -+ SYS_LGETXATTR = 5184 -+ SYS_FGETXATTR = 5185 -+ SYS_LISTXATTR = 5186 -+ SYS_LLISTXATTR = 5187 -+ SYS_FLISTXATTR = 5188 -+ SYS_REMOVEXATTR = 5189 -+ SYS_LREMOVEXATTR = 5190 -+ SYS_FREMOVEXATTR = 5191 -+ SYS_TKILL = 5192 -+ SYS_RESERVED193 = 5193 -+ SYS_FUTEX = 5194 -+ SYS_SCHED_SETAFFINITY = 5195 -+ SYS_SCHED_GETAFFINITY = 5196 -+ SYS_CACHEFLUSH = 5197 -+ SYS_CACHECTL = 5198 -+ SYS_SYSMIPS = 5199 -+ SYS_IO_SETUP = 5200 -+ SYS_IO_DESTROY = 5201 -+ SYS_IO_GETEVENTS = 5202 -+ SYS_IO_SUBMIT = 5203 -+ SYS_IO_CANCEL = 5204 -+ SYS_EXIT_GROUP = 5205 -+ SYS_LOOKUP_DCOOKIE = 5206 -+ SYS_EPOLL_CREATE = 5207 -+ SYS_EPOLL_CTL = 5208 -+ SYS_EPOLL_WAIT = 5209 -+ SYS_REMAP_FILE_PAGES = 5210 -+ SYS_RT_SIGRETURN = 5211 -+ SYS_SET_TID_ADDRESS = 5212 -+ SYS_RESTART_SYSCALL = 5213 -+ SYS_SEMTIMEDOP = 5214 -+ SYS_FADVISE64 = 5215 -+ SYS_TIMER_CREATE = 5216 -+ SYS_TIMER_SETTIME = 5217 -+ SYS_TIMER_GETTIME = 5218 -+ SYS_TIMER_GETOVERRUN = 5219 -+ SYS_TIMER_DELETE = 5220 -+ SYS_CLOCK_SETTIME = 5221 -+ SYS_CLOCK_GETTIME = 5222 -+ SYS_CLOCK_GETRES = 5223 -+ SYS_CLOCK_NANOSLEEP = 5224 -+ SYS_TGKILL = 5225 -+ SYS_UTIMES = 5226 -+ SYS_MBIND = 5227 -+ SYS_GET_MEMPOLICY = 5228 -+ SYS_SET_MEMPOLICY = 5229 -+ SYS_MQ_OPEN = 5230 -+ SYS_MQ_UNLINK = 5231 -+ SYS_MQ_TIMEDSEND = 5232 -+ SYS_MQ_TIMEDRECEIVE = 5233 -+ SYS_MQ_NOTIFY = 5234 -+ SYS_MQ_GETSETATTR = 5235 -+ SYS_VSERVER = 5236 -+ SYS_WAITID = 5237 -+ SYS_ADD_KEY = 5239 -+ SYS_REQUEST_KEY = 5240 -+ SYS_KEYCTL = 5241 -+ SYS_SET_THREAD_AREA = 5242 -+ SYS_INOTIFY_INIT = 5243 -+ SYS_INOTIFY_ADD_WATCH = 5244 -+ SYS_INOTIFY_RM_WATCH = 5245 -+ SYS_MIGRATE_PAGES = 5246 -+ SYS_OPENAT = 5247 -+ SYS_MKDIRAT = 5248 -+ SYS_MKNODAT = 5249 -+ SYS_FCHOWNAT = 5250 -+ SYS_FUTIMESAT = 5251 -+ SYS_NEWFSTATAT = 5252 -+ SYS_UNLINKAT = 5253 -+ SYS_RENAMEAT = 5254 -+ SYS_LINKAT = 5255 -+ SYS_SYMLINKAT = 5256 -+ SYS_READLINKAT = 5257 -+ SYS_FCHMODAT = 5258 -+ SYS_FACCESSAT = 5259 -+ SYS_PSELECT6 = 5260 -+ SYS_PPOLL = 5261 -+ SYS_UNSHARE = 5262 -+ SYS_SPLICE = 5263 -+ SYS_SYNC_FILE_RANGE = 5264 -+ SYS_TEE = 5265 -+ SYS_VMSPLICE = 5266 -+ SYS_MOVE_PAGES = 5267 -+ SYS_SET_ROBUST_LIST = 5268 -+ SYS_GET_ROBUST_LIST = 5269 -+ SYS_KEXEC_LOAD = 5270 -+ SYS_GETCPU = 5271 -+ SYS_EPOLL_PWAIT = 5272 -+ SYS_IOPRIO_SET = 5273 -+ SYS_IOPRIO_GET = 5274 -+ SYS_UTIMENSAT = 5275 -+ SYS_SIGNALFD = 5276 -+ SYS_TIMERFD = 5277 -+ SYS_EVENTFD = 5278 -+ SYS_FALLOCATE = 5279 -+ SYS_TIMERFD_CREATE = 5280 -+ SYS_TIMERFD_GETTIME = 5281 -+ SYS_TIMERFD_SETTIME = 5282 -+ SYS_SIGNALFD4 = 5283 -+ SYS_EVENTFD2 = 5284 -+ SYS_EPOLL_CREATE1 = 5285 -+ SYS_DUP3 = 5286 -+ SYS_PIPE2 = 5287 -+ SYS_INOTIFY_INIT1 = 5288 -+ SYS_PREADV = 5289 -+ SYS_PWRITEV = 5290 -+ SYS_RT_TGSIGQUEUEINFO = 5291 -+ SYS_PERF_EVENT_OPEN = 5292 -+ SYS_ACCEPT4 = 5293 -+ SYS_RECVMMSG = 5294 -+ SYS_FANOTIFY_INIT = 5295 -+ SYS_FANOTIFY_MARK = 5296 -+ SYS_PRLIMIT64 = 5297 -+ SYS_NAME_TO_HANDLE_AT = 5298 -+ SYS_OPEN_BY_HANDLE_AT = 5299 -+ SYS_CLOCK_ADJTIME = 5300 -+ SYS_SYNCFS = 5301 -+ SYS_SENDMMSG = 5302 -+ SYS_SETNS = 5303 -+ SYS_PROCESS_VM_READV = 5304 -+ SYS_PROCESS_VM_WRITEV = 5305 -+ SYS_KCMP = 5306 -+ SYS_FINIT_MODULE = 5307 -+ SYS_GETDENTS64 = 5308 -+ SYS_SCHED_SETATTR = 5309 -+ SYS_SCHED_GETATTR = 5310 -+ SYS_RENAMEAT2 = 5311 -+ SYS_SECCOMP = 5312 -+ SYS_GETRANDOM = 5313 -+ SYS_MEMFD_CREATE = 5314 -+ SYS_BPF = 5315 -+ SYS_EXECVEAT = 5316 -+ SYS_USERFAULTFD = 5317 -+ SYS_MEMBARRIER = 5318 -+ SYS_MLOCK2 = 5319 -+ SYS_COPY_FILE_RANGE = 5320 -+ SYS_PREADV2 = 5321 -+ SYS_PWRITEV2 = 5322 -+ SYS_PKEY_MPROTECT = 5323 -+ SYS_PKEY_ALLOC = 5324 -+ SYS_PKEY_FREE = 5325 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go -new file mode 100644 -index 0000000..f0155ba ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go -@@ -0,0 +1,374 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m32 -D_MIPS_SIM=_MIPS_SIM_ABI32 -D__MIPSEL__ linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build mipsle,linux -+ -+package unix -+ -+const ( -+ SYS_SYSCALL = 4000 -+ SYS_EXIT = 4001 -+ SYS_FORK = 4002 -+ SYS_READ = 4003 -+ SYS_WRITE = 4004 -+ SYS_OPEN = 4005 -+ SYS_CLOSE = 4006 -+ SYS_WAITPID = 4007 -+ SYS_CREAT = 4008 -+ SYS_LINK = 4009 -+ SYS_UNLINK = 4010 -+ SYS_EXECVE = 4011 -+ SYS_CHDIR = 4012 -+ SYS_TIME = 4013 -+ SYS_MKNOD = 4014 -+ SYS_CHMOD = 4015 -+ SYS_LCHOWN = 4016 -+ SYS_BREAK = 4017 -+ SYS_UNUSED18 = 4018 -+ SYS_LSEEK = 4019 -+ SYS_GETPID = 4020 -+ SYS_MOUNT = 4021 -+ SYS_UMOUNT = 4022 -+ SYS_SETUID = 4023 -+ SYS_GETUID = 4024 -+ SYS_STIME = 4025 -+ SYS_PTRACE = 4026 -+ SYS_ALARM = 4027 -+ SYS_UNUSED28 = 4028 -+ SYS_PAUSE = 4029 -+ SYS_UTIME = 4030 -+ SYS_STTY = 4031 -+ SYS_GTTY = 4032 -+ SYS_ACCESS = 4033 -+ SYS_NICE = 4034 -+ SYS_FTIME = 4035 -+ SYS_SYNC = 4036 -+ SYS_KILL = 4037 -+ SYS_RENAME = 4038 -+ SYS_MKDIR = 4039 -+ SYS_RMDIR = 4040 -+ SYS_DUP = 4041 -+ SYS_PIPE = 4042 -+ SYS_TIMES = 4043 -+ SYS_PROF = 4044 -+ SYS_BRK = 4045 -+ SYS_SETGID = 4046 -+ SYS_GETGID = 4047 -+ SYS_SIGNAL = 4048 -+ SYS_GETEUID = 4049 -+ SYS_GETEGID = 4050 -+ SYS_ACCT = 4051 -+ SYS_UMOUNT2 = 4052 -+ SYS_LOCK = 4053 -+ SYS_IOCTL = 4054 -+ SYS_FCNTL = 4055 -+ SYS_MPX = 4056 -+ SYS_SETPGID = 4057 -+ SYS_ULIMIT = 4058 -+ SYS_UNUSED59 = 4059 -+ SYS_UMASK = 4060 -+ SYS_CHROOT = 4061 -+ SYS_USTAT = 4062 -+ SYS_DUP2 = 4063 -+ SYS_GETPPID = 4064 -+ SYS_GETPGRP = 4065 -+ SYS_SETSID = 4066 -+ SYS_SIGACTION = 4067 -+ SYS_SGETMASK = 4068 -+ SYS_SSETMASK = 4069 -+ SYS_SETREUID = 4070 -+ SYS_SETREGID = 4071 -+ SYS_SIGSUSPEND = 4072 -+ SYS_SIGPENDING = 4073 -+ SYS_SETHOSTNAME = 4074 -+ SYS_SETRLIMIT = 4075 -+ SYS_GETRLIMIT = 4076 -+ SYS_GETRUSAGE = 4077 -+ SYS_GETTIMEOFDAY = 4078 -+ SYS_SETTIMEOFDAY = 4079 -+ SYS_GETGROUPS = 4080 -+ SYS_SETGROUPS = 4081 -+ SYS_RESERVED82 = 4082 -+ SYS_SYMLINK = 4083 -+ SYS_UNUSED84 = 4084 -+ SYS_READLINK = 4085 -+ SYS_USELIB = 4086 -+ SYS_SWAPON = 4087 -+ SYS_REBOOT = 4088 -+ SYS_READDIR = 4089 -+ SYS_MMAP = 4090 -+ SYS_MUNMAP = 4091 -+ SYS_TRUNCATE = 4092 -+ SYS_FTRUNCATE = 4093 -+ SYS_FCHMOD = 4094 -+ SYS_FCHOWN = 4095 -+ SYS_GETPRIORITY = 4096 -+ SYS_SETPRIORITY = 4097 -+ SYS_PROFIL = 4098 -+ SYS_STATFS = 4099 -+ SYS_FSTATFS = 4100 -+ SYS_IOPERM = 4101 -+ SYS_SOCKETCALL = 4102 -+ SYS_SYSLOG = 4103 -+ SYS_SETITIMER = 4104 -+ SYS_GETITIMER = 4105 -+ SYS_STAT = 4106 -+ SYS_LSTAT = 4107 -+ SYS_FSTAT = 4108 -+ SYS_UNUSED109 = 4109 -+ SYS_IOPL = 4110 -+ SYS_VHANGUP = 4111 -+ SYS_IDLE = 4112 -+ SYS_VM86 = 4113 -+ SYS_WAIT4 = 4114 -+ SYS_SWAPOFF = 4115 -+ SYS_SYSINFO = 4116 -+ SYS_IPC = 4117 -+ SYS_FSYNC = 4118 -+ SYS_SIGRETURN = 4119 -+ SYS_CLONE = 4120 -+ SYS_SETDOMAINNAME = 4121 -+ SYS_UNAME = 4122 -+ SYS_MODIFY_LDT = 4123 -+ SYS_ADJTIMEX = 4124 -+ SYS_MPROTECT = 4125 -+ SYS_SIGPROCMASK = 4126 -+ SYS_CREATE_MODULE = 4127 -+ SYS_INIT_MODULE = 4128 -+ SYS_DELETE_MODULE = 4129 -+ SYS_GET_KERNEL_SYMS = 4130 -+ SYS_QUOTACTL = 4131 -+ SYS_GETPGID = 4132 -+ SYS_FCHDIR = 4133 -+ SYS_BDFLUSH = 4134 -+ SYS_SYSFS = 4135 -+ SYS_PERSONALITY = 4136 -+ SYS_AFS_SYSCALL = 4137 -+ SYS_SETFSUID = 4138 -+ SYS_SETFSGID = 4139 -+ SYS__LLSEEK = 4140 -+ SYS_GETDENTS = 4141 -+ SYS__NEWSELECT = 4142 -+ SYS_FLOCK = 4143 -+ SYS_MSYNC = 4144 -+ SYS_READV = 4145 -+ SYS_WRITEV = 4146 -+ SYS_CACHEFLUSH = 4147 -+ SYS_CACHECTL = 4148 -+ SYS_SYSMIPS = 4149 -+ SYS_UNUSED150 = 4150 -+ SYS_GETSID = 4151 -+ SYS_FDATASYNC = 4152 -+ SYS__SYSCTL = 4153 -+ SYS_MLOCK = 4154 -+ SYS_MUNLOCK = 4155 -+ SYS_MLOCKALL = 4156 -+ SYS_MUNLOCKALL = 4157 -+ SYS_SCHED_SETPARAM = 4158 -+ SYS_SCHED_GETPARAM = 4159 -+ SYS_SCHED_SETSCHEDULER = 4160 -+ SYS_SCHED_GETSCHEDULER = 4161 -+ SYS_SCHED_YIELD = 4162 -+ SYS_SCHED_GET_PRIORITY_MAX = 4163 -+ SYS_SCHED_GET_PRIORITY_MIN = 4164 -+ SYS_SCHED_RR_GET_INTERVAL = 4165 -+ SYS_NANOSLEEP = 4166 -+ SYS_MREMAP = 4167 -+ SYS_ACCEPT = 4168 -+ SYS_BIND = 4169 -+ SYS_CONNECT = 4170 -+ SYS_GETPEERNAME = 4171 -+ SYS_GETSOCKNAME = 4172 -+ SYS_GETSOCKOPT = 4173 -+ SYS_LISTEN = 4174 -+ SYS_RECV = 4175 -+ SYS_RECVFROM = 4176 -+ SYS_RECVMSG = 4177 -+ SYS_SEND = 4178 -+ SYS_SENDMSG = 4179 -+ SYS_SENDTO = 4180 -+ SYS_SETSOCKOPT = 4181 -+ SYS_SHUTDOWN = 4182 -+ SYS_SOCKET = 4183 -+ SYS_SOCKETPAIR = 4184 -+ SYS_SETRESUID = 4185 -+ SYS_GETRESUID = 4186 -+ SYS_QUERY_MODULE = 4187 -+ SYS_POLL = 4188 -+ SYS_NFSSERVCTL = 4189 -+ SYS_SETRESGID = 4190 -+ SYS_GETRESGID = 4191 -+ SYS_PRCTL = 4192 -+ SYS_RT_SIGRETURN = 4193 -+ SYS_RT_SIGACTION = 4194 -+ SYS_RT_SIGPROCMASK = 4195 -+ SYS_RT_SIGPENDING = 4196 -+ SYS_RT_SIGTIMEDWAIT = 4197 -+ SYS_RT_SIGQUEUEINFO = 4198 -+ SYS_RT_SIGSUSPEND = 4199 -+ SYS_PREAD64 = 4200 -+ SYS_PWRITE64 = 4201 -+ SYS_CHOWN = 4202 -+ SYS_GETCWD = 4203 -+ SYS_CAPGET = 4204 -+ SYS_CAPSET = 4205 -+ SYS_SIGALTSTACK = 4206 -+ SYS_SENDFILE = 4207 -+ SYS_GETPMSG = 4208 -+ SYS_PUTPMSG = 4209 -+ SYS_MMAP2 = 4210 -+ SYS_TRUNCATE64 = 4211 -+ SYS_FTRUNCATE64 = 4212 -+ SYS_STAT64 = 4213 -+ SYS_LSTAT64 = 4214 -+ SYS_FSTAT64 = 4215 -+ SYS_PIVOT_ROOT = 4216 -+ SYS_MINCORE = 4217 -+ SYS_MADVISE = 4218 -+ SYS_GETDENTS64 = 4219 -+ SYS_FCNTL64 = 4220 -+ SYS_RESERVED221 = 4221 -+ SYS_GETTID = 4222 -+ SYS_READAHEAD = 4223 -+ SYS_SETXATTR = 4224 -+ SYS_LSETXATTR = 4225 -+ SYS_FSETXATTR = 4226 -+ SYS_GETXATTR = 4227 -+ SYS_LGETXATTR = 4228 -+ SYS_FGETXATTR = 4229 -+ SYS_LISTXATTR = 4230 -+ SYS_LLISTXATTR = 4231 -+ SYS_FLISTXATTR = 4232 -+ SYS_REMOVEXATTR = 4233 -+ SYS_LREMOVEXATTR = 4234 -+ SYS_FREMOVEXATTR = 4235 -+ SYS_TKILL = 4236 -+ SYS_SENDFILE64 = 4237 -+ SYS_FUTEX = 4238 -+ SYS_SCHED_SETAFFINITY = 4239 -+ SYS_SCHED_GETAFFINITY = 4240 -+ SYS_IO_SETUP = 4241 -+ SYS_IO_DESTROY = 4242 -+ SYS_IO_GETEVENTS = 4243 -+ SYS_IO_SUBMIT = 4244 -+ SYS_IO_CANCEL = 4245 -+ SYS_EXIT_GROUP = 4246 -+ SYS_LOOKUP_DCOOKIE = 4247 -+ SYS_EPOLL_CREATE = 4248 -+ SYS_EPOLL_CTL = 4249 -+ SYS_EPOLL_WAIT = 4250 -+ SYS_REMAP_FILE_PAGES = 4251 -+ SYS_SET_TID_ADDRESS = 4252 -+ SYS_RESTART_SYSCALL = 4253 -+ SYS_FADVISE64 = 4254 -+ SYS_STATFS64 = 4255 -+ SYS_FSTATFS64 = 4256 -+ SYS_TIMER_CREATE = 4257 -+ SYS_TIMER_SETTIME = 4258 -+ SYS_TIMER_GETTIME = 4259 -+ SYS_TIMER_GETOVERRUN = 4260 -+ SYS_TIMER_DELETE = 4261 -+ SYS_CLOCK_SETTIME = 4262 -+ SYS_CLOCK_GETTIME = 4263 -+ SYS_CLOCK_GETRES = 4264 -+ SYS_CLOCK_NANOSLEEP = 4265 -+ SYS_TGKILL = 4266 -+ SYS_UTIMES = 4267 -+ SYS_MBIND = 4268 -+ SYS_GET_MEMPOLICY = 4269 -+ SYS_SET_MEMPOLICY = 4270 -+ SYS_MQ_OPEN = 4271 -+ SYS_MQ_UNLINK = 4272 -+ SYS_MQ_TIMEDSEND = 4273 -+ SYS_MQ_TIMEDRECEIVE = 4274 -+ SYS_MQ_NOTIFY = 4275 -+ SYS_MQ_GETSETATTR = 4276 -+ SYS_VSERVER = 4277 -+ SYS_WAITID = 4278 -+ SYS_ADD_KEY = 4280 -+ SYS_REQUEST_KEY = 4281 -+ SYS_KEYCTL = 4282 -+ SYS_SET_THREAD_AREA = 4283 -+ SYS_INOTIFY_INIT = 4284 -+ SYS_INOTIFY_ADD_WATCH = 4285 -+ SYS_INOTIFY_RM_WATCH = 4286 -+ SYS_MIGRATE_PAGES = 4287 -+ SYS_OPENAT = 4288 -+ SYS_MKDIRAT = 4289 -+ SYS_MKNODAT = 4290 -+ SYS_FCHOWNAT = 4291 -+ SYS_FUTIMESAT = 4292 -+ SYS_FSTATAT64 = 4293 -+ SYS_UNLINKAT = 4294 -+ SYS_RENAMEAT = 4295 -+ SYS_LINKAT = 4296 -+ SYS_SYMLINKAT = 4297 -+ SYS_READLINKAT = 4298 -+ SYS_FCHMODAT = 4299 -+ SYS_FACCESSAT = 4300 -+ SYS_PSELECT6 = 4301 -+ SYS_PPOLL = 4302 -+ SYS_UNSHARE = 4303 -+ SYS_SPLICE = 4304 -+ SYS_SYNC_FILE_RANGE = 4305 -+ SYS_TEE = 4306 -+ SYS_VMSPLICE = 4307 -+ SYS_MOVE_PAGES = 4308 -+ SYS_SET_ROBUST_LIST = 4309 -+ SYS_GET_ROBUST_LIST = 4310 -+ SYS_KEXEC_LOAD = 4311 -+ SYS_GETCPU = 4312 -+ SYS_EPOLL_PWAIT = 4313 -+ SYS_IOPRIO_SET = 4314 -+ SYS_IOPRIO_GET = 4315 -+ SYS_UTIMENSAT = 4316 -+ SYS_SIGNALFD = 4317 -+ SYS_TIMERFD = 4318 -+ SYS_EVENTFD = 4319 -+ SYS_FALLOCATE = 4320 -+ SYS_TIMERFD_CREATE = 4321 -+ SYS_TIMERFD_GETTIME = 4322 -+ SYS_TIMERFD_SETTIME = 4323 -+ SYS_SIGNALFD4 = 4324 -+ SYS_EVENTFD2 = 4325 -+ SYS_EPOLL_CREATE1 = 4326 -+ SYS_DUP3 = 4327 -+ SYS_PIPE2 = 4328 -+ SYS_INOTIFY_INIT1 = 4329 -+ SYS_PREADV = 4330 -+ SYS_PWRITEV = 4331 -+ SYS_RT_TGSIGQUEUEINFO = 4332 -+ SYS_PERF_EVENT_OPEN = 4333 -+ SYS_ACCEPT4 = 4334 -+ SYS_RECVMMSG = 4335 -+ SYS_FANOTIFY_INIT = 4336 -+ SYS_FANOTIFY_MARK = 4337 -+ SYS_PRLIMIT64 = 4338 -+ SYS_NAME_TO_HANDLE_AT = 4339 -+ SYS_OPEN_BY_HANDLE_AT = 4340 -+ SYS_CLOCK_ADJTIME = 4341 -+ SYS_SYNCFS = 4342 -+ SYS_SENDMMSG = 4343 -+ SYS_SETNS = 4344 -+ SYS_PROCESS_VM_READV = 4345 -+ SYS_PROCESS_VM_WRITEV = 4346 -+ SYS_KCMP = 4347 -+ SYS_FINIT_MODULE = 4348 -+ SYS_SCHED_SETATTR = 4349 -+ SYS_SCHED_GETATTR = 4350 -+ SYS_RENAMEAT2 = 4351 -+ SYS_SECCOMP = 4352 -+ SYS_GETRANDOM = 4353 -+ SYS_MEMFD_CREATE = 4354 -+ SYS_BPF = 4355 -+ SYS_EXECVEAT = 4356 -+ SYS_USERFAULTFD = 4357 -+ SYS_MEMBARRIER = 4358 -+ SYS_MLOCK2 = 4359 -+ SYS_COPY_FILE_RANGE = 4360 -+ SYS_PREADV2 = 4361 -+ SYS_PWRITEV2 = 4362 -+ SYS_PKEY_MPROTECT = 4363 -+ SYS_PKEY_ALLOC = 4364 -+ SYS_PKEY_FREE = 4365 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go -new file mode 100644 -index 0000000..0deec82 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go -@@ -0,0 +1,369 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m64 -D__powerpc64__ linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build ppc64,linux -+ -+package unix -+ -+const ( -+ SYS_RESTART_SYSCALL = 0 -+ SYS_EXIT = 1 -+ SYS_FORK = 2 -+ SYS_READ = 3 -+ SYS_WRITE = 4 -+ SYS_OPEN = 5 -+ SYS_CLOSE = 6 -+ SYS_WAITPID = 7 -+ SYS_CREAT = 8 -+ SYS_LINK = 9 -+ SYS_UNLINK = 10 -+ SYS_EXECVE = 11 -+ SYS_CHDIR = 12 -+ SYS_TIME = 13 -+ SYS_MKNOD = 14 -+ SYS_CHMOD = 15 -+ SYS_LCHOWN = 16 -+ SYS_BREAK = 17 -+ SYS_OLDSTAT = 18 -+ SYS_LSEEK = 19 -+ SYS_GETPID = 20 -+ SYS_MOUNT = 21 -+ SYS_UMOUNT = 22 -+ SYS_SETUID = 23 -+ SYS_GETUID = 24 -+ SYS_STIME = 25 -+ SYS_PTRACE = 26 -+ SYS_ALARM = 27 -+ SYS_OLDFSTAT = 28 -+ SYS_PAUSE = 29 -+ SYS_UTIME = 30 -+ SYS_STTY = 31 -+ SYS_GTTY = 32 -+ SYS_ACCESS = 33 -+ SYS_NICE = 34 -+ SYS_FTIME = 35 -+ SYS_SYNC = 36 -+ SYS_KILL = 37 -+ SYS_RENAME = 38 -+ SYS_MKDIR = 39 -+ SYS_RMDIR = 40 -+ SYS_DUP = 41 -+ SYS_PIPE = 42 -+ SYS_TIMES = 43 -+ SYS_PROF = 44 -+ SYS_BRK = 45 -+ SYS_SETGID = 46 -+ SYS_GETGID = 47 -+ SYS_SIGNAL = 48 -+ SYS_GETEUID = 49 -+ SYS_GETEGID = 50 -+ SYS_ACCT = 51 -+ SYS_UMOUNT2 = 52 -+ SYS_LOCK = 53 -+ SYS_IOCTL = 54 -+ SYS_FCNTL = 55 -+ SYS_MPX = 56 -+ SYS_SETPGID = 57 -+ SYS_ULIMIT = 58 -+ SYS_OLDOLDUNAME = 59 -+ SYS_UMASK = 60 -+ SYS_CHROOT = 61 -+ SYS_USTAT = 62 -+ SYS_DUP2 = 63 -+ SYS_GETPPID = 64 -+ SYS_GETPGRP = 65 -+ SYS_SETSID = 66 -+ SYS_SIGACTION = 67 -+ SYS_SGETMASK = 68 -+ SYS_SSETMASK = 69 -+ SYS_SETREUID = 70 -+ SYS_SETREGID = 71 -+ SYS_SIGSUSPEND = 72 -+ SYS_SIGPENDING = 73 -+ SYS_SETHOSTNAME = 74 -+ SYS_SETRLIMIT = 75 -+ SYS_GETRLIMIT = 76 -+ SYS_GETRUSAGE = 77 -+ SYS_GETTIMEOFDAY = 78 -+ SYS_SETTIMEOFDAY = 79 -+ SYS_GETGROUPS = 80 -+ SYS_SETGROUPS = 81 -+ SYS_SELECT = 82 -+ SYS_SYMLINK = 83 -+ SYS_OLDLSTAT = 84 -+ SYS_READLINK = 85 -+ SYS_USELIB = 86 -+ SYS_SWAPON = 87 -+ SYS_REBOOT = 88 -+ SYS_READDIR = 89 -+ SYS_MMAP = 90 -+ SYS_MUNMAP = 91 -+ SYS_TRUNCATE = 92 -+ SYS_FTRUNCATE = 93 -+ SYS_FCHMOD = 94 -+ SYS_FCHOWN = 95 -+ SYS_GETPRIORITY = 96 -+ SYS_SETPRIORITY = 97 -+ SYS_PROFIL = 98 -+ SYS_STATFS = 99 -+ SYS_FSTATFS = 100 -+ SYS_IOPERM = 101 -+ SYS_SOCKETCALL = 102 -+ SYS_SYSLOG = 103 -+ SYS_SETITIMER = 104 -+ SYS_GETITIMER = 105 -+ SYS_STAT = 106 -+ SYS_LSTAT = 107 -+ SYS_FSTAT = 108 -+ SYS_OLDUNAME = 109 -+ SYS_IOPL = 110 -+ SYS_VHANGUP = 111 -+ SYS_IDLE = 112 -+ SYS_VM86 = 113 -+ SYS_WAIT4 = 114 -+ SYS_SWAPOFF = 115 -+ SYS_SYSINFO = 116 -+ SYS_IPC = 117 -+ SYS_FSYNC = 118 -+ SYS_SIGRETURN = 119 -+ SYS_CLONE = 120 -+ SYS_SETDOMAINNAME = 121 -+ SYS_UNAME = 122 -+ SYS_MODIFY_LDT = 123 -+ SYS_ADJTIMEX = 124 -+ SYS_MPROTECT = 125 -+ SYS_SIGPROCMASK = 126 -+ SYS_CREATE_MODULE = 127 -+ SYS_INIT_MODULE = 128 -+ SYS_DELETE_MODULE = 129 -+ SYS_GET_KERNEL_SYMS = 130 -+ SYS_QUOTACTL = 131 -+ SYS_GETPGID = 132 -+ SYS_FCHDIR = 133 -+ SYS_BDFLUSH = 134 -+ SYS_SYSFS = 135 -+ SYS_PERSONALITY = 136 -+ SYS_AFS_SYSCALL = 137 -+ SYS_SETFSUID = 138 -+ SYS_SETFSGID = 139 -+ SYS__LLSEEK = 140 -+ SYS_GETDENTS = 141 -+ SYS__NEWSELECT = 142 -+ SYS_FLOCK = 143 -+ SYS_MSYNC = 144 -+ SYS_READV = 145 -+ SYS_WRITEV = 146 -+ SYS_GETSID = 147 -+ SYS_FDATASYNC = 148 -+ SYS__SYSCTL = 149 -+ SYS_MLOCK = 150 -+ SYS_MUNLOCK = 151 -+ SYS_MLOCKALL = 152 -+ SYS_MUNLOCKALL = 153 -+ SYS_SCHED_SETPARAM = 154 -+ SYS_SCHED_GETPARAM = 155 -+ SYS_SCHED_SETSCHEDULER = 156 -+ SYS_SCHED_GETSCHEDULER = 157 -+ SYS_SCHED_YIELD = 158 -+ SYS_SCHED_GET_PRIORITY_MAX = 159 -+ SYS_SCHED_GET_PRIORITY_MIN = 160 -+ SYS_SCHED_RR_GET_INTERVAL = 161 -+ SYS_NANOSLEEP = 162 -+ SYS_MREMAP = 163 -+ SYS_SETRESUID = 164 -+ SYS_GETRESUID = 165 -+ SYS_QUERY_MODULE = 166 -+ SYS_POLL = 167 -+ SYS_NFSSERVCTL = 168 -+ SYS_SETRESGID = 169 -+ SYS_GETRESGID = 170 -+ SYS_PRCTL = 171 -+ SYS_RT_SIGRETURN = 172 -+ SYS_RT_SIGACTION = 173 -+ SYS_RT_SIGPROCMASK = 174 -+ SYS_RT_SIGPENDING = 175 -+ SYS_RT_SIGTIMEDWAIT = 176 -+ SYS_RT_SIGQUEUEINFO = 177 -+ SYS_RT_SIGSUSPEND = 178 -+ SYS_PREAD64 = 179 -+ SYS_PWRITE64 = 180 -+ SYS_CHOWN = 181 -+ SYS_GETCWD = 182 -+ SYS_CAPGET = 183 -+ SYS_CAPSET = 184 -+ SYS_SIGALTSTACK = 185 -+ SYS_SENDFILE = 186 -+ SYS_GETPMSG = 187 -+ SYS_PUTPMSG = 188 -+ SYS_VFORK = 189 -+ SYS_UGETRLIMIT = 190 -+ SYS_READAHEAD = 191 -+ SYS_PCICONFIG_READ = 198 -+ SYS_PCICONFIG_WRITE = 199 -+ SYS_PCICONFIG_IOBASE = 200 -+ SYS_MULTIPLEXER = 201 -+ SYS_GETDENTS64 = 202 -+ SYS_PIVOT_ROOT = 203 -+ SYS_MADVISE = 205 -+ SYS_MINCORE = 206 -+ SYS_GETTID = 207 -+ SYS_TKILL = 208 -+ SYS_SETXATTR = 209 -+ SYS_LSETXATTR = 210 -+ SYS_FSETXATTR = 211 -+ SYS_GETXATTR = 212 -+ SYS_LGETXATTR = 213 -+ SYS_FGETXATTR = 214 -+ SYS_LISTXATTR = 215 -+ SYS_LLISTXATTR = 216 -+ SYS_FLISTXATTR = 217 -+ SYS_REMOVEXATTR = 218 -+ SYS_LREMOVEXATTR = 219 -+ SYS_FREMOVEXATTR = 220 -+ SYS_FUTEX = 221 -+ SYS_SCHED_SETAFFINITY = 222 -+ SYS_SCHED_GETAFFINITY = 223 -+ SYS_TUXCALL = 225 -+ SYS_IO_SETUP = 227 -+ SYS_IO_DESTROY = 228 -+ SYS_IO_GETEVENTS = 229 -+ SYS_IO_SUBMIT = 230 -+ SYS_IO_CANCEL = 231 -+ SYS_SET_TID_ADDRESS = 232 -+ SYS_FADVISE64 = 233 -+ SYS_EXIT_GROUP = 234 -+ SYS_LOOKUP_DCOOKIE = 235 -+ SYS_EPOLL_CREATE = 236 -+ SYS_EPOLL_CTL = 237 -+ SYS_EPOLL_WAIT = 238 -+ SYS_REMAP_FILE_PAGES = 239 -+ SYS_TIMER_CREATE = 240 -+ SYS_TIMER_SETTIME = 241 -+ SYS_TIMER_GETTIME = 242 -+ SYS_TIMER_GETOVERRUN = 243 -+ SYS_TIMER_DELETE = 244 -+ SYS_CLOCK_SETTIME = 245 -+ SYS_CLOCK_GETTIME = 246 -+ SYS_CLOCK_GETRES = 247 -+ SYS_CLOCK_NANOSLEEP = 248 -+ SYS_SWAPCONTEXT = 249 -+ SYS_TGKILL = 250 -+ SYS_UTIMES = 251 -+ SYS_STATFS64 = 252 -+ SYS_FSTATFS64 = 253 -+ SYS_RTAS = 255 -+ SYS_SYS_DEBUG_SETCONTEXT = 256 -+ SYS_MIGRATE_PAGES = 258 -+ SYS_MBIND = 259 -+ SYS_GET_MEMPOLICY = 260 -+ SYS_SET_MEMPOLICY = 261 -+ SYS_MQ_OPEN = 262 -+ SYS_MQ_UNLINK = 263 -+ SYS_MQ_TIMEDSEND = 264 -+ SYS_MQ_TIMEDRECEIVE = 265 -+ SYS_MQ_NOTIFY = 266 -+ SYS_MQ_GETSETATTR = 267 -+ SYS_KEXEC_LOAD = 268 -+ SYS_ADD_KEY = 269 -+ SYS_REQUEST_KEY = 270 -+ SYS_KEYCTL = 271 -+ SYS_WAITID = 272 -+ SYS_IOPRIO_SET = 273 -+ SYS_IOPRIO_GET = 274 -+ SYS_INOTIFY_INIT = 275 -+ SYS_INOTIFY_ADD_WATCH = 276 -+ SYS_INOTIFY_RM_WATCH = 277 -+ SYS_SPU_RUN = 278 -+ SYS_SPU_CREATE = 279 -+ SYS_PSELECT6 = 280 -+ SYS_PPOLL = 281 -+ SYS_UNSHARE = 282 -+ SYS_SPLICE = 283 -+ SYS_TEE = 284 -+ SYS_VMSPLICE = 285 -+ SYS_OPENAT = 286 -+ SYS_MKDIRAT = 287 -+ SYS_MKNODAT = 288 -+ SYS_FCHOWNAT = 289 -+ SYS_FUTIMESAT = 290 -+ SYS_NEWFSTATAT = 291 -+ SYS_UNLINKAT = 292 -+ SYS_RENAMEAT = 293 -+ SYS_LINKAT = 294 -+ SYS_SYMLINKAT = 295 -+ SYS_READLINKAT = 296 -+ SYS_FCHMODAT = 297 -+ SYS_FACCESSAT = 298 -+ SYS_GET_ROBUST_LIST = 299 -+ SYS_SET_ROBUST_LIST = 300 -+ SYS_MOVE_PAGES = 301 -+ SYS_GETCPU = 302 -+ SYS_EPOLL_PWAIT = 303 -+ SYS_UTIMENSAT = 304 -+ SYS_SIGNALFD = 305 -+ SYS_TIMERFD_CREATE = 306 -+ SYS_EVENTFD = 307 -+ SYS_SYNC_FILE_RANGE2 = 308 -+ SYS_FALLOCATE = 309 -+ SYS_SUBPAGE_PROT = 310 -+ SYS_TIMERFD_SETTIME = 311 -+ SYS_TIMERFD_GETTIME = 312 -+ SYS_SIGNALFD4 = 313 -+ SYS_EVENTFD2 = 314 -+ SYS_EPOLL_CREATE1 = 315 -+ SYS_DUP3 = 316 -+ SYS_PIPE2 = 317 -+ SYS_INOTIFY_INIT1 = 318 -+ SYS_PERF_EVENT_OPEN = 319 -+ SYS_PREADV = 320 -+ SYS_PWRITEV = 321 -+ SYS_RT_TGSIGQUEUEINFO = 322 -+ SYS_FANOTIFY_INIT = 323 -+ SYS_FANOTIFY_MARK = 324 -+ SYS_PRLIMIT64 = 325 -+ SYS_SOCKET = 326 -+ SYS_BIND = 327 -+ SYS_CONNECT = 328 -+ SYS_LISTEN = 329 -+ SYS_ACCEPT = 330 -+ SYS_GETSOCKNAME = 331 -+ SYS_GETPEERNAME = 332 -+ SYS_SOCKETPAIR = 333 -+ SYS_SEND = 334 -+ SYS_SENDTO = 335 -+ SYS_RECV = 336 -+ SYS_RECVFROM = 337 -+ SYS_SHUTDOWN = 338 -+ SYS_SETSOCKOPT = 339 -+ SYS_GETSOCKOPT = 340 -+ SYS_SENDMSG = 341 -+ SYS_RECVMSG = 342 -+ SYS_RECVMMSG = 343 -+ SYS_ACCEPT4 = 344 -+ SYS_NAME_TO_HANDLE_AT = 345 -+ SYS_OPEN_BY_HANDLE_AT = 346 -+ SYS_CLOCK_ADJTIME = 347 -+ SYS_SYNCFS = 348 -+ SYS_SENDMMSG = 349 -+ SYS_SETNS = 350 -+ SYS_PROCESS_VM_READV = 351 -+ SYS_PROCESS_VM_WRITEV = 352 -+ SYS_FINIT_MODULE = 353 -+ SYS_KCMP = 354 -+ SYS_SCHED_SETATTR = 355 -+ SYS_SCHED_GETATTR = 356 -+ SYS_RENAMEAT2 = 357 -+ SYS_SECCOMP = 358 -+ SYS_GETRANDOM = 359 -+ SYS_MEMFD_CREATE = 360 -+ SYS_BPF = 361 -+ SYS_EXECVEAT = 362 -+ SYS_SWITCH_ENDIAN = 363 -+ SYS_USERFAULTFD = 364 -+ SYS_MEMBARRIER = 365 -+ SYS_MLOCK2 = 378 -+ SYS_COPY_FILE_RANGE = 379 -+ SYS_PREADV2 = 380 -+ SYS_PWRITEV2 = 381 -+ SYS_KEXEC_FILE_LOAD = 382 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go -new file mode 100644 -index 0000000..3f701be ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go -@@ -0,0 +1,369 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m64 -D__powerpc64__ linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build ppc64le,linux -+ -+package unix -+ -+const ( -+ SYS_RESTART_SYSCALL = 0 -+ SYS_EXIT = 1 -+ SYS_FORK = 2 -+ SYS_READ = 3 -+ SYS_WRITE = 4 -+ SYS_OPEN = 5 -+ SYS_CLOSE = 6 -+ SYS_WAITPID = 7 -+ SYS_CREAT = 8 -+ SYS_LINK = 9 -+ SYS_UNLINK = 10 -+ SYS_EXECVE = 11 -+ SYS_CHDIR = 12 -+ SYS_TIME = 13 -+ SYS_MKNOD = 14 -+ SYS_CHMOD = 15 -+ SYS_LCHOWN = 16 -+ SYS_BREAK = 17 -+ SYS_OLDSTAT = 18 -+ SYS_LSEEK = 19 -+ SYS_GETPID = 20 -+ SYS_MOUNT = 21 -+ SYS_UMOUNT = 22 -+ SYS_SETUID = 23 -+ SYS_GETUID = 24 -+ SYS_STIME = 25 -+ SYS_PTRACE = 26 -+ SYS_ALARM = 27 -+ SYS_OLDFSTAT = 28 -+ SYS_PAUSE = 29 -+ SYS_UTIME = 30 -+ SYS_STTY = 31 -+ SYS_GTTY = 32 -+ SYS_ACCESS = 33 -+ SYS_NICE = 34 -+ SYS_FTIME = 35 -+ SYS_SYNC = 36 -+ SYS_KILL = 37 -+ SYS_RENAME = 38 -+ SYS_MKDIR = 39 -+ SYS_RMDIR = 40 -+ SYS_DUP = 41 -+ SYS_PIPE = 42 -+ SYS_TIMES = 43 -+ SYS_PROF = 44 -+ SYS_BRK = 45 -+ SYS_SETGID = 46 -+ SYS_GETGID = 47 -+ SYS_SIGNAL = 48 -+ SYS_GETEUID = 49 -+ SYS_GETEGID = 50 -+ SYS_ACCT = 51 -+ SYS_UMOUNT2 = 52 -+ SYS_LOCK = 53 -+ SYS_IOCTL = 54 -+ SYS_FCNTL = 55 -+ SYS_MPX = 56 -+ SYS_SETPGID = 57 -+ SYS_ULIMIT = 58 -+ SYS_OLDOLDUNAME = 59 -+ SYS_UMASK = 60 -+ SYS_CHROOT = 61 -+ SYS_USTAT = 62 -+ SYS_DUP2 = 63 -+ SYS_GETPPID = 64 -+ SYS_GETPGRP = 65 -+ SYS_SETSID = 66 -+ SYS_SIGACTION = 67 -+ SYS_SGETMASK = 68 -+ SYS_SSETMASK = 69 -+ SYS_SETREUID = 70 -+ SYS_SETREGID = 71 -+ SYS_SIGSUSPEND = 72 -+ SYS_SIGPENDING = 73 -+ SYS_SETHOSTNAME = 74 -+ SYS_SETRLIMIT = 75 -+ SYS_GETRLIMIT = 76 -+ SYS_GETRUSAGE = 77 -+ SYS_GETTIMEOFDAY = 78 -+ SYS_SETTIMEOFDAY = 79 -+ SYS_GETGROUPS = 80 -+ SYS_SETGROUPS = 81 -+ SYS_SELECT = 82 -+ SYS_SYMLINK = 83 -+ SYS_OLDLSTAT = 84 -+ SYS_READLINK = 85 -+ SYS_USELIB = 86 -+ SYS_SWAPON = 87 -+ SYS_REBOOT = 88 -+ SYS_READDIR = 89 -+ SYS_MMAP = 90 -+ SYS_MUNMAP = 91 -+ SYS_TRUNCATE = 92 -+ SYS_FTRUNCATE = 93 -+ SYS_FCHMOD = 94 -+ SYS_FCHOWN = 95 -+ SYS_GETPRIORITY = 96 -+ SYS_SETPRIORITY = 97 -+ SYS_PROFIL = 98 -+ SYS_STATFS = 99 -+ SYS_FSTATFS = 100 -+ SYS_IOPERM = 101 -+ SYS_SOCKETCALL = 102 -+ SYS_SYSLOG = 103 -+ SYS_SETITIMER = 104 -+ SYS_GETITIMER = 105 -+ SYS_STAT = 106 -+ SYS_LSTAT = 107 -+ SYS_FSTAT = 108 -+ SYS_OLDUNAME = 109 -+ SYS_IOPL = 110 -+ SYS_VHANGUP = 111 -+ SYS_IDLE = 112 -+ SYS_VM86 = 113 -+ SYS_WAIT4 = 114 -+ SYS_SWAPOFF = 115 -+ SYS_SYSINFO = 116 -+ SYS_IPC = 117 -+ SYS_FSYNC = 118 -+ SYS_SIGRETURN = 119 -+ SYS_CLONE = 120 -+ SYS_SETDOMAINNAME = 121 -+ SYS_UNAME = 122 -+ SYS_MODIFY_LDT = 123 -+ SYS_ADJTIMEX = 124 -+ SYS_MPROTECT = 125 -+ SYS_SIGPROCMASK = 126 -+ SYS_CREATE_MODULE = 127 -+ SYS_INIT_MODULE = 128 -+ SYS_DELETE_MODULE = 129 -+ SYS_GET_KERNEL_SYMS = 130 -+ SYS_QUOTACTL = 131 -+ SYS_GETPGID = 132 -+ SYS_FCHDIR = 133 -+ SYS_BDFLUSH = 134 -+ SYS_SYSFS = 135 -+ SYS_PERSONALITY = 136 -+ SYS_AFS_SYSCALL = 137 -+ SYS_SETFSUID = 138 -+ SYS_SETFSGID = 139 -+ SYS__LLSEEK = 140 -+ SYS_GETDENTS = 141 -+ SYS__NEWSELECT = 142 -+ SYS_FLOCK = 143 -+ SYS_MSYNC = 144 -+ SYS_READV = 145 -+ SYS_WRITEV = 146 -+ SYS_GETSID = 147 -+ SYS_FDATASYNC = 148 -+ SYS__SYSCTL = 149 -+ SYS_MLOCK = 150 -+ SYS_MUNLOCK = 151 -+ SYS_MLOCKALL = 152 -+ SYS_MUNLOCKALL = 153 -+ SYS_SCHED_SETPARAM = 154 -+ SYS_SCHED_GETPARAM = 155 -+ SYS_SCHED_SETSCHEDULER = 156 -+ SYS_SCHED_GETSCHEDULER = 157 -+ SYS_SCHED_YIELD = 158 -+ SYS_SCHED_GET_PRIORITY_MAX = 159 -+ SYS_SCHED_GET_PRIORITY_MIN = 160 -+ SYS_SCHED_RR_GET_INTERVAL = 161 -+ SYS_NANOSLEEP = 162 -+ SYS_MREMAP = 163 -+ SYS_SETRESUID = 164 -+ SYS_GETRESUID = 165 -+ SYS_QUERY_MODULE = 166 -+ SYS_POLL = 167 -+ SYS_NFSSERVCTL = 168 -+ SYS_SETRESGID = 169 -+ SYS_GETRESGID = 170 -+ SYS_PRCTL = 171 -+ SYS_RT_SIGRETURN = 172 -+ SYS_RT_SIGACTION = 173 -+ SYS_RT_SIGPROCMASK = 174 -+ SYS_RT_SIGPENDING = 175 -+ SYS_RT_SIGTIMEDWAIT = 176 -+ SYS_RT_SIGQUEUEINFO = 177 -+ SYS_RT_SIGSUSPEND = 178 -+ SYS_PREAD64 = 179 -+ SYS_PWRITE64 = 180 -+ SYS_CHOWN = 181 -+ SYS_GETCWD = 182 -+ SYS_CAPGET = 183 -+ SYS_CAPSET = 184 -+ SYS_SIGALTSTACK = 185 -+ SYS_SENDFILE = 186 -+ SYS_GETPMSG = 187 -+ SYS_PUTPMSG = 188 -+ SYS_VFORK = 189 -+ SYS_UGETRLIMIT = 190 -+ SYS_READAHEAD = 191 -+ SYS_PCICONFIG_READ = 198 -+ SYS_PCICONFIG_WRITE = 199 -+ SYS_PCICONFIG_IOBASE = 200 -+ SYS_MULTIPLEXER = 201 -+ SYS_GETDENTS64 = 202 -+ SYS_PIVOT_ROOT = 203 -+ SYS_MADVISE = 205 -+ SYS_MINCORE = 206 -+ SYS_GETTID = 207 -+ SYS_TKILL = 208 -+ SYS_SETXATTR = 209 -+ SYS_LSETXATTR = 210 -+ SYS_FSETXATTR = 211 -+ SYS_GETXATTR = 212 -+ SYS_LGETXATTR = 213 -+ SYS_FGETXATTR = 214 -+ SYS_LISTXATTR = 215 -+ SYS_LLISTXATTR = 216 -+ SYS_FLISTXATTR = 217 -+ SYS_REMOVEXATTR = 218 -+ SYS_LREMOVEXATTR = 219 -+ SYS_FREMOVEXATTR = 220 -+ SYS_FUTEX = 221 -+ SYS_SCHED_SETAFFINITY = 222 -+ SYS_SCHED_GETAFFINITY = 223 -+ SYS_TUXCALL = 225 -+ SYS_IO_SETUP = 227 -+ SYS_IO_DESTROY = 228 -+ SYS_IO_GETEVENTS = 229 -+ SYS_IO_SUBMIT = 230 -+ SYS_IO_CANCEL = 231 -+ SYS_SET_TID_ADDRESS = 232 -+ SYS_FADVISE64 = 233 -+ SYS_EXIT_GROUP = 234 -+ SYS_LOOKUP_DCOOKIE = 235 -+ SYS_EPOLL_CREATE = 236 -+ SYS_EPOLL_CTL = 237 -+ SYS_EPOLL_WAIT = 238 -+ SYS_REMAP_FILE_PAGES = 239 -+ SYS_TIMER_CREATE = 240 -+ SYS_TIMER_SETTIME = 241 -+ SYS_TIMER_GETTIME = 242 -+ SYS_TIMER_GETOVERRUN = 243 -+ SYS_TIMER_DELETE = 244 -+ SYS_CLOCK_SETTIME = 245 -+ SYS_CLOCK_GETTIME = 246 -+ SYS_CLOCK_GETRES = 247 -+ SYS_CLOCK_NANOSLEEP = 248 -+ SYS_SWAPCONTEXT = 249 -+ SYS_TGKILL = 250 -+ SYS_UTIMES = 251 -+ SYS_STATFS64 = 252 -+ SYS_FSTATFS64 = 253 -+ SYS_RTAS = 255 -+ SYS_SYS_DEBUG_SETCONTEXT = 256 -+ SYS_MIGRATE_PAGES = 258 -+ SYS_MBIND = 259 -+ SYS_GET_MEMPOLICY = 260 -+ SYS_SET_MEMPOLICY = 261 -+ SYS_MQ_OPEN = 262 -+ SYS_MQ_UNLINK = 263 -+ SYS_MQ_TIMEDSEND = 264 -+ SYS_MQ_TIMEDRECEIVE = 265 -+ SYS_MQ_NOTIFY = 266 -+ SYS_MQ_GETSETATTR = 267 -+ SYS_KEXEC_LOAD = 268 -+ SYS_ADD_KEY = 269 -+ SYS_REQUEST_KEY = 270 -+ SYS_KEYCTL = 271 -+ SYS_WAITID = 272 -+ SYS_IOPRIO_SET = 273 -+ SYS_IOPRIO_GET = 274 -+ SYS_INOTIFY_INIT = 275 -+ SYS_INOTIFY_ADD_WATCH = 276 -+ SYS_INOTIFY_RM_WATCH = 277 -+ SYS_SPU_RUN = 278 -+ SYS_SPU_CREATE = 279 -+ SYS_PSELECT6 = 280 -+ SYS_PPOLL = 281 -+ SYS_UNSHARE = 282 -+ SYS_SPLICE = 283 -+ SYS_TEE = 284 -+ SYS_VMSPLICE = 285 -+ SYS_OPENAT = 286 -+ SYS_MKDIRAT = 287 -+ SYS_MKNODAT = 288 -+ SYS_FCHOWNAT = 289 -+ SYS_FUTIMESAT = 290 -+ SYS_NEWFSTATAT = 291 -+ SYS_UNLINKAT = 292 -+ SYS_RENAMEAT = 293 -+ SYS_LINKAT = 294 -+ SYS_SYMLINKAT = 295 -+ SYS_READLINKAT = 296 -+ SYS_FCHMODAT = 297 -+ SYS_FACCESSAT = 298 -+ SYS_GET_ROBUST_LIST = 299 -+ SYS_SET_ROBUST_LIST = 300 -+ SYS_MOVE_PAGES = 301 -+ SYS_GETCPU = 302 -+ SYS_EPOLL_PWAIT = 303 -+ SYS_UTIMENSAT = 304 -+ SYS_SIGNALFD = 305 -+ SYS_TIMERFD_CREATE = 306 -+ SYS_EVENTFD = 307 -+ SYS_SYNC_FILE_RANGE2 = 308 -+ SYS_FALLOCATE = 309 -+ SYS_SUBPAGE_PROT = 310 -+ SYS_TIMERFD_SETTIME = 311 -+ SYS_TIMERFD_GETTIME = 312 -+ SYS_SIGNALFD4 = 313 -+ SYS_EVENTFD2 = 314 -+ SYS_EPOLL_CREATE1 = 315 -+ SYS_DUP3 = 316 -+ SYS_PIPE2 = 317 -+ SYS_INOTIFY_INIT1 = 318 -+ SYS_PERF_EVENT_OPEN = 319 -+ SYS_PREADV = 320 -+ SYS_PWRITEV = 321 -+ SYS_RT_TGSIGQUEUEINFO = 322 -+ SYS_FANOTIFY_INIT = 323 -+ SYS_FANOTIFY_MARK = 324 -+ SYS_PRLIMIT64 = 325 -+ SYS_SOCKET = 326 -+ SYS_BIND = 327 -+ SYS_CONNECT = 328 -+ SYS_LISTEN = 329 -+ SYS_ACCEPT = 330 -+ SYS_GETSOCKNAME = 331 -+ SYS_GETPEERNAME = 332 -+ SYS_SOCKETPAIR = 333 -+ SYS_SEND = 334 -+ SYS_SENDTO = 335 -+ SYS_RECV = 336 -+ SYS_RECVFROM = 337 -+ SYS_SHUTDOWN = 338 -+ SYS_SETSOCKOPT = 339 -+ SYS_GETSOCKOPT = 340 -+ SYS_SENDMSG = 341 -+ SYS_RECVMSG = 342 -+ SYS_RECVMMSG = 343 -+ SYS_ACCEPT4 = 344 -+ SYS_NAME_TO_HANDLE_AT = 345 -+ SYS_OPEN_BY_HANDLE_AT = 346 -+ SYS_CLOCK_ADJTIME = 347 -+ SYS_SYNCFS = 348 -+ SYS_SENDMMSG = 349 -+ SYS_SETNS = 350 -+ SYS_PROCESS_VM_READV = 351 -+ SYS_PROCESS_VM_WRITEV = 352 -+ SYS_FINIT_MODULE = 353 -+ SYS_KCMP = 354 -+ SYS_SCHED_SETATTR = 355 -+ SYS_SCHED_GETATTR = 356 -+ SYS_RENAMEAT2 = 357 -+ SYS_SECCOMP = 358 -+ SYS_GETRANDOM = 359 -+ SYS_MEMFD_CREATE = 360 -+ SYS_BPF = 361 -+ SYS_EXECVEAT = 362 -+ SYS_SWITCH_ENDIAN = 363 -+ SYS_USERFAULTFD = 364 -+ SYS_MEMBARRIER = 365 -+ SYS_MLOCK2 = 378 -+ SYS_COPY_FILE_RANGE = 379 -+ SYS_PREADV2 = 380 -+ SYS_PWRITEV2 = 381 -+ SYS_KEXEC_FILE_LOAD = 382 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go -new file mode 100644 -index 0000000..8b35997 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go -@@ -0,0 +1,331 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m64 -D__s390x__ linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build s390x,linux -+ -+package unix -+ -+const ( -+ SYS_EXIT = 1 -+ SYS_FORK = 2 -+ SYS_READ = 3 -+ SYS_WRITE = 4 -+ SYS_OPEN = 5 -+ SYS_CLOSE = 6 -+ SYS_RESTART_SYSCALL = 7 -+ SYS_CREAT = 8 -+ SYS_LINK = 9 -+ SYS_UNLINK = 10 -+ SYS_EXECVE = 11 -+ SYS_CHDIR = 12 -+ SYS_MKNOD = 14 -+ SYS_CHMOD = 15 -+ SYS_LSEEK = 19 -+ SYS_GETPID = 20 -+ SYS_MOUNT = 21 -+ SYS_UMOUNT = 22 -+ SYS_PTRACE = 26 -+ SYS_ALARM = 27 -+ SYS_PAUSE = 29 -+ SYS_UTIME = 30 -+ SYS_ACCESS = 33 -+ SYS_NICE = 34 -+ SYS_SYNC = 36 -+ SYS_KILL = 37 -+ SYS_RENAME = 38 -+ SYS_MKDIR = 39 -+ SYS_RMDIR = 40 -+ SYS_DUP = 41 -+ SYS_PIPE = 42 -+ SYS_TIMES = 43 -+ SYS_BRK = 45 -+ SYS_SIGNAL = 48 -+ SYS_ACCT = 51 -+ SYS_UMOUNT2 = 52 -+ SYS_IOCTL = 54 -+ SYS_FCNTL = 55 -+ SYS_SETPGID = 57 -+ SYS_UMASK = 60 -+ SYS_CHROOT = 61 -+ SYS_USTAT = 62 -+ SYS_DUP2 = 63 -+ SYS_GETPPID = 64 -+ SYS_GETPGRP = 65 -+ SYS_SETSID = 66 -+ SYS_SIGACTION = 67 -+ SYS_SIGSUSPEND = 72 -+ SYS_SIGPENDING = 73 -+ SYS_SETHOSTNAME = 74 -+ SYS_SETRLIMIT = 75 -+ SYS_GETRUSAGE = 77 -+ SYS_GETTIMEOFDAY = 78 -+ SYS_SETTIMEOFDAY = 79 -+ SYS_SYMLINK = 83 -+ SYS_READLINK = 85 -+ SYS_USELIB = 86 -+ SYS_SWAPON = 87 -+ SYS_REBOOT = 88 -+ SYS_READDIR = 89 -+ SYS_MMAP = 90 -+ SYS_MUNMAP = 91 -+ SYS_TRUNCATE = 92 -+ SYS_FTRUNCATE = 93 -+ SYS_FCHMOD = 94 -+ SYS_GETPRIORITY = 96 -+ SYS_SETPRIORITY = 97 -+ SYS_STATFS = 99 -+ SYS_FSTATFS = 100 -+ SYS_SOCKETCALL = 102 -+ SYS_SYSLOG = 103 -+ SYS_SETITIMER = 104 -+ SYS_GETITIMER = 105 -+ SYS_STAT = 106 -+ SYS_LSTAT = 107 -+ SYS_FSTAT = 108 -+ SYS_LOOKUP_DCOOKIE = 110 -+ SYS_VHANGUP = 111 -+ SYS_IDLE = 112 -+ SYS_WAIT4 = 114 -+ SYS_SWAPOFF = 115 -+ SYS_SYSINFO = 116 -+ SYS_IPC = 117 -+ SYS_FSYNC = 118 -+ SYS_SIGRETURN = 119 -+ SYS_CLONE = 120 -+ SYS_SETDOMAINNAME = 121 -+ SYS_UNAME = 122 -+ SYS_ADJTIMEX = 124 -+ SYS_MPROTECT = 125 -+ SYS_SIGPROCMASK = 126 -+ SYS_CREATE_MODULE = 127 -+ SYS_INIT_MODULE = 128 -+ SYS_DELETE_MODULE = 129 -+ SYS_GET_KERNEL_SYMS = 130 -+ SYS_QUOTACTL = 131 -+ SYS_GETPGID = 132 -+ SYS_FCHDIR = 133 -+ SYS_BDFLUSH = 134 -+ SYS_SYSFS = 135 -+ SYS_PERSONALITY = 136 -+ SYS_AFS_SYSCALL = 137 -+ SYS_GETDENTS = 141 -+ SYS_FLOCK = 143 -+ SYS_MSYNC = 144 -+ SYS_READV = 145 -+ SYS_WRITEV = 146 -+ SYS_GETSID = 147 -+ SYS_FDATASYNC = 148 -+ SYS__SYSCTL = 149 -+ SYS_MLOCK = 150 -+ SYS_MUNLOCK = 151 -+ SYS_MLOCKALL = 152 -+ SYS_MUNLOCKALL = 153 -+ SYS_SCHED_SETPARAM = 154 -+ SYS_SCHED_GETPARAM = 155 -+ SYS_SCHED_SETSCHEDULER = 156 -+ SYS_SCHED_GETSCHEDULER = 157 -+ SYS_SCHED_YIELD = 158 -+ SYS_SCHED_GET_PRIORITY_MAX = 159 -+ SYS_SCHED_GET_PRIORITY_MIN = 160 -+ SYS_SCHED_RR_GET_INTERVAL = 161 -+ SYS_NANOSLEEP = 162 -+ SYS_MREMAP = 163 -+ SYS_QUERY_MODULE = 167 -+ SYS_POLL = 168 -+ SYS_NFSSERVCTL = 169 -+ SYS_PRCTL = 172 -+ SYS_RT_SIGRETURN = 173 -+ SYS_RT_SIGACTION = 174 -+ SYS_RT_SIGPROCMASK = 175 -+ SYS_RT_SIGPENDING = 176 -+ SYS_RT_SIGTIMEDWAIT = 177 -+ SYS_RT_SIGQUEUEINFO = 178 -+ SYS_RT_SIGSUSPEND = 179 -+ SYS_PREAD64 = 180 -+ SYS_PWRITE64 = 181 -+ SYS_GETCWD = 183 -+ SYS_CAPGET = 184 -+ SYS_CAPSET = 185 -+ SYS_SIGALTSTACK = 186 -+ SYS_SENDFILE = 187 -+ SYS_GETPMSG = 188 -+ SYS_PUTPMSG = 189 -+ SYS_VFORK = 190 -+ SYS_PIVOT_ROOT = 217 -+ SYS_MINCORE = 218 -+ SYS_MADVISE = 219 -+ SYS_GETDENTS64 = 220 -+ SYS_READAHEAD = 222 -+ SYS_SETXATTR = 224 -+ SYS_LSETXATTR = 225 -+ SYS_FSETXATTR = 226 -+ SYS_GETXATTR = 227 -+ SYS_LGETXATTR = 228 -+ SYS_FGETXATTR = 229 -+ SYS_LISTXATTR = 230 -+ SYS_LLISTXATTR = 231 -+ SYS_FLISTXATTR = 232 -+ SYS_REMOVEXATTR = 233 -+ SYS_LREMOVEXATTR = 234 -+ SYS_FREMOVEXATTR = 235 -+ SYS_GETTID = 236 -+ SYS_TKILL = 237 -+ SYS_FUTEX = 238 -+ SYS_SCHED_SETAFFINITY = 239 -+ SYS_SCHED_GETAFFINITY = 240 -+ SYS_TGKILL = 241 -+ SYS_IO_SETUP = 243 -+ SYS_IO_DESTROY = 244 -+ SYS_IO_GETEVENTS = 245 -+ SYS_IO_SUBMIT = 246 -+ SYS_IO_CANCEL = 247 -+ SYS_EXIT_GROUP = 248 -+ SYS_EPOLL_CREATE = 249 -+ SYS_EPOLL_CTL = 250 -+ SYS_EPOLL_WAIT = 251 -+ SYS_SET_TID_ADDRESS = 252 -+ SYS_FADVISE64 = 253 -+ SYS_TIMER_CREATE = 254 -+ SYS_TIMER_SETTIME = 255 -+ SYS_TIMER_GETTIME = 256 -+ SYS_TIMER_GETOVERRUN = 257 -+ SYS_TIMER_DELETE = 258 -+ SYS_CLOCK_SETTIME = 259 -+ SYS_CLOCK_GETTIME = 260 -+ SYS_CLOCK_GETRES = 261 -+ SYS_CLOCK_NANOSLEEP = 262 -+ SYS_STATFS64 = 265 -+ SYS_FSTATFS64 = 266 -+ SYS_REMAP_FILE_PAGES = 267 -+ SYS_MBIND = 268 -+ SYS_GET_MEMPOLICY = 269 -+ SYS_SET_MEMPOLICY = 270 -+ SYS_MQ_OPEN = 271 -+ SYS_MQ_UNLINK = 272 -+ SYS_MQ_TIMEDSEND = 273 -+ SYS_MQ_TIMEDRECEIVE = 274 -+ SYS_MQ_NOTIFY = 275 -+ SYS_MQ_GETSETATTR = 276 -+ SYS_KEXEC_LOAD = 277 -+ SYS_ADD_KEY = 278 -+ SYS_REQUEST_KEY = 279 -+ SYS_KEYCTL = 280 -+ SYS_WAITID = 281 -+ SYS_IOPRIO_SET = 282 -+ SYS_IOPRIO_GET = 283 -+ SYS_INOTIFY_INIT = 284 -+ SYS_INOTIFY_ADD_WATCH = 285 -+ SYS_INOTIFY_RM_WATCH = 286 -+ SYS_MIGRATE_PAGES = 287 -+ SYS_OPENAT = 288 -+ SYS_MKDIRAT = 289 -+ SYS_MKNODAT = 290 -+ SYS_FCHOWNAT = 291 -+ SYS_FUTIMESAT = 292 -+ SYS_UNLINKAT = 294 -+ SYS_RENAMEAT = 295 -+ SYS_LINKAT = 296 -+ SYS_SYMLINKAT = 297 -+ SYS_READLINKAT = 298 -+ SYS_FCHMODAT = 299 -+ SYS_FACCESSAT = 300 -+ SYS_PSELECT6 = 301 -+ SYS_PPOLL = 302 -+ SYS_UNSHARE = 303 -+ SYS_SET_ROBUST_LIST = 304 -+ SYS_GET_ROBUST_LIST = 305 -+ SYS_SPLICE = 306 -+ SYS_SYNC_FILE_RANGE = 307 -+ SYS_TEE = 308 -+ SYS_VMSPLICE = 309 -+ SYS_MOVE_PAGES = 310 -+ SYS_GETCPU = 311 -+ SYS_EPOLL_PWAIT = 312 -+ SYS_UTIMES = 313 -+ SYS_FALLOCATE = 314 -+ SYS_UTIMENSAT = 315 -+ SYS_SIGNALFD = 316 -+ SYS_TIMERFD = 317 -+ SYS_EVENTFD = 318 -+ SYS_TIMERFD_CREATE = 319 -+ SYS_TIMERFD_SETTIME = 320 -+ SYS_TIMERFD_GETTIME = 321 -+ SYS_SIGNALFD4 = 322 -+ SYS_EVENTFD2 = 323 -+ SYS_INOTIFY_INIT1 = 324 -+ SYS_PIPE2 = 325 -+ SYS_DUP3 = 326 -+ SYS_EPOLL_CREATE1 = 327 -+ SYS_PREADV = 328 -+ SYS_PWRITEV = 329 -+ SYS_RT_TGSIGQUEUEINFO = 330 -+ SYS_PERF_EVENT_OPEN = 331 -+ SYS_FANOTIFY_INIT = 332 -+ SYS_FANOTIFY_MARK = 333 -+ SYS_PRLIMIT64 = 334 -+ SYS_NAME_TO_HANDLE_AT = 335 -+ SYS_OPEN_BY_HANDLE_AT = 336 -+ SYS_CLOCK_ADJTIME = 337 -+ SYS_SYNCFS = 338 -+ SYS_SETNS = 339 -+ SYS_PROCESS_VM_READV = 340 -+ SYS_PROCESS_VM_WRITEV = 341 -+ SYS_S390_RUNTIME_INSTR = 342 -+ SYS_KCMP = 343 -+ SYS_FINIT_MODULE = 344 -+ SYS_SCHED_SETATTR = 345 -+ SYS_SCHED_GETATTR = 346 -+ SYS_RENAMEAT2 = 347 -+ SYS_SECCOMP = 348 -+ SYS_GETRANDOM = 349 -+ SYS_MEMFD_CREATE = 350 -+ SYS_BPF = 351 -+ SYS_S390_PCI_MMIO_WRITE = 352 -+ SYS_S390_PCI_MMIO_READ = 353 -+ SYS_EXECVEAT = 354 -+ SYS_USERFAULTFD = 355 -+ SYS_MEMBARRIER = 356 -+ SYS_RECVMMSG = 357 -+ SYS_SENDMMSG = 358 -+ SYS_SOCKET = 359 -+ SYS_SOCKETPAIR = 360 -+ SYS_BIND = 361 -+ SYS_CONNECT = 362 -+ SYS_LISTEN = 363 -+ SYS_ACCEPT4 = 364 -+ SYS_GETSOCKOPT = 365 -+ SYS_SETSOCKOPT = 366 -+ SYS_GETSOCKNAME = 367 -+ SYS_GETPEERNAME = 368 -+ SYS_SENDTO = 369 -+ SYS_SENDMSG = 370 -+ SYS_RECVFROM = 371 -+ SYS_RECVMSG = 372 -+ SYS_SHUTDOWN = 373 -+ SYS_MLOCK2 = 374 -+ SYS_COPY_FILE_RANGE = 375 -+ SYS_PREADV2 = 376 -+ SYS_PWRITEV2 = 377 -+ SYS_SELECT = 142 -+ SYS_GETRLIMIT = 191 -+ SYS_LCHOWN = 198 -+ SYS_GETUID = 199 -+ SYS_GETGID = 200 -+ SYS_GETEUID = 201 -+ SYS_GETEGID = 202 -+ SYS_SETREUID = 203 -+ SYS_SETREGID = 204 -+ SYS_GETGROUPS = 205 -+ SYS_SETGROUPS = 206 -+ SYS_FCHOWN = 207 -+ SYS_SETRESUID = 208 -+ SYS_GETRESUID = 209 -+ SYS_SETRESGID = 210 -+ SYS_GETRESGID = 211 -+ SYS_CHOWN = 212 -+ SYS_SETUID = 213 -+ SYS_SETGID = 214 -+ SYS_SETFSUID = 215 -+ SYS_SETFSGID = 216 -+ SYS_NEWFSTATAT = 293 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go -new file mode 100644 -index 0000000..c9c129d ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go -@@ -0,0 +1,348 @@ -+// mksysnum_linux.pl -Ilinux/usr/include -m64 -D__arch64__ linux/usr/include/asm/unistd.h -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build sparc64,linux -+ -+package unix -+ -+const ( -+ SYS_RESTART_SYSCALL = 0 -+ SYS_EXIT = 1 -+ SYS_FORK = 2 -+ SYS_READ = 3 -+ SYS_WRITE = 4 -+ SYS_OPEN = 5 -+ SYS_CLOSE = 6 -+ SYS_WAIT4 = 7 -+ SYS_CREAT = 8 -+ SYS_LINK = 9 -+ SYS_UNLINK = 10 -+ SYS_EXECV = 11 -+ SYS_CHDIR = 12 -+ SYS_CHOWN = 13 -+ SYS_MKNOD = 14 -+ SYS_CHMOD = 15 -+ SYS_LCHOWN = 16 -+ SYS_BRK = 17 -+ SYS_PERFCTR = 18 -+ SYS_LSEEK = 19 -+ SYS_GETPID = 20 -+ SYS_CAPGET = 21 -+ SYS_CAPSET = 22 -+ SYS_SETUID = 23 -+ SYS_GETUID = 24 -+ SYS_VMSPLICE = 25 -+ SYS_PTRACE = 26 -+ SYS_ALARM = 27 -+ SYS_SIGALTSTACK = 28 -+ SYS_PAUSE = 29 -+ SYS_UTIME = 30 -+ SYS_ACCESS = 33 -+ SYS_NICE = 34 -+ SYS_SYNC = 36 -+ SYS_KILL = 37 -+ SYS_STAT = 38 -+ SYS_SENDFILE = 39 -+ SYS_LSTAT = 40 -+ SYS_DUP = 41 -+ SYS_PIPE = 42 -+ SYS_TIMES = 43 -+ SYS_UMOUNT2 = 45 -+ SYS_SETGID = 46 -+ SYS_GETGID = 47 -+ SYS_SIGNAL = 48 -+ SYS_GETEUID = 49 -+ SYS_GETEGID = 50 -+ SYS_ACCT = 51 -+ SYS_MEMORY_ORDERING = 52 -+ SYS_IOCTL = 54 -+ SYS_REBOOT = 55 -+ SYS_SYMLINK = 57 -+ SYS_READLINK = 58 -+ SYS_EXECVE = 59 -+ SYS_UMASK = 60 -+ SYS_CHROOT = 61 -+ SYS_FSTAT = 62 -+ SYS_FSTAT64 = 63 -+ SYS_GETPAGESIZE = 64 -+ SYS_MSYNC = 65 -+ SYS_VFORK = 66 -+ SYS_PREAD64 = 67 -+ SYS_PWRITE64 = 68 -+ SYS_MMAP = 71 -+ SYS_MUNMAP = 73 -+ SYS_MPROTECT = 74 -+ SYS_MADVISE = 75 -+ SYS_VHANGUP = 76 -+ SYS_MINCORE = 78 -+ SYS_GETGROUPS = 79 -+ SYS_SETGROUPS = 80 -+ SYS_GETPGRP = 81 -+ SYS_SETITIMER = 83 -+ SYS_SWAPON = 85 -+ SYS_GETITIMER = 86 -+ SYS_SETHOSTNAME = 88 -+ SYS_DUP2 = 90 -+ SYS_FCNTL = 92 -+ SYS_SELECT = 93 -+ SYS_FSYNC = 95 -+ SYS_SETPRIORITY = 96 -+ SYS_SOCKET = 97 -+ SYS_CONNECT = 98 -+ SYS_ACCEPT = 99 -+ SYS_GETPRIORITY = 100 -+ SYS_RT_SIGRETURN = 101 -+ SYS_RT_SIGACTION = 102 -+ SYS_RT_SIGPROCMASK = 103 -+ SYS_RT_SIGPENDING = 104 -+ SYS_RT_SIGTIMEDWAIT = 105 -+ SYS_RT_SIGQUEUEINFO = 106 -+ SYS_RT_SIGSUSPEND = 107 -+ SYS_SETRESUID = 108 -+ SYS_GETRESUID = 109 -+ SYS_SETRESGID = 110 -+ SYS_GETRESGID = 111 -+ SYS_RECVMSG = 113 -+ SYS_SENDMSG = 114 -+ SYS_GETTIMEOFDAY = 116 -+ SYS_GETRUSAGE = 117 -+ SYS_GETSOCKOPT = 118 -+ SYS_GETCWD = 119 -+ SYS_READV = 120 -+ SYS_WRITEV = 121 -+ SYS_SETTIMEOFDAY = 122 -+ SYS_FCHOWN = 123 -+ SYS_FCHMOD = 124 -+ SYS_RECVFROM = 125 -+ SYS_SETREUID = 126 -+ SYS_SETREGID = 127 -+ SYS_RENAME = 128 -+ SYS_TRUNCATE = 129 -+ SYS_FTRUNCATE = 130 -+ SYS_FLOCK = 131 -+ SYS_LSTAT64 = 132 -+ SYS_SENDTO = 133 -+ SYS_SHUTDOWN = 134 -+ SYS_SOCKETPAIR = 135 -+ SYS_MKDIR = 136 -+ SYS_RMDIR = 137 -+ SYS_UTIMES = 138 -+ SYS_STAT64 = 139 -+ SYS_SENDFILE64 = 140 -+ SYS_GETPEERNAME = 141 -+ SYS_FUTEX = 142 -+ SYS_GETTID = 143 -+ SYS_GETRLIMIT = 144 -+ SYS_SETRLIMIT = 145 -+ SYS_PIVOT_ROOT = 146 -+ SYS_PRCTL = 147 -+ SYS_PCICONFIG_READ = 148 -+ SYS_PCICONFIG_WRITE = 149 -+ SYS_GETSOCKNAME = 150 -+ SYS_INOTIFY_INIT = 151 -+ SYS_INOTIFY_ADD_WATCH = 152 -+ SYS_POLL = 153 -+ SYS_GETDENTS64 = 154 -+ SYS_INOTIFY_RM_WATCH = 156 -+ SYS_STATFS = 157 -+ SYS_FSTATFS = 158 -+ SYS_UMOUNT = 159 -+ SYS_SCHED_SET_AFFINITY = 160 -+ SYS_SCHED_GET_AFFINITY = 161 -+ SYS_GETDOMAINNAME = 162 -+ SYS_SETDOMAINNAME = 163 -+ SYS_UTRAP_INSTALL = 164 -+ SYS_QUOTACTL = 165 -+ SYS_SET_TID_ADDRESS = 166 -+ SYS_MOUNT = 167 -+ SYS_USTAT = 168 -+ SYS_SETXATTR = 169 -+ SYS_LSETXATTR = 170 -+ SYS_FSETXATTR = 171 -+ SYS_GETXATTR = 172 -+ SYS_LGETXATTR = 173 -+ SYS_GETDENTS = 174 -+ SYS_SETSID = 175 -+ SYS_FCHDIR = 176 -+ SYS_FGETXATTR = 177 -+ SYS_LISTXATTR = 178 -+ SYS_LLISTXATTR = 179 -+ SYS_FLISTXATTR = 180 -+ SYS_REMOVEXATTR = 181 -+ SYS_LREMOVEXATTR = 182 -+ SYS_SIGPENDING = 183 -+ SYS_QUERY_MODULE = 184 -+ SYS_SETPGID = 185 -+ SYS_FREMOVEXATTR = 186 -+ SYS_TKILL = 187 -+ SYS_EXIT_GROUP = 188 -+ SYS_UNAME = 189 -+ SYS_INIT_MODULE = 190 -+ SYS_PERSONALITY = 191 -+ SYS_REMAP_FILE_PAGES = 192 -+ SYS_EPOLL_CREATE = 193 -+ SYS_EPOLL_CTL = 194 -+ SYS_EPOLL_WAIT = 195 -+ SYS_IOPRIO_SET = 196 -+ SYS_GETPPID = 197 -+ SYS_SIGACTION = 198 -+ SYS_SGETMASK = 199 -+ SYS_SSETMASK = 200 -+ SYS_SIGSUSPEND = 201 -+ SYS_OLDLSTAT = 202 -+ SYS_USELIB = 203 -+ SYS_READDIR = 204 -+ SYS_READAHEAD = 205 -+ SYS_SOCKETCALL = 206 -+ SYS_SYSLOG = 207 -+ SYS_LOOKUP_DCOOKIE = 208 -+ SYS_FADVISE64 = 209 -+ SYS_FADVISE64_64 = 210 -+ SYS_TGKILL = 211 -+ SYS_WAITPID = 212 -+ SYS_SWAPOFF = 213 -+ SYS_SYSINFO = 214 -+ SYS_IPC = 215 -+ SYS_SIGRETURN = 216 -+ SYS_CLONE = 217 -+ SYS_IOPRIO_GET = 218 -+ SYS_ADJTIMEX = 219 -+ SYS_SIGPROCMASK = 220 -+ SYS_CREATE_MODULE = 221 -+ SYS_DELETE_MODULE = 222 -+ SYS_GET_KERNEL_SYMS = 223 -+ SYS_GETPGID = 224 -+ SYS_BDFLUSH = 225 -+ SYS_SYSFS = 226 -+ SYS_AFS_SYSCALL = 227 -+ SYS_SETFSUID = 228 -+ SYS_SETFSGID = 229 -+ SYS__NEWSELECT = 230 -+ SYS_SPLICE = 232 -+ SYS_STIME = 233 -+ SYS_STATFS64 = 234 -+ SYS_FSTATFS64 = 235 -+ SYS__LLSEEK = 236 -+ SYS_MLOCK = 237 -+ SYS_MUNLOCK = 238 -+ SYS_MLOCKALL = 239 -+ SYS_MUNLOCKALL = 240 -+ SYS_SCHED_SETPARAM = 241 -+ SYS_SCHED_GETPARAM = 242 -+ SYS_SCHED_SETSCHEDULER = 243 -+ SYS_SCHED_GETSCHEDULER = 244 -+ SYS_SCHED_YIELD = 245 -+ SYS_SCHED_GET_PRIORITY_MAX = 246 -+ SYS_SCHED_GET_PRIORITY_MIN = 247 -+ SYS_SCHED_RR_GET_INTERVAL = 248 -+ SYS_NANOSLEEP = 249 -+ SYS_MREMAP = 250 -+ SYS__SYSCTL = 251 -+ SYS_GETSID = 252 -+ SYS_FDATASYNC = 253 -+ SYS_NFSSERVCTL = 254 -+ SYS_SYNC_FILE_RANGE = 255 -+ SYS_CLOCK_SETTIME = 256 -+ SYS_CLOCK_GETTIME = 257 -+ SYS_CLOCK_GETRES = 258 -+ SYS_CLOCK_NANOSLEEP = 259 -+ SYS_SCHED_GETAFFINITY = 260 -+ SYS_SCHED_SETAFFINITY = 261 -+ SYS_TIMER_SETTIME = 262 -+ SYS_TIMER_GETTIME = 263 -+ SYS_TIMER_GETOVERRUN = 264 -+ SYS_TIMER_DELETE = 265 -+ SYS_TIMER_CREATE = 266 -+ SYS_IO_SETUP = 268 -+ SYS_IO_DESTROY = 269 -+ SYS_IO_SUBMIT = 270 -+ SYS_IO_CANCEL = 271 -+ SYS_IO_GETEVENTS = 272 -+ SYS_MQ_OPEN = 273 -+ SYS_MQ_UNLINK = 274 -+ SYS_MQ_TIMEDSEND = 275 -+ SYS_MQ_TIMEDRECEIVE = 276 -+ SYS_MQ_NOTIFY = 277 -+ SYS_MQ_GETSETATTR = 278 -+ SYS_WAITID = 279 -+ SYS_TEE = 280 -+ SYS_ADD_KEY = 281 -+ SYS_REQUEST_KEY = 282 -+ SYS_KEYCTL = 283 -+ SYS_OPENAT = 284 -+ SYS_MKDIRAT = 285 -+ SYS_MKNODAT = 286 -+ SYS_FCHOWNAT = 287 -+ SYS_FUTIMESAT = 288 -+ SYS_FSTATAT64 = 289 -+ SYS_UNLINKAT = 290 -+ SYS_RENAMEAT = 291 -+ SYS_LINKAT = 292 -+ SYS_SYMLINKAT = 293 -+ SYS_READLINKAT = 294 -+ SYS_FCHMODAT = 295 -+ SYS_FACCESSAT = 296 -+ SYS_PSELECT6 = 297 -+ SYS_PPOLL = 298 -+ SYS_UNSHARE = 299 -+ SYS_SET_ROBUST_LIST = 300 -+ SYS_GET_ROBUST_LIST = 301 -+ SYS_MIGRATE_PAGES = 302 -+ SYS_MBIND = 303 -+ SYS_GET_MEMPOLICY = 304 -+ SYS_SET_MEMPOLICY = 305 -+ SYS_KEXEC_LOAD = 306 -+ SYS_MOVE_PAGES = 307 -+ SYS_GETCPU = 308 -+ SYS_EPOLL_PWAIT = 309 -+ SYS_UTIMENSAT = 310 -+ SYS_SIGNALFD = 311 -+ SYS_TIMERFD_CREATE = 312 -+ SYS_EVENTFD = 313 -+ SYS_FALLOCATE = 314 -+ SYS_TIMERFD_SETTIME = 315 -+ SYS_TIMERFD_GETTIME = 316 -+ SYS_SIGNALFD4 = 317 -+ SYS_EVENTFD2 = 318 -+ SYS_EPOLL_CREATE1 = 319 -+ SYS_DUP3 = 320 -+ SYS_PIPE2 = 321 -+ SYS_INOTIFY_INIT1 = 322 -+ SYS_ACCEPT4 = 323 -+ SYS_PREADV = 324 -+ SYS_PWRITEV = 325 -+ SYS_RT_TGSIGQUEUEINFO = 326 -+ SYS_PERF_EVENT_OPEN = 327 -+ SYS_RECVMMSG = 328 -+ SYS_FANOTIFY_INIT = 329 -+ SYS_FANOTIFY_MARK = 330 -+ SYS_PRLIMIT64 = 331 -+ SYS_NAME_TO_HANDLE_AT = 332 -+ SYS_OPEN_BY_HANDLE_AT = 333 -+ SYS_CLOCK_ADJTIME = 334 -+ SYS_SYNCFS = 335 -+ SYS_SENDMMSG = 336 -+ SYS_SETNS = 337 -+ SYS_PROCESS_VM_READV = 338 -+ SYS_PROCESS_VM_WRITEV = 339 -+ SYS_KERN_FEATURES = 340 -+ SYS_KCMP = 341 -+ SYS_FINIT_MODULE = 342 -+ SYS_SCHED_SETATTR = 343 -+ SYS_SCHED_GETATTR = 344 -+ SYS_RENAMEAT2 = 345 -+ SYS_SECCOMP = 346 -+ SYS_GETRANDOM = 347 -+ SYS_MEMFD_CREATE = 348 -+ SYS_BPF = 349 -+ SYS_EXECVEAT = 350 -+ SYS_MEMBARRIER = 351 -+ SYS_USERFAULTFD = 352 -+ SYS_BIND = 353 -+ SYS_LISTEN = 354 -+ SYS_SETSOCKOPT = 355 -+ SYS_MLOCK2 = 356 -+ SYS_COPY_FILE_RANGE = 357 -+ SYS_PREADV2 = 358 -+ SYS_PWRITEV2 = 359 -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go -new file mode 100644 -index 0000000..f60d8f9 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go -@@ -0,0 +1,273 @@ -+// mksysnum_netbsd.pl -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build 386,netbsd -+ -+package unix -+ -+const ( -+ SYS_EXIT = 1 // { void|sys||exit(int rval); } -+ SYS_FORK = 2 // { int|sys||fork(void); } -+ SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } -+ SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } -+ SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } -+ SYS_CLOSE = 6 // { int|sys||close(int fd); } -+ SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } -+ SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } -+ SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } -+ SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } -+ SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } -+ SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } -+ SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } -+ SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } -+ SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } -+ SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } -+ SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } -+ SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } -+ SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } -+ SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } -+ SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } -+ SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } -+ SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } -+ SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } -+ SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } -+ SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } -+ SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } -+ SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } -+ SYS_SYNC = 36 // { void|sys||sync(void); } -+ SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } -+ SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } -+ SYS_DUP = 41 // { int|sys||dup(int fd); } -+ SYS_PIPE = 42 // { int|sys||pipe(void); } -+ SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } -+ SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } -+ SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } -+ SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } -+ SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } -+ SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } -+ SYS_ACCT = 51 // { int|sys||acct(const char *path); } -+ SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } -+ SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } -+ SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } -+ SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } -+ SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } -+ SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } -+ SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } -+ SYS_VFORK = 66 // { int|sys||vfork(void); } -+ SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } -+ SYS_SSTK = 70 // { int|sys||sstk(int incr); } -+ SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } -+ SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } -+ SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } -+ SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } -+ SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } -+ SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } -+ SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } -+ SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } -+ SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } -+ SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } -+ SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } -+ SYS_FSYNC = 95 // { int|sys||fsync(int fd); } -+ SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } -+ SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } -+ SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } -+ SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } -+ SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } -+ SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } -+ SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } -+ SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } -+ SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } -+ SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } -+ SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } -+ SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } -+ SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } -+ SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } -+ SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } -+ SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } -+ SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } -+ SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } -+ SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } -+ SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } -+ SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } -+ SYS_SETSID = 147 // { int|sys||setsid(void); } -+ SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } -+ SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } -+ SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } -+ SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } -+ SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } -+ SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } -+ SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } -+ SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } -+ SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } -+ SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } -+ SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } -+ SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } -+ SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } -+ SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } -+ SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } -+ SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } -+ SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } -+ SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } -+ SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } -+ SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } -+ SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } -+ SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } -+ SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } -+ SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } -+ SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } -+ SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } -+ SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } -+ SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } -+ SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } -+ SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } -+ SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } -+ SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } -+ SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } -+ SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } -+ SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } -+ SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } -+ SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } -+ SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } -+ SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } -+ SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } -+ SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } -+ SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } -+ SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } -+ SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } -+ SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } -+ SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } -+ SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } -+ SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } -+ SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } -+ SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } -+ SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } -+ SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } -+ SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } -+ SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } -+ SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } -+ SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } -+ SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } -+ SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } -+ SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } -+ SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } -+ SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } -+ SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } -+ SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } -+ SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } -+ SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } -+ SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } -+ SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } -+ SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } -+ SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } -+ SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } -+ SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } -+ SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } -+ SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } -+ SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } -+ SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } -+ SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } -+ SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } -+ SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } -+ SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } -+ SYS_KQUEUE = 344 // { int|sys||kqueue(void); } -+ SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } -+ SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } -+ SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } -+ SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } -+ SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } -+ SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } -+ SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } -+ SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } -+ SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } -+ SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } -+ SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } -+ SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } -+ SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } -+ SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } -+ SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } -+ SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } -+ SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } -+ SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } -+ SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } -+ SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } -+ SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } -+ SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } -+ SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } -+ SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } -+ SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } -+ SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } -+ SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } -+ SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } -+ SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } -+ SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } -+ SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } -+ SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } -+ SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } -+ SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } -+ SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } -+ SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } -+ SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } -+ SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } -+ SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } -+ SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } -+ SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } -+ SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } -+ SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } -+ SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } -+ SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } -+ SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } -+ SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } -+ SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } -+ SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } -+ SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } -+ SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } -+ SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } -+ SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } -+ SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } -+ SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } -+ SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } -+ SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } -+ SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } -+ SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } -+ SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } -+ SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } -+ SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } -+ SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } -+ SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } -+ SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } -+ SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } -+ SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } -+ SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } -+ SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } -+ SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } -+ SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } -+ SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } -+ SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } -+ SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } -+ SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } -+ SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } -+ SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } -+ SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } -+ SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } -+ SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } -+ SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } -+ SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } -+ SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } -+ SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } -+ SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } -+ SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } -+ SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } -+ SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } -+ SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } -+ SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } -+ SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } -+ SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } -+ SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } -+ SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } -+ SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } -+ SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go -new file mode 100644 -index 0000000..48a91d4 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go -@@ -0,0 +1,273 @@ -+// mksysnum_netbsd.pl -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build amd64,netbsd -+ -+package unix -+ -+const ( -+ SYS_EXIT = 1 // { void|sys||exit(int rval); } -+ SYS_FORK = 2 // { int|sys||fork(void); } -+ SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } -+ SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } -+ SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } -+ SYS_CLOSE = 6 // { int|sys||close(int fd); } -+ SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } -+ SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } -+ SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } -+ SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } -+ SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } -+ SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } -+ SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } -+ SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } -+ SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } -+ SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } -+ SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } -+ SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } -+ SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } -+ SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } -+ SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } -+ SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } -+ SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } -+ SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } -+ SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } -+ SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } -+ SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } -+ SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } -+ SYS_SYNC = 36 // { void|sys||sync(void); } -+ SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } -+ SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } -+ SYS_DUP = 41 // { int|sys||dup(int fd); } -+ SYS_PIPE = 42 // { int|sys||pipe(void); } -+ SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } -+ SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } -+ SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } -+ SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } -+ SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } -+ SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } -+ SYS_ACCT = 51 // { int|sys||acct(const char *path); } -+ SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } -+ SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } -+ SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } -+ SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } -+ SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } -+ SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } -+ SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } -+ SYS_VFORK = 66 // { int|sys||vfork(void); } -+ SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } -+ SYS_SSTK = 70 // { int|sys||sstk(int incr); } -+ SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } -+ SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } -+ SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } -+ SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } -+ SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } -+ SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } -+ SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } -+ SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } -+ SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } -+ SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } -+ SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } -+ SYS_FSYNC = 95 // { int|sys||fsync(int fd); } -+ SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } -+ SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } -+ SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } -+ SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } -+ SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } -+ SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } -+ SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } -+ SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } -+ SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } -+ SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } -+ SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } -+ SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } -+ SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } -+ SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } -+ SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } -+ SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } -+ SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } -+ SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } -+ SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } -+ SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } -+ SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } -+ SYS_SETSID = 147 // { int|sys||setsid(void); } -+ SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } -+ SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } -+ SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } -+ SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } -+ SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } -+ SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } -+ SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } -+ SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } -+ SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } -+ SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } -+ SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } -+ SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } -+ SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } -+ SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } -+ SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } -+ SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } -+ SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } -+ SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } -+ SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } -+ SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } -+ SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } -+ SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } -+ SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } -+ SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } -+ SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } -+ SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } -+ SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } -+ SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } -+ SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } -+ SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } -+ SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } -+ SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } -+ SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } -+ SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } -+ SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } -+ SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } -+ SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } -+ SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } -+ SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } -+ SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } -+ SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } -+ SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } -+ SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } -+ SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } -+ SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } -+ SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } -+ SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } -+ SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } -+ SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } -+ SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } -+ SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } -+ SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } -+ SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } -+ SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } -+ SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } -+ SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } -+ SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } -+ SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } -+ SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } -+ SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } -+ SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } -+ SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } -+ SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } -+ SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } -+ SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } -+ SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } -+ SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } -+ SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } -+ SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } -+ SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } -+ SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } -+ SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } -+ SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } -+ SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } -+ SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } -+ SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } -+ SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } -+ SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } -+ SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } -+ SYS_KQUEUE = 344 // { int|sys||kqueue(void); } -+ SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } -+ SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } -+ SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } -+ SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } -+ SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } -+ SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } -+ SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } -+ SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } -+ SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } -+ SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } -+ SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } -+ SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } -+ SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } -+ SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } -+ SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } -+ SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } -+ SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } -+ SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } -+ SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } -+ SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } -+ SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } -+ SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } -+ SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } -+ SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } -+ SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } -+ SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } -+ SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } -+ SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } -+ SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } -+ SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } -+ SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } -+ SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } -+ SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } -+ SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } -+ SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } -+ SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } -+ SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } -+ SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } -+ SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } -+ SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } -+ SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } -+ SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } -+ SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } -+ SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } -+ SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } -+ SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } -+ SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } -+ SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } -+ SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } -+ SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } -+ SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } -+ SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } -+ SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } -+ SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } -+ SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } -+ SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } -+ SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } -+ SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } -+ SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } -+ SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } -+ SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } -+ SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } -+ SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } -+ SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } -+ SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } -+ SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } -+ SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } -+ SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } -+ SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } -+ SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } -+ SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } -+ SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } -+ SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } -+ SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } -+ SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } -+ SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } -+ SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } -+ SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } -+ SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } -+ SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } -+ SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } -+ SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } -+ SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } -+ SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } -+ SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } -+ SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } -+ SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } -+ SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } -+ SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } -+ SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } -+ SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } -+ SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } -+ SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } -+ SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } -+ SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } -+ SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go -new file mode 100644 -index 0000000..612ba66 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go -@@ -0,0 +1,273 @@ -+// mksysnum_netbsd.pl -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build arm,netbsd -+ -+package unix -+ -+const ( -+ SYS_EXIT = 1 // { void|sys||exit(int rval); } -+ SYS_FORK = 2 // { int|sys||fork(void); } -+ SYS_READ = 3 // { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } -+ SYS_WRITE = 4 // { ssize_t|sys||write(int fd, const void *buf, size_t nbyte); } -+ SYS_OPEN = 5 // { int|sys||open(const char *path, int flags, ... mode_t mode); } -+ SYS_CLOSE = 6 // { int|sys||close(int fd); } -+ SYS_LINK = 9 // { int|sys||link(const char *path, const char *link); } -+ SYS_UNLINK = 10 // { int|sys||unlink(const char *path); } -+ SYS_CHDIR = 12 // { int|sys||chdir(const char *path); } -+ SYS_FCHDIR = 13 // { int|sys||fchdir(int fd); } -+ SYS_CHMOD = 15 // { int|sys||chmod(const char *path, mode_t mode); } -+ SYS_CHOWN = 16 // { int|sys||chown(const char *path, uid_t uid, gid_t gid); } -+ SYS_BREAK = 17 // { int|sys||obreak(char *nsize); } -+ SYS_GETPID = 20 // { pid_t|sys||getpid_with_ppid(void); } -+ SYS_UNMOUNT = 22 // { int|sys||unmount(const char *path, int flags); } -+ SYS_SETUID = 23 // { int|sys||setuid(uid_t uid); } -+ SYS_GETUID = 24 // { uid_t|sys||getuid_with_euid(void); } -+ SYS_GETEUID = 25 // { uid_t|sys||geteuid(void); } -+ SYS_PTRACE = 26 // { int|sys||ptrace(int req, pid_t pid, void *addr, int data); } -+ SYS_RECVMSG = 27 // { ssize_t|sys||recvmsg(int s, struct msghdr *msg, int flags); } -+ SYS_SENDMSG = 28 // { ssize_t|sys||sendmsg(int s, const struct msghdr *msg, int flags); } -+ SYS_RECVFROM = 29 // { ssize_t|sys||recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlenaddr); } -+ SYS_ACCEPT = 30 // { int|sys||accept(int s, struct sockaddr *name, socklen_t *anamelen); } -+ SYS_GETPEERNAME = 31 // { int|sys||getpeername(int fdes, struct sockaddr *asa, socklen_t *alen); } -+ SYS_GETSOCKNAME = 32 // { int|sys||getsockname(int fdes, struct sockaddr *asa, socklen_t *alen); } -+ SYS_ACCESS = 33 // { int|sys||access(const char *path, int flags); } -+ SYS_CHFLAGS = 34 // { int|sys||chflags(const char *path, u_long flags); } -+ SYS_FCHFLAGS = 35 // { int|sys||fchflags(int fd, u_long flags); } -+ SYS_SYNC = 36 // { void|sys||sync(void); } -+ SYS_KILL = 37 // { int|sys||kill(pid_t pid, int signum); } -+ SYS_GETPPID = 39 // { pid_t|sys||getppid(void); } -+ SYS_DUP = 41 // { int|sys||dup(int fd); } -+ SYS_PIPE = 42 // { int|sys||pipe(void); } -+ SYS_GETEGID = 43 // { gid_t|sys||getegid(void); } -+ SYS_PROFIL = 44 // { int|sys||profil(char *samples, size_t size, u_long offset, u_int scale); } -+ SYS_KTRACE = 45 // { int|sys||ktrace(const char *fname, int ops, int facs, pid_t pid); } -+ SYS_GETGID = 47 // { gid_t|sys||getgid_with_egid(void); } -+ SYS___GETLOGIN = 49 // { int|sys||__getlogin(char *namebuf, size_t namelen); } -+ SYS___SETLOGIN = 50 // { int|sys||__setlogin(const char *namebuf); } -+ SYS_ACCT = 51 // { int|sys||acct(const char *path); } -+ SYS_IOCTL = 54 // { int|sys||ioctl(int fd, u_long com, ... void *data); } -+ SYS_REVOKE = 56 // { int|sys||revoke(const char *path); } -+ SYS_SYMLINK = 57 // { int|sys||symlink(const char *path, const char *link); } -+ SYS_READLINK = 58 // { ssize_t|sys||readlink(const char *path, char *buf, size_t count); } -+ SYS_EXECVE = 59 // { int|sys||execve(const char *path, char * const *argp, char * const *envp); } -+ SYS_UMASK = 60 // { mode_t|sys||umask(mode_t newmask); } -+ SYS_CHROOT = 61 // { int|sys||chroot(const char *path); } -+ SYS_VFORK = 66 // { int|sys||vfork(void); } -+ SYS_SBRK = 69 // { int|sys||sbrk(intptr_t incr); } -+ SYS_SSTK = 70 // { int|sys||sstk(int incr); } -+ SYS_VADVISE = 72 // { int|sys||ovadvise(int anom); } -+ SYS_MUNMAP = 73 // { int|sys||munmap(void *addr, size_t len); } -+ SYS_MPROTECT = 74 // { int|sys||mprotect(void *addr, size_t len, int prot); } -+ SYS_MADVISE = 75 // { int|sys||madvise(void *addr, size_t len, int behav); } -+ SYS_MINCORE = 78 // { int|sys||mincore(void *addr, size_t len, char *vec); } -+ SYS_GETGROUPS = 79 // { int|sys||getgroups(int gidsetsize, gid_t *gidset); } -+ SYS_SETGROUPS = 80 // { int|sys||setgroups(int gidsetsize, const gid_t *gidset); } -+ SYS_GETPGRP = 81 // { int|sys||getpgrp(void); } -+ SYS_SETPGID = 82 // { int|sys||setpgid(pid_t pid, pid_t pgid); } -+ SYS_DUP2 = 90 // { int|sys||dup2(int from, int to); } -+ SYS_FCNTL = 92 // { int|sys||fcntl(int fd, int cmd, ... void *arg); } -+ SYS_FSYNC = 95 // { int|sys||fsync(int fd); } -+ SYS_SETPRIORITY = 96 // { int|sys||setpriority(int which, id_t who, int prio); } -+ SYS_CONNECT = 98 // { int|sys||connect(int s, const struct sockaddr *name, socklen_t namelen); } -+ SYS_GETPRIORITY = 100 // { int|sys||getpriority(int which, id_t who); } -+ SYS_BIND = 104 // { int|sys||bind(int s, const struct sockaddr *name, socklen_t namelen); } -+ SYS_SETSOCKOPT = 105 // { int|sys||setsockopt(int s, int level, int name, const void *val, socklen_t valsize); } -+ SYS_LISTEN = 106 // { int|sys||listen(int s, int backlog); } -+ SYS_GETSOCKOPT = 118 // { int|sys||getsockopt(int s, int level, int name, void *val, socklen_t *avalsize); } -+ SYS_READV = 120 // { ssize_t|sys||readv(int fd, const struct iovec *iovp, int iovcnt); } -+ SYS_WRITEV = 121 // { ssize_t|sys||writev(int fd, const struct iovec *iovp, int iovcnt); } -+ SYS_FCHOWN = 123 // { int|sys||fchown(int fd, uid_t uid, gid_t gid); } -+ SYS_FCHMOD = 124 // { int|sys||fchmod(int fd, mode_t mode); } -+ SYS_SETREUID = 126 // { int|sys||setreuid(uid_t ruid, uid_t euid); } -+ SYS_SETREGID = 127 // { int|sys||setregid(gid_t rgid, gid_t egid); } -+ SYS_RENAME = 128 // { int|sys||rename(const char *from, const char *to); } -+ SYS_FLOCK = 131 // { int|sys||flock(int fd, int how); } -+ SYS_MKFIFO = 132 // { int|sys||mkfifo(const char *path, mode_t mode); } -+ SYS_SENDTO = 133 // { ssize_t|sys||sendto(int s, const void *buf, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); } -+ SYS_SHUTDOWN = 134 // { int|sys||shutdown(int s, int how); } -+ SYS_SOCKETPAIR = 135 // { int|sys||socketpair(int domain, int type, int protocol, int *rsv); } -+ SYS_MKDIR = 136 // { int|sys||mkdir(const char *path, mode_t mode); } -+ SYS_RMDIR = 137 // { int|sys||rmdir(const char *path); } -+ SYS_SETSID = 147 // { int|sys||setsid(void); } -+ SYS_SYSARCH = 165 // { int|sys||sysarch(int op, void *parms); } -+ SYS_PREAD = 173 // { ssize_t|sys||pread(int fd, void *buf, size_t nbyte, int PAD, off_t offset); } -+ SYS_PWRITE = 174 // { ssize_t|sys||pwrite(int fd, const void *buf, size_t nbyte, int PAD, off_t offset); } -+ SYS_NTP_ADJTIME = 176 // { int|sys||ntp_adjtime(struct timex *tp); } -+ SYS_SETGID = 181 // { int|sys||setgid(gid_t gid); } -+ SYS_SETEGID = 182 // { int|sys||setegid(gid_t egid); } -+ SYS_SETEUID = 183 // { int|sys||seteuid(uid_t euid); } -+ SYS_PATHCONF = 191 // { long|sys||pathconf(const char *path, int name); } -+ SYS_FPATHCONF = 192 // { long|sys||fpathconf(int fd, int name); } -+ SYS_GETRLIMIT = 194 // { int|sys||getrlimit(int which, struct rlimit *rlp); } -+ SYS_SETRLIMIT = 195 // { int|sys||setrlimit(int which, const struct rlimit *rlp); } -+ SYS_MMAP = 197 // { void *|sys||mmap(void *addr, size_t len, int prot, int flags, int fd, long PAD, off_t pos); } -+ SYS_LSEEK = 199 // { off_t|sys||lseek(int fd, int PAD, off_t offset, int whence); } -+ SYS_TRUNCATE = 200 // { int|sys||truncate(const char *path, int PAD, off_t length); } -+ SYS_FTRUNCATE = 201 // { int|sys||ftruncate(int fd, int PAD, off_t length); } -+ SYS___SYSCTL = 202 // { int|sys||__sysctl(const int *name, u_int namelen, void *old, size_t *oldlenp, const void *new, size_t newlen); } -+ SYS_MLOCK = 203 // { int|sys||mlock(const void *addr, size_t len); } -+ SYS_MUNLOCK = 204 // { int|sys||munlock(const void *addr, size_t len); } -+ SYS_UNDELETE = 205 // { int|sys||undelete(const char *path); } -+ SYS_GETPGID = 207 // { pid_t|sys||getpgid(pid_t pid); } -+ SYS_REBOOT = 208 // { int|sys||reboot(int opt, char *bootstr); } -+ SYS_POLL = 209 // { int|sys||poll(struct pollfd *fds, u_int nfds, int timeout); } -+ SYS_SEMGET = 221 // { int|sys||semget(key_t key, int nsems, int semflg); } -+ SYS_SEMOP = 222 // { int|sys||semop(int semid, struct sembuf *sops, size_t nsops); } -+ SYS_SEMCONFIG = 223 // { int|sys||semconfig(int flag); } -+ SYS_MSGGET = 225 // { int|sys||msgget(key_t key, int msgflg); } -+ SYS_MSGSND = 226 // { int|sys||msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); } -+ SYS_MSGRCV = 227 // { ssize_t|sys||msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); } -+ SYS_SHMAT = 228 // { void *|sys||shmat(int shmid, const void *shmaddr, int shmflg); } -+ SYS_SHMDT = 230 // { int|sys||shmdt(const void *shmaddr); } -+ SYS_SHMGET = 231 // { int|sys||shmget(key_t key, size_t size, int shmflg); } -+ SYS_TIMER_CREATE = 235 // { int|sys||timer_create(clockid_t clock_id, struct sigevent *evp, timer_t *timerid); } -+ SYS_TIMER_DELETE = 236 // { int|sys||timer_delete(timer_t timerid); } -+ SYS_TIMER_GETOVERRUN = 239 // { int|sys||timer_getoverrun(timer_t timerid); } -+ SYS_FDATASYNC = 241 // { int|sys||fdatasync(int fd); } -+ SYS_MLOCKALL = 242 // { int|sys||mlockall(int flags); } -+ SYS_MUNLOCKALL = 243 // { int|sys||munlockall(void); } -+ SYS_SIGQUEUEINFO = 245 // { int|sys||sigqueueinfo(pid_t pid, const siginfo_t *info); } -+ SYS_MODCTL = 246 // { int|sys||modctl(int cmd, void *arg); } -+ SYS___POSIX_RENAME = 270 // { int|sys||__posix_rename(const char *from, const char *to); } -+ SYS_SWAPCTL = 271 // { int|sys||swapctl(int cmd, void *arg, int misc); } -+ SYS_MINHERIT = 273 // { int|sys||minherit(void *addr, size_t len, int inherit); } -+ SYS_LCHMOD = 274 // { int|sys||lchmod(const char *path, mode_t mode); } -+ SYS_LCHOWN = 275 // { int|sys||lchown(const char *path, uid_t uid, gid_t gid); } -+ SYS___POSIX_CHOWN = 283 // { int|sys||__posix_chown(const char *path, uid_t uid, gid_t gid); } -+ SYS___POSIX_FCHOWN = 284 // { int|sys||__posix_fchown(int fd, uid_t uid, gid_t gid); } -+ SYS___POSIX_LCHOWN = 285 // { int|sys||__posix_lchown(const char *path, uid_t uid, gid_t gid); } -+ SYS_GETSID = 286 // { pid_t|sys||getsid(pid_t pid); } -+ SYS___CLONE = 287 // { pid_t|sys||__clone(int flags, void *stack); } -+ SYS_FKTRACE = 288 // { int|sys||fktrace(int fd, int ops, int facs, pid_t pid); } -+ SYS_PREADV = 289 // { ssize_t|sys||preadv(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } -+ SYS_PWRITEV = 290 // { ssize_t|sys||pwritev(int fd, const struct iovec *iovp, int iovcnt, int PAD, off_t offset); } -+ SYS___GETCWD = 296 // { int|sys||__getcwd(char *bufp, size_t length); } -+ SYS_FCHROOT = 297 // { int|sys||fchroot(int fd); } -+ SYS_LCHFLAGS = 304 // { int|sys||lchflags(const char *path, u_long flags); } -+ SYS_ISSETUGID = 305 // { int|sys||issetugid(void); } -+ SYS_UTRACE = 306 // { int|sys||utrace(const char *label, void *addr, size_t len); } -+ SYS_GETCONTEXT = 307 // { int|sys||getcontext(struct __ucontext *ucp); } -+ SYS_SETCONTEXT = 308 // { int|sys||setcontext(const struct __ucontext *ucp); } -+ SYS__LWP_CREATE = 309 // { int|sys||_lwp_create(const struct __ucontext *ucp, u_long flags, lwpid_t *new_lwp); } -+ SYS__LWP_EXIT = 310 // { int|sys||_lwp_exit(void); } -+ SYS__LWP_SELF = 311 // { lwpid_t|sys||_lwp_self(void); } -+ SYS__LWP_WAIT = 312 // { int|sys||_lwp_wait(lwpid_t wait_for, lwpid_t *departed); } -+ SYS__LWP_SUSPEND = 313 // { int|sys||_lwp_suspend(lwpid_t target); } -+ SYS__LWP_CONTINUE = 314 // { int|sys||_lwp_continue(lwpid_t target); } -+ SYS__LWP_WAKEUP = 315 // { int|sys||_lwp_wakeup(lwpid_t target); } -+ SYS__LWP_GETPRIVATE = 316 // { void *|sys||_lwp_getprivate(void); } -+ SYS__LWP_SETPRIVATE = 317 // { void|sys||_lwp_setprivate(void *ptr); } -+ SYS__LWP_KILL = 318 // { int|sys||_lwp_kill(lwpid_t target, int signo); } -+ SYS__LWP_DETACH = 319 // { int|sys||_lwp_detach(lwpid_t target); } -+ SYS__LWP_UNPARK = 321 // { int|sys||_lwp_unpark(lwpid_t target, const void *hint); } -+ SYS__LWP_UNPARK_ALL = 322 // { ssize_t|sys||_lwp_unpark_all(const lwpid_t *targets, size_t ntargets, const void *hint); } -+ SYS__LWP_SETNAME = 323 // { int|sys||_lwp_setname(lwpid_t target, const char *name); } -+ SYS__LWP_GETNAME = 324 // { int|sys||_lwp_getname(lwpid_t target, char *name, size_t len); } -+ SYS__LWP_CTL = 325 // { int|sys||_lwp_ctl(int features, struct lwpctl **address); } -+ SYS___SIGACTION_SIGTRAMP = 340 // { int|sys||__sigaction_sigtramp(int signum, const struct sigaction *nsa, struct sigaction *osa, const void *tramp, int vers); } -+ SYS_PMC_GET_INFO = 341 // { int|sys||pmc_get_info(int ctr, int op, void *args); } -+ SYS_PMC_CONTROL = 342 // { int|sys||pmc_control(int ctr, int op, void *args); } -+ SYS_RASCTL = 343 // { int|sys||rasctl(void *addr, size_t len, int op); } -+ SYS_KQUEUE = 344 // { int|sys||kqueue(void); } -+ SYS__SCHED_SETPARAM = 346 // { int|sys||_sched_setparam(pid_t pid, lwpid_t lid, int policy, const struct sched_param *params); } -+ SYS__SCHED_GETPARAM = 347 // { int|sys||_sched_getparam(pid_t pid, lwpid_t lid, int *policy, struct sched_param *params); } -+ SYS__SCHED_SETAFFINITY = 348 // { int|sys||_sched_setaffinity(pid_t pid, lwpid_t lid, size_t size, const cpuset_t *cpuset); } -+ SYS__SCHED_GETAFFINITY = 349 // { int|sys||_sched_getaffinity(pid_t pid, lwpid_t lid, size_t size, cpuset_t *cpuset); } -+ SYS_SCHED_YIELD = 350 // { int|sys||sched_yield(void); } -+ SYS_FSYNC_RANGE = 354 // { int|sys||fsync_range(int fd, int flags, off_t start, off_t length); } -+ SYS_UUIDGEN = 355 // { int|sys||uuidgen(struct uuid *store, int count); } -+ SYS_GETVFSSTAT = 356 // { int|sys||getvfsstat(struct statvfs *buf, size_t bufsize, int flags); } -+ SYS_STATVFS1 = 357 // { int|sys||statvfs1(const char *path, struct statvfs *buf, int flags); } -+ SYS_FSTATVFS1 = 358 // { int|sys||fstatvfs1(int fd, struct statvfs *buf, int flags); } -+ SYS_EXTATTRCTL = 360 // { int|sys||extattrctl(const char *path, int cmd, const char *filename, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_SET_FILE = 361 // { int|sys||extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } -+ SYS_EXTATTR_GET_FILE = 362 // { ssize_t|sys||extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } -+ SYS_EXTATTR_DELETE_FILE = 363 // { int|sys||extattr_delete_file(const char *path, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_SET_FD = 364 // { int|sys||extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } -+ SYS_EXTATTR_GET_FD = 365 // { ssize_t|sys||extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); } -+ SYS_EXTATTR_DELETE_FD = 366 // { int|sys||extattr_delete_fd(int fd, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_SET_LINK = 367 // { int|sys||extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); } -+ SYS_EXTATTR_GET_LINK = 368 // { ssize_t|sys||extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); } -+ SYS_EXTATTR_DELETE_LINK = 369 // { int|sys||extattr_delete_link(const char *path, int attrnamespace, const char *attrname); } -+ SYS_EXTATTR_LIST_FD = 370 // { ssize_t|sys||extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); } -+ SYS_EXTATTR_LIST_FILE = 371 // { ssize_t|sys||extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); } -+ SYS_EXTATTR_LIST_LINK = 372 // { ssize_t|sys||extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); } -+ SYS_SETXATTR = 375 // { int|sys||setxattr(const char *path, const char *name, const void *value, size_t size, int flags); } -+ SYS_LSETXATTR = 376 // { int|sys||lsetxattr(const char *path, const char *name, const void *value, size_t size, int flags); } -+ SYS_FSETXATTR = 377 // { int|sys||fsetxattr(int fd, const char *name, const void *value, size_t size, int flags); } -+ SYS_GETXATTR = 378 // { int|sys||getxattr(const char *path, const char *name, void *value, size_t size); } -+ SYS_LGETXATTR = 379 // { int|sys||lgetxattr(const char *path, const char *name, void *value, size_t size); } -+ SYS_FGETXATTR = 380 // { int|sys||fgetxattr(int fd, const char *name, void *value, size_t size); } -+ SYS_LISTXATTR = 381 // { int|sys||listxattr(const char *path, char *list, size_t size); } -+ SYS_LLISTXATTR = 382 // { int|sys||llistxattr(const char *path, char *list, size_t size); } -+ SYS_FLISTXATTR = 383 // { int|sys||flistxattr(int fd, char *list, size_t size); } -+ SYS_REMOVEXATTR = 384 // { int|sys||removexattr(const char *path, const char *name); } -+ SYS_LREMOVEXATTR = 385 // { int|sys||lremovexattr(const char *path, const char *name); } -+ SYS_FREMOVEXATTR = 386 // { int|sys||fremovexattr(int fd, const char *name); } -+ SYS_GETDENTS = 390 // { int|sys|30|getdents(int fd, char *buf, size_t count); } -+ SYS_SOCKET = 394 // { int|sys|30|socket(int domain, int type, int protocol); } -+ SYS_GETFH = 395 // { int|sys|30|getfh(const char *fname, void *fhp, size_t *fh_size); } -+ SYS_MOUNT = 410 // { int|sys|50|mount(const char *type, const char *path, int flags, void *data, size_t data_len); } -+ SYS_MREMAP = 411 // { void *|sys||mremap(void *old_address, size_t old_size, void *new_address, size_t new_size, int flags); } -+ SYS_PSET_CREATE = 412 // { int|sys||pset_create(psetid_t *psid); } -+ SYS_PSET_DESTROY = 413 // { int|sys||pset_destroy(psetid_t psid); } -+ SYS_PSET_ASSIGN = 414 // { int|sys||pset_assign(psetid_t psid, cpuid_t cpuid, psetid_t *opsid); } -+ SYS__PSET_BIND = 415 // { int|sys||_pset_bind(idtype_t idtype, id_t first_id, id_t second_id, psetid_t psid, psetid_t *opsid); } -+ SYS_POSIX_FADVISE = 416 // { int|sys|50|posix_fadvise(int fd, int PAD, off_t offset, off_t len, int advice); } -+ SYS_SELECT = 417 // { int|sys|50|select(int nd, fd_set *in, fd_set *ou, fd_set *ex, struct timeval *tv); } -+ SYS_GETTIMEOFDAY = 418 // { int|sys|50|gettimeofday(struct timeval *tp, void *tzp); } -+ SYS_SETTIMEOFDAY = 419 // { int|sys|50|settimeofday(const struct timeval *tv, const void *tzp); } -+ SYS_UTIMES = 420 // { int|sys|50|utimes(const char *path, const struct timeval *tptr); } -+ SYS_ADJTIME = 421 // { int|sys|50|adjtime(const struct timeval *delta, struct timeval *olddelta); } -+ SYS_FUTIMES = 423 // { int|sys|50|futimes(int fd, const struct timeval *tptr); } -+ SYS_LUTIMES = 424 // { int|sys|50|lutimes(const char *path, const struct timeval *tptr); } -+ SYS_SETITIMER = 425 // { int|sys|50|setitimer(int which, const struct itimerval *itv, struct itimerval *oitv); } -+ SYS_GETITIMER = 426 // { int|sys|50|getitimer(int which, struct itimerval *itv); } -+ SYS_CLOCK_GETTIME = 427 // { int|sys|50|clock_gettime(clockid_t clock_id, struct timespec *tp); } -+ SYS_CLOCK_SETTIME = 428 // { int|sys|50|clock_settime(clockid_t clock_id, const struct timespec *tp); } -+ SYS_CLOCK_GETRES = 429 // { int|sys|50|clock_getres(clockid_t clock_id, struct timespec *tp); } -+ SYS_NANOSLEEP = 430 // { int|sys|50|nanosleep(const struct timespec *rqtp, struct timespec *rmtp); } -+ SYS___SIGTIMEDWAIT = 431 // { int|sys|50|__sigtimedwait(const sigset_t *set, siginfo_t *info, struct timespec *timeout); } -+ SYS__LWP_PARK = 434 // { int|sys|50|_lwp_park(const struct timespec *ts, lwpid_t unpark, const void *hint, const void *unparkhint); } -+ SYS_KEVENT = 435 // { int|sys|50|kevent(int fd, const struct kevent *changelist, size_t nchanges, struct kevent *eventlist, size_t nevents, const struct timespec *timeout); } -+ SYS_PSELECT = 436 // { int|sys|50|pselect(int nd, fd_set *in, fd_set *ou, fd_set *ex, const struct timespec *ts, const sigset_t *mask); } -+ SYS_POLLTS = 437 // { int|sys|50|pollts(struct pollfd *fds, u_int nfds, const struct timespec *ts, const sigset_t *mask); } -+ SYS_STAT = 439 // { int|sys|50|stat(const char *path, struct stat *ub); } -+ SYS_FSTAT = 440 // { int|sys|50|fstat(int fd, struct stat *sb); } -+ SYS_LSTAT = 441 // { int|sys|50|lstat(const char *path, struct stat *ub); } -+ SYS___SEMCTL = 442 // { int|sys|50|__semctl(int semid, int semnum, int cmd, ... union __semun *arg); } -+ SYS_SHMCTL = 443 // { int|sys|50|shmctl(int shmid, int cmd, struct shmid_ds *buf); } -+ SYS_MSGCTL = 444 // { int|sys|50|msgctl(int msqid, int cmd, struct msqid_ds *buf); } -+ SYS_GETRUSAGE = 445 // { int|sys|50|getrusage(int who, struct rusage *rusage); } -+ SYS_TIMER_SETTIME = 446 // { int|sys|50|timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); } -+ SYS_TIMER_GETTIME = 447 // { int|sys|50|timer_gettime(timer_t timerid, struct itimerspec *value); } -+ SYS_NTP_GETTIME = 448 // { int|sys|50|ntp_gettime(struct ntptimeval *ntvp); } -+ SYS_WAIT4 = 449 // { int|sys|50|wait4(pid_t pid, int *status, int options, struct rusage *rusage); } -+ SYS_MKNOD = 450 // { int|sys|50|mknod(const char *path, mode_t mode, dev_t dev); } -+ SYS_FHSTAT = 451 // { int|sys|50|fhstat(const void *fhp, size_t fh_size, struct stat *sb); } -+ SYS_PIPE2 = 453 // { int|sys||pipe2(int *fildes, int flags); } -+ SYS_DUP3 = 454 // { int|sys||dup3(int from, int to, int flags); } -+ SYS_KQUEUE1 = 455 // { int|sys||kqueue1(int flags); } -+ SYS_PACCEPT = 456 // { int|sys||paccept(int s, struct sockaddr *name, socklen_t *anamelen, const sigset_t *mask, int flags); } -+ SYS_LINKAT = 457 // { int|sys||linkat(int fd1, const char *name1, int fd2, const char *name2, int flags); } -+ SYS_RENAMEAT = 458 // { int|sys||renameat(int fromfd, const char *from, int tofd, const char *to); } -+ SYS_MKFIFOAT = 459 // { int|sys||mkfifoat(int fd, const char *path, mode_t mode); } -+ SYS_MKNODAT = 460 // { int|sys||mknodat(int fd, const char *path, mode_t mode, uint32_t dev); } -+ SYS_MKDIRAT = 461 // { int|sys||mkdirat(int fd, const char *path, mode_t mode); } -+ SYS_FACCESSAT = 462 // { int|sys||faccessat(int fd, const char *path, int amode, int flag); } -+ SYS_FCHMODAT = 463 // { int|sys||fchmodat(int fd, const char *path, mode_t mode, int flag); } -+ SYS_FCHOWNAT = 464 // { int|sys||fchownat(int fd, const char *path, uid_t owner, gid_t group, int flag); } -+ SYS_FEXECVE = 465 // { int|sys||fexecve(int fd, char * const *argp, char * const *envp); } -+ SYS_FSTATAT = 466 // { int|sys||fstatat(int fd, const char *path, struct stat *buf, int flag); } -+ SYS_UTIMENSAT = 467 // { int|sys||utimensat(int fd, const char *path, const struct timespec *tptr, int flag); } -+ SYS_OPENAT = 468 // { int|sys||openat(int fd, const char *path, int oflags, ... mode_t mode); } -+ SYS_READLINKAT = 469 // { int|sys||readlinkat(int fd, const char *path, char *buf, size_t bufsize); } -+ SYS_SYMLINKAT = 470 // { int|sys||symlinkat(const char *path1, int fd, const char *path2); } -+ SYS_UNLINKAT = 471 // { int|sys||unlinkat(int fd, const char *path, int flag); } -+ SYS_FUTIMENS = 472 // { int|sys||futimens(int fd, const struct timespec *tptr); } -+ SYS___QUOTACTL = 473 // { int|sys||__quotactl(const char *path, struct quotactl_args *args); } -+ SYS_POSIX_SPAWN = 474 // { int|sys||posix_spawn(pid_t *pid, const char *path, const struct posix_spawn_file_actions *file_actions, const struct posix_spawnattr *attrp, char *const *argv, char *const *envp); } -+ SYS_RECVMMSG = 475 // { int|sys||recvmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags, struct timespec *timeout); } -+ SYS_SENDMMSG = 476 // { int|sys||sendmmsg(int s, struct mmsghdr *mmsg, unsigned int vlen, unsigned int flags); } -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go -new file mode 100644 -index 0000000..3e8ce2a ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go -@@ -0,0 +1,207 @@ -+// mksysnum_openbsd.pl -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build 386,openbsd -+ -+package unix -+ -+const ( -+ SYS_EXIT = 1 // { void sys_exit(int rval); } -+ SYS_FORK = 2 // { int sys_fork(void); } -+ SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } -+ SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, \ -+ SYS_OPEN = 5 // { int sys_open(const char *path, \ -+ SYS_CLOSE = 6 // { int sys_close(int fd); } -+ SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, \ -+ SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } -+ SYS_UNLINK = 10 // { int sys_unlink(const char *path); } -+ SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, \ -+ SYS_CHDIR = 12 // { int sys_chdir(const char *path); } -+ SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } -+ SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, \ -+ SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } -+ SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, \ -+ SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break -+ SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } -+ SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, \ -+ SYS_GETPID = 20 // { pid_t sys_getpid(void); } -+ SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, \ -+ SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } -+ SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } -+ SYS_GETUID = 24 // { uid_t sys_getuid(void); } -+ SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } -+ SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \ -+ SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \ -+ SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, \ -+ SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \ -+ SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, \ -+ SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, \ -+ SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, \ -+ SYS_ACCESS = 33 // { int sys_access(const char *path, int flags); } -+ SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } -+ SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } -+ SYS_SYNC = 36 // { void sys_sync(void); } -+ SYS_KILL = 37 // { int sys_kill(int pid, int signum); } -+ SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } -+ SYS_GETPPID = 39 // { pid_t sys_getppid(void); } -+ SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } -+ SYS_DUP = 41 // { int sys_dup(int fd); } -+ SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, \ -+ SYS_GETEGID = 43 // { gid_t sys_getegid(void); } -+ SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, \ -+ SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, \ -+ SYS_SIGACTION = 46 // { int sys_sigaction(int signum, \ -+ SYS_GETGID = 47 // { gid_t sys_getgid(void); } -+ SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } -+ SYS_GETLOGIN = 49 // { int sys_getlogin(char *namebuf, u_int namelen); } -+ SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } -+ SYS_ACCT = 51 // { int sys_acct(const char *path); } -+ SYS_SIGPENDING = 52 // { int sys_sigpending(void); } -+ SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } -+ SYS_IOCTL = 54 // { int sys_ioctl(int fd, \ -+ SYS_REBOOT = 55 // { int sys_reboot(int opt); } -+ SYS_REVOKE = 56 // { int sys_revoke(const char *path); } -+ SYS_SYMLINK = 57 // { int sys_symlink(const char *path, \ -+ SYS_READLINK = 58 // { int sys_readlink(const char *path, char *buf, \ -+ SYS_EXECVE = 59 // { int sys_execve(const char *path, \ -+ SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } -+ SYS_CHROOT = 61 // { int sys_chroot(const char *path); } -+ SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \ -+ SYS_STATFS = 63 // { int sys_statfs(const char *path, \ -+ SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } -+ SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, \ -+ SYS_VFORK = 66 // { int sys_vfork(void); } -+ SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, \ -+ SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, \ -+ SYS_SETITIMER = 69 // { int sys_setitimer(int which, \ -+ SYS_GETITIMER = 70 // { int sys_getitimer(int which, \ -+ SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, \ -+ SYS_KEVENT = 72 // { int sys_kevent(int fd, \ -+ SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } -+ SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, \ -+ SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, \ -+ SYS_UTIMES = 76 // { int sys_utimes(const char *path, \ -+ SYS_FUTIMES = 77 // { int sys_futimes(int fd, \ -+ SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, \ -+ SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, \ -+ SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, \ -+ SYS_GETPGRP = 81 // { int sys_getpgrp(void); } -+ SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, int pgid); } -+ SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, \ -+ SYS_FUTIMENS = 85 // { int sys_futimens(int fd, \ -+ SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, \ -+ SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, \ -+ SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, \ -+ SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } -+ SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, \ -+ SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } -+ SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, \ -+ SYS_FSYNC = 95 // { int sys_fsync(int fd); } -+ SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } -+ SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } -+ SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, \ -+ SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } -+ SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } -+ SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } -+ SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, \ -+ SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, \ -+ SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } -+ SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, \ -+ SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \ -+ SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } -+ SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, \ -+ SYS_READV = 120 // { ssize_t sys_readv(int fd, \ -+ SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, \ -+ SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } -+ SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } -+ SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } -+ SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } -+ SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } -+ SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } -+ SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } -+ SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, \ -+ SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } -+ SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, \ -+ SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } -+ SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } -+ SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, \ -+ SYS_SETSID = 147 // { int sys_setsid(void); } -+ SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, \ -+ SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } -+ SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } -+ SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } -+ SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, \ -+ SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \ -+ SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } -+ SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } -+ SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } -+ SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } -+ SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } -+ SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } -+ SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, \ -+ SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, \ -+ SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \ -+ SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \ -+ SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, \ -+ SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } -+ SYS___SYSCTL = 202 // { int sys___sysctl(const int *name, u_int namelen, \ -+ SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } -+ SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } -+ SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } -+ SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, \ -+ SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } -+ SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } -+ SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \ -+ SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \ -+ SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \ -+ SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } -+ SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, \ -+ SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, \ -+ SYS_ISSETUGID = 253 // { int sys_issetugid(void); } -+ SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } -+ SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } -+ SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } -+ SYS_PIPE = 263 // { int sys_pipe(int *fdp); } -+ SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } -+ SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, \ -+ SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, \ -+ SYS_KQUEUE = 269 // { int sys_kqueue(void); } -+ SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } -+ SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } -+ SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \ -+ SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \ -+ SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \ -+ SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \ -+ SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \ -+ SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } -+ SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \ -+ SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } -+ SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, \ -+ SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, \ -+ SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, \ -+ SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, \ -+ SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, \ -+ SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } -+ SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } -+ SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, \ -+ SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } -+ SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \ -+ SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } -+ SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, \ -+ SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } -+ SYS_GETRTABLE = 311 // { int sys_getrtable(void); } -+ SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, \ -+ SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, \ -+ SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, \ -+ SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \ -+ SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, \ -+ SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, \ -+ SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, \ -+ SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, \ -+ SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \ -+ SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, \ -+ SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, \ -+ SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, \ -+ SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } -+ SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go -new file mode 100644 -index 0000000..bd28146 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go -@@ -0,0 +1,207 @@ -+// mksysnum_openbsd.pl -+// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT -+ -+// +build amd64,openbsd -+ -+package unix -+ -+const ( -+ SYS_EXIT = 1 // { void sys_exit(int rval); } -+ SYS_FORK = 2 // { int sys_fork(void); } -+ SYS_READ = 3 // { ssize_t sys_read(int fd, void *buf, size_t nbyte); } -+ SYS_WRITE = 4 // { ssize_t sys_write(int fd, const void *buf, \ -+ SYS_OPEN = 5 // { int sys_open(const char *path, \ -+ SYS_CLOSE = 6 // { int sys_close(int fd); } -+ SYS___TFORK = 8 // { int sys___tfork(const struct __tfork *param, \ -+ SYS_LINK = 9 // { int sys_link(const char *path, const char *link); } -+ SYS_UNLINK = 10 // { int sys_unlink(const char *path); } -+ SYS_WAIT4 = 11 // { pid_t sys_wait4(pid_t pid, int *status, \ -+ SYS_CHDIR = 12 // { int sys_chdir(const char *path); } -+ SYS_FCHDIR = 13 // { int sys_fchdir(int fd); } -+ SYS_MKNOD = 14 // { int sys_mknod(const char *path, mode_t mode, \ -+ SYS_CHMOD = 15 // { int sys_chmod(const char *path, mode_t mode); } -+ SYS_CHOWN = 16 // { int sys_chown(const char *path, uid_t uid, \ -+ SYS_OBREAK = 17 // { int sys_obreak(char *nsize); } break -+ SYS_GETDTABLECOUNT = 18 // { int sys_getdtablecount(void); } -+ SYS_GETRUSAGE = 19 // { int sys_getrusage(int who, \ -+ SYS_GETPID = 20 // { pid_t sys_getpid(void); } -+ SYS_MOUNT = 21 // { int sys_mount(const char *type, const char *path, \ -+ SYS_UNMOUNT = 22 // { int sys_unmount(const char *path, int flags); } -+ SYS_SETUID = 23 // { int sys_setuid(uid_t uid); } -+ SYS_GETUID = 24 // { uid_t sys_getuid(void); } -+ SYS_GETEUID = 25 // { uid_t sys_geteuid(void); } -+ SYS_PTRACE = 26 // { int sys_ptrace(int req, pid_t pid, caddr_t addr, \ -+ SYS_RECVMSG = 27 // { ssize_t sys_recvmsg(int s, struct msghdr *msg, \ -+ SYS_SENDMSG = 28 // { ssize_t sys_sendmsg(int s, \ -+ SYS_RECVFROM = 29 // { ssize_t sys_recvfrom(int s, void *buf, size_t len, \ -+ SYS_ACCEPT = 30 // { int sys_accept(int s, struct sockaddr *name, \ -+ SYS_GETPEERNAME = 31 // { int sys_getpeername(int fdes, struct sockaddr *asa, \ -+ SYS_GETSOCKNAME = 32 // { int sys_getsockname(int fdes, struct sockaddr *asa, \ -+ SYS_ACCESS = 33 // { int sys_access(const char *path, int flags); } -+ SYS_CHFLAGS = 34 // { int sys_chflags(const char *path, u_int flags); } -+ SYS_FCHFLAGS = 35 // { int sys_fchflags(int fd, u_int flags); } -+ SYS_SYNC = 36 // { void sys_sync(void); } -+ SYS_KILL = 37 // { int sys_kill(int pid, int signum); } -+ SYS_STAT = 38 // { int sys_stat(const char *path, struct stat *ub); } -+ SYS_GETPPID = 39 // { pid_t sys_getppid(void); } -+ SYS_LSTAT = 40 // { int sys_lstat(const char *path, struct stat *ub); } -+ SYS_DUP = 41 // { int sys_dup(int fd); } -+ SYS_FSTATAT = 42 // { int sys_fstatat(int fd, const char *path, \ -+ SYS_GETEGID = 43 // { gid_t sys_getegid(void); } -+ SYS_PROFIL = 44 // { int sys_profil(caddr_t samples, size_t size, \ -+ SYS_KTRACE = 45 // { int sys_ktrace(const char *fname, int ops, \ -+ SYS_SIGACTION = 46 // { int sys_sigaction(int signum, \ -+ SYS_GETGID = 47 // { gid_t sys_getgid(void); } -+ SYS_SIGPROCMASK = 48 // { int sys_sigprocmask(int how, sigset_t mask); } -+ SYS_GETLOGIN = 49 // { int sys_getlogin(char *namebuf, u_int namelen); } -+ SYS_SETLOGIN = 50 // { int sys_setlogin(const char *namebuf); } -+ SYS_ACCT = 51 // { int sys_acct(const char *path); } -+ SYS_SIGPENDING = 52 // { int sys_sigpending(void); } -+ SYS_FSTAT = 53 // { int sys_fstat(int fd, struct stat *sb); } -+ SYS_IOCTL = 54 // { int sys_ioctl(int fd, \ -+ SYS_REBOOT = 55 // { int sys_reboot(int opt); } -+ SYS_REVOKE = 56 // { int sys_revoke(const char *path); } -+ SYS_SYMLINK = 57 // { int sys_symlink(const char *path, \ -+ SYS_READLINK = 58 // { int sys_readlink(const char *path, char *buf, \ -+ SYS_EXECVE = 59 // { int sys_execve(const char *path, \ -+ SYS_UMASK = 60 // { mode_t sys_umask(mode_t newmask); } -+ SYS_CHROOT = 61 // { int sys_chroot(const char *path); } -+ SYS_GETFSSTAT = 62 // { int sys_getfsstat(struct statfs *buf, size_t bufsize, \ -+ SYS_STATFS = 63 // { int sys_statfs(const char *path, \ -+ SYS_FSTATFS = 64 // { int sys_fstatfs(int fd, struct statfs *buf); } -+ SYS_FHSTATFS = 65 // { int sys_fhstatfs(const fhandle_t *fhp, \ -+ SYS_VFORK = 66 // { int sys_vfork(void); } -+ SYS_GETTIMEOFDAY = 67 // { int sys_gettimeofday(struct timeval *tp, \ -+ SYS_SETTIMEOFDAY = 68 // { int sys_settimeofday(const struct timeval *tv, \ -+ SYS_SETITIMER = 69 // { int sys_setitimer(int which, \ -+ SYS_GETITIMER = 70 // { int sys_getitimer(int which, \ -+ SYS_SELECT = 71 // { int sys_select(int nd, fd_set *in, fd_set *ou, \ -+ SYS_KEVENT = 72 // { int sys_kevent(int fd, \ -+ SYS_MUNMAP = 73 // { int sys_munmap(void *addr, size_t len); } -+ SYS_MPROTECT = 74 // { int sys_mprotect(void *addr, size_t len, \ -+ SYS_MADVISE = 75 // { int sys_madvise(void *addr, size_t len, \ -+ SYS_UTIMES = 76 // { int sys_utimes(const char *path, \ -+ SYS_FUTIMES = 77 // { int sys_futimes(int fd, \ -+ SYS_MINCORE = 78 // { int sys_mincore(void *addr, size_t len, \ -+ SYS_GETGROUPS = 79 // { int sys_getgroups(int gidsetsize, \ -+ SYS_SETGROUPS = 80 // { int sys_setgroups(int gidsetsize, \ -+ SYS_GETPGRP = 81 // { int sys_getpgrp(void); } -+ SYS_SETPGID = 82 // { int sys_setpgid(pid_t pid, int pgid); } -+ SYS_UTIMENSAT = 84 // { int sys_utimensat(int fd, const char *path, \ -+ SYS_FUTIMENS = 85 // { int sys_futimens(int fd, \ -+ SYS_CLOCK_GETTIME = 87 // { int sys_clock_gettime(clockid_t clock_id, \ -+ SYS_CLOCK_SETTIME = 88 // { int sys_clock_settime(clockid_t clock_id, \ -+ SYS_CLOCK_GETRES = 89 // { int sys_clock_getres(clockid_t clock_id, \ -+ SYS_DUP2 = 90 // { int sys_dup2(int from, int to); } -+ SYS_NANOSLEEP = 91 // { int sys_nanosleep(const struct timespec *rqtp, \ -+ SYS_FCNTL = 92 // { int sys_fcntl(int fd, int cmd, ... void *arg); } -+ SYS___THRSLEEP = 94 // { int sys___thrsleep(const volatile void *ident, \ -+ SYS_FSYNC = 95 // { int sys_fsync(int fd); } -+ SYS_SETPRIORITY = 96 // { int sys_setpriority(int which, id_t who, int prio); } -+ SYS_SOCKET = 97 // { int sys_socket(int domain, int type, int protocol); } -+ SYS_CONNECT = 98 // { int sys_connect(int s, const struct sockaddr *name, \ -+ SYS_GETDENTS = 99 // { int sys_getdents(int fd, void *buf, size_t buflen); } -+ SYS_GETPRIORITY = 100 // { int sys_getpriority(int which, id_t who); } -+ SYS_SIGRETURN = 103 // { int sys_sigreturn(struct sigcontext *sigcntxp); } -+ SYS_BIND = 104 // { int sys_bind(int s, const struct sockaddr *name, \ -+ SYS_SETSOCKOPT = 105 // { int sys_setsockopt(int s, int level, int name, \ -+ SYS_LISTEN = 106 // { int sys_listen(int s, int backlog); } -+ SYS_PPOLL = 109 // { int sys_ppoll(struct pollfd *fds, \ -+ SYS_PSELECT = 110 // { int sys_pselect(int nd, fd_set *in, fd_set *ou, \ -+ SYS_SIGSUSPEND = 111 // { int sys_sigsuspend(int mask); } -+ SYS_GETSOCKOPT = 118 // { int sys_getsockopt(int s, int level, int name, \ -+ SYS_READV = 120 // { ssize_t sys_readv(int fd, \ -+ SYS_WRITEV = 121 // { ssize_t sys_writev(int fd, \ -+ SYS_FCHOWN = 123 // { int sys_fchown(int fd, uid_t uid, gid_t gid); } -+ SYS_FCHMOD = 124 // { int sys_fchmod(int fd, mode_t mode); } -+ SYS_SETREUID = 126 // { int sys_setreuid(uid_t ruid, uid_t euid); } -+ SYS_SETREGID = 127 // { int sys_setregid(gid_t rgid, gid_t egid); } -+ SYS_RENAME = 128 // { int sys_rename(const char *from, const char *to); } -+ SYS_FLOCK = 131 // { int sys_flock(int fd, int how); } -+ SYS_MKFIFO = 132 // { int sys_mkfifo(const char *path, mode_t mode); } -+ SYS_SENDTO = 133 // { ssize_t sys_sendto(int s, const void *buf, \ -+ SYS_SHUTDOWN = 134 // { int sys_shutdown(int s, int how); } -+ SYS_SOCKETPAIR = 135 // { int sys_socketpair(int domain, int type, \ -+ SYS_MKDIR = 136 // { int sys_mkdir(const char *path, mode_t mode); } -+ SYS_RMDIR = 137 // { int sys_rmdir(const char *path); } -+ SYS_ADJTIME = 140 // { int sys_adjtime(const struct timeval *delta, \ -+ SYS_SETSID = 147 // { int sys_setsid(void); } -+ SYS_QUOTACTL = 148 // { int sys_quotactl(const char *path, int cmd, \ -+ SYS_NFSSVC = 155 // { int sys_nfssvc(int flag, void *argp); } -+ SYS_GETFH = 161 // { int sys_getfh(const char *fname, fhandle_t *fhp); } -+ SYS_SYSARCH = 165 // { int sys_sysarch(int op, void *parms); } -+ SYS_PREAD = 173 // { ssize_t sys_pread(int fd, void *buf, \ -+ SYS_PWRITE = 174 // { ssize_t sys_pwrite(int fd, const void *buf, \ -+ SYS_SETGID = 181 // { int sys_setgid(gid_t gid); } -+ SYS_SETEGID = 182 // { int sys_setegid(gid_t egid); } -+ SYS_SETEUID = 183 // { int sys_seteuid(uid_t euid); } -+ SYS_PATHCONF = 191 // { long sys_pathconf(const char *path, int name); } -+ SYS_FPATHCONF = 192 // { long sys_fpathconf(int fd, int name); } -+ SYS_SWAPCTL = 193 // { int sys_swapctl(int cmd, const void *arg, int misc); } -+ SYS_GETRLIMIT = 194 // { int sys_getrlimit(int which, \ -+ SYS_SETRLIMIT = 195 // { int sys_setrlimit(int which, \ -+ SYS_MMAP = 197 // { void *sys_mmap(void *addr, size_t len, int prot, \ -+ SYS_LSEEK = 199 // { off_t sys_lseek(int fd, int pad, off_t offset, \ -+ SYS_TRUNCATE = 200 // { int sys_truncate(const char *path, int pad, \ -+ SYS_FTRUNCATE = 201 // { int sys_ftruncate(int fd, int pad, off_t length); } -+ SYS___SYSCTL = 202 // { int sys___sysctl(const int *name, u_int namelen, \ -+ SYS_MLOCK = 203 // { int sys_mlock(const void *addr, size_t len); } -+ SYS_MUNLOCK = 204 // { int sys_munlock(const void *addr, size_t len); } -+ SYS_GETPGID = 207 // { pid_t sys_getpgid(pid_t pid); } -+ SYS_UTRACE = 209 // { int sys_utrace(const char *label, const void *addr, \ -+ SYS_SEMGET = 221 // { int sys_semget(key_t key, int nsems, int semflg); } -+ SYS_MSGGET = 225 // { int sys_msgget(key_t key, int msgflg); } -+ SYS_MSGSND = 226 // { int sys_msgsnd(int msqid, const void *msgp, size_t msgsz, \ -+ SYS_MSGRCV = 227 // { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \ -+ SYS_SHMAT = 228 // { void *sys_shmat(int shmid, const void *shmaddr, \ -+ SYS_SHMDT = 230 // { int sys_shmdt(const void *shmaddr); } -+ SYS_MINHERIT = 250 // { int sys_minherit(void *addr, size_t len, \ -+ SYS_POLL = 252 // { int sys_poll(struct pollfd *fds, \ -+ SYS_ISSETUGID = 253 // { int sys_issetugid(void); } -+ SYS_LCHOWN = 254 // { int sys_lchown(const char *path, uid_t uid, gid_t gid); } -+ SYS_GETSID = 255 // { pid_t sys_getsid(pid_t pid); } -+ SYS_MSYNC = 256 // { int sys_msync(void *addr, size_t len, int flags); } -+ SYS_PIPE = 263 // { int sys_pipe(int *fdp); } -+ SYS_FHOPEN = 264 // { int sys_fhopen(const fhandle_t *fhp, int flags); } -+ SYS_PREADV = 267 // { ssize_t sys_preadv(int fd, \ -+ SYS_PWRITEV = 268 // { ssize_t sys_pwritev(int fd, \ -+ SYS_KQUEUE = 269 // { int sys_kqueue(void); } -+ SYS_MLOCKALL = 271 // { int sys_mlockall(int flags); } -+ SYS_MUNLOCKALL = 272 // { int sys_munlockall(void); } -+ SYS_GETRESUID = 281 // { int sys_getresuid(uid_t *ruid, uid_t *euid, \ -+ SYS_SETRESUID = 282 // { int sys_setresuid(uid_t ruid, uid_t euid, \ -+ SYS_GETRESGID = 283 // { int sys_getresgid(gid_t *rgid, gid_t *egid, \ -+ SYS_SETRESGID = 284 // { int sys_setresgid(gid_t rgid, gid_t egid, \ -+ SYS_MQUERY = 286 // { void *sys_mquery(void *addr, size_t len, int prot, \ -+ SYS_CLOSEFROM = 287 // { int sys_closefrom(int fd); } -+ SYS_SIGALTSTACK = 288 // { int sys_sigaltstack(const struct sigaltstack *nss, \ -+ SYS_SHMGET = 289 // { int sys_shmget(key_t key, size_t size, int shmflg); } -+ SYS_SEMOP = 290 // { int sys_semop(int semid, struct sembuf *sops, \ -+ SYS_FHSTAT = 294 // { int sys_fhstat(const fhandle_t *fhp, \ -+ SYS___SEMCTL = 295 // { int sys___semctl(int semid, int semnum, int cmd, \ -+ SYS_SHMCTL = 296 // { int sys_shmctl(int shmid, int cmd, \ -+ SYS_MSGCTL = 297 // { int sys_msgctl(int msqid, int cmd, \ -+ SYS_SCHED_YIELD = 298 // { int sys_sched_yield(void); } -+ SYS_GETTHRID = 299 // { pid_t sys_getthrid(void); } -+ SYS___THRWAKEUP = 301 // { int sys___thrwakeup(const volatile void *ident, \ -+ SYS___THREXIT = 302 // { void sys___threxit(pid_t *notdead); } -+ SYS___THRSIGDIVERT = 303 // { int sys___thrsigdivert(sigset_t sigmask, \ -+ SYS___GETCWD = 304 // { int sys___getcwd(char *buf, size_t len); } -+ SYS_ADJFREQ = 305 // { int sys_adjfreq(const int64_t *freq, \ -+ SYS_SETRTABLE = 310 // { int sys_setrtable(int rtableid); } -+ SYS_GETRTABLE = 311 // { int sys_getrtable(void); } -+ SYS_FACCESSAT = 313 // { int sys_faccessat(int fd, const char *path, \ -+ SYS_FCHMODAT = 314 // { int sys_fchmodat(int fd, const char *path, \ -+ SYS_FCHOWNAT = 315 // { int sys_fchownat(int fd, const char *path, \ -+ SYS_LINKAT = 317 // { int sys_linkat(int fd1, const char *path1, int fd2, \ -+ SYS_MKDIRAT = 318 // { int sys_mkdirat(int fd, const char *path, \ -+ SYS_MKFIFOAT = 319 // { int sys_mkfifoat(int fd, const char *path, \ -+ SYS_MKNODAT = 320 // { int sys_mknodat(int fd, const char *path, \ -+ SYS_OPENAT = 321 // { int sys_openat(int fd, const char *path, int flags, \ -+ SYS_READLINKAT = 322 // { ssize_t sys_readlinkat(int fd, const char *path, \ -+ SYS_RENAMEAT = 323 // { int sys_renameat(int fromfd, const char *from, \ -+ SYS_SYMLINKAT = 324 // { int sys_symlinkat(const char *path, int fd, \ -+ SYS_UNLINKAT = 325 // { int sys_unlinkat(int fd, const char *path, \ -+ SYS___SET_TCB = 329 // { void sys___set_tcb(void *tcb); } -+ SYS___GET_TCB = 330 // { void *sys___get_tcb(void); } -+) -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go -new file mode 100644 -index 0000000..c708659 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go -@@ -0,0 +1,13 @@ -+// Copyright 2014 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build amd64,solaris -+ -+package unix -+ -+// TODO(aram): remove these before Go 1.3. -+const ( -+ SYS_EXECVE = 59 -+ SYS_FCNTL = 62 -+) -diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go -new file mode 100644 -index 0000000..2de1d44 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_386.go -@@ -0,0 +1,447 @@ -+// +build 386,darwin -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_darwin.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int32 -+ Nsec int32 -+} -+ -+type Timeval struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Timeval32 struct{} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev int32 -+ Mode uint16 -+ Nlink uint16 -+ Ino uint64 -+ Uid uint32 -+ Gid uint32 -+ Rdev int32 -+ Atimespec Timespec -+ Mtimespec Timespec -+ Ctimespec Timespec -+ Birthtimespec Timespec -+ Size int64 -+ Blocks int64 -+ Blksize int32 -+ Flags uint32 -+ Gen uint32 -+ Lspare int32 -+ Qspare [2]int64 -+} -+ -+type Statfs_t struct { -+ Bsize uint32 -+ Iosize int32 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Owner uint32 -+ Type uint32 -+ Flags uint32 -+ Fssubtype uint32 -+ Fstypename [16]int8 -+ Mntonname [1024]int8 -+ Mntfromname [1024]int8 -+ Reserved [8]uint32 -+} -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+} -+ -+type Fstore_t struct { -+ Flags uint32 -+ Posmode int32 -+ Offset int64 -+ Length int64 -+ Bytesalloc int64 -+} -+ -+type Radvisory_t struct { -+ Offset int64 -+ Count int32 -+} -+ -+type Fbootstraptransfer_t struct { -+ Offset int64 -+ Length uint32 -+ Buffer *byte -+} -+ -+type Log2phys_t struct { -+ Flags uint32 -+ Contigbytes int64 -+ Devoffset int64 -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Seekoff uint64 -+ Reclen uint16 -+ Namlen uint16 -+ Type uint8 -+ Name [1024]int8 -+ Pad_cgo_0 [3]byte -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen int32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex uint32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x14 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint32 -+ Filter int16 -+ Flags uint16 -+ Fflags uint32 -+ Data int32 -+ Udata *byte -+} -+ -+type FdSet struct { -+ Bits [32]int32 -+} -+ -+const ( -+ SizeofIfMsghdr = 0x70 -+ SizeofIfData = 0x60 -+ SizeofIfaMsghdr = 0x14 -+ SizeofIfmaMsghdr = 0x10 -+ SizeofIfmaMsghdr2 = 0x14 -+ SizeofRtMsghdr = 0x5c -+ SizeofRtMetrics = 0x38 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type IfData struct { -+ Type uint8 -+ Typelen uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Recvquota uint8 -+ Xmitquota uint8 -+ Unused1 uint8 -+ Mtu uint32 -+ Metric uint32 -+ Baudrate uint32 -+ Ipackets uint32 -+ Ierrors uint32 -+ Opackets uint32 -+ Oerrors uint32 -+ Collisions uint32 -+ Ibytes uint32 -+ Obytes uint32 -+ Imcasts uint32 -+ Omcasts uint32 -+ Iqdrops uint32 -+ Noproto uint32 -+ Recvtiming uint32 -+ Xmittiming uint32 -+ Lastchange Timeval -+ Unused2 uint32 -+ Hwassist uint32 -+ Reserved1 uint32 -+ Reserved2 uint32 -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Metric int32 -+} -+ -+type IfmaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type IfmaMsghdr2 struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Refcount int32 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Use int32 -+ Inits uint32 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint32 -+ Mtu uint32 -+ Hopcount uint32 -+ Expire int32 -+ Recvpipe uint32 -+ Sendpipe uint32 -+ Ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Pksent uint32 -+ Filler [4]uint32 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x8 -+ SizeofBpfProgram = 0x8 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x14 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint32 -+ Drop uint32 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp Timeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go -new file mode 100644 -index 0000000..0446578 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go -@@ -0,0 +1,462 @@ -+// +build amd64,darwin -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_darwin.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Timeval32 struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev int32 -+ Mode uint16 -+ Nlink uint16 -+ Ino uint64 -+ Uid uint32 -+ Gid uint32 -+ Rdev int32 -+ Pad_cgo_0 [4]byte -+ Atimespec Timespec -+ Mtimespec Timespec -+ Ctimespec Timespec -+ Birthtimespec Timespec -+ Size int64 -+ Blocks int64 -+ Blksize int32 -+ Flags uint32 -+ Gen uint32 -+ Lspare int32 -+ Qspare [2]int64 -+} -+ -+type Statfs_t struct { -+ Bsize uint32 -+ Iosize int32 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Owner uint32 -+ Type uint32 -+ Flags uint32 -+ Fssubtype uint32 -+ Fstypename [16]int8 -+ Mntonname [1024]int8 -+ Mntfromname [1024]int8 -+ Reserved [8]uint32 -+} -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+} -+ -+type Fstore_t struct { -+ Flags uint32 -+ Posmode int32 -+ Offset int64 -+ Length int64 -+ Bytesalloc int64 -+} -+ -+type Radvisory_t struct { -+ Offset int64 -+ Count int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Fbootstraptransfer_t struct { -+ Offset int64 -+ Length uint64 -+ Buffer *byte -+} -+ -+type Log2phys_t struct { -+ Flags uint32 -+ Pad_cgo_0 [8]byte -+ Pad_cgo_1 [8]byte -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Seekoff uint64 -+ Reclen uint16 -+ Namlen uint16 -+ Type uint8 -+ Name [1024]int8 -+ Pad_cgo_0 [3]byte -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen int32 -+ Pad_cgo_1 [4]byte -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex uint32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x14 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x30 -+ SizeofCmsghdr = 0xc -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint64 -+ Filter int16 -+ Flags uint16 -+ Fflags uint32 -+ Data int64 -+ Udata *byte -+} -+ -+type FdSet struct { -+ Bits [32]int32 -+} -+ -+const ( -+ SizeofIfMsghdr = 0x70 -+ SizeofIfData = 0x60 -+ SizeofIfaMsghdr = 0x14 -+ SizeofIfmaMsghdr = 0x10 -+ SizeofIfmaMsghdr2 = 0x14 -+ SizeofRtMsghdr = 0x5c -+ SizeofRtMetrics = 0x38 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type IfData struct { -+ Type uint8 -+ Typelen uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Recvquota uint8 -+ Xmitquota uint8 -+ Unused1 uint8 -+ Mtu uint32 -+ Metric uint32 -+ Baudrate uint32 -+ Ipackets uint32 -+ Ierrors uint32 -+ Opackets uint32 -+ Oerrors uint32 -+ Collisions uint32 -+ Ibytes uint32 -+ Obytes uint32 -+ Imcasts uint32 -+ Omcasts uint32 -+ Iqdrops uint32 -+ Noproto uint32 -+ Recvtiming uint32 -+ Xmittiming uint32 -+ Lastchange Timeval32 -+ Unused2 uint32 -+ Hwassist uint32 -+ Reserved1 uint32 -+ Reserved2 uint32 -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Metric int32 -+} -+ -+type IfmaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type IfmaMsghdr2 struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Refcount int32 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Use int32 -+ Inits uint32 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint32 -+ Mtu uint32 -+ Hopcount uint32 -+ Expire int32 -+ Recvpipe uint32 -+ Sendpipe uint32 -+ Ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Pksent uint32 -+ Filler [4]uint32 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x8 -+ SizeofBpfProgram = 0x10 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x14 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint32 -+ Drop uint32 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Pad_cgo_0 [4]byte -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp Timeval32 -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type Termios struct { -+ Iflag uint64 -+ Oflag uint64 -+ Cflag uint64 -+ Lflag uint64 -+ Cc [20]uint8 -+ Pad_cgo_0 [4]byte -+ Ispeed uint64 -+ Ospeed uint64 -+} -+ -+const ( -+ AT_FDCWD = -0x2 -+ AT_SYMLINK_NOFOLLOW = 0x20 -+) -diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go -new file mode 100644 -index 0000000..66df363 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go -@@ -0,0 +1,449 @@ -+// NOTE: cgo can't generate struct Stat_t and struct Statfs_t yet -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_darwin.go -+ -+// +build arm,darwin -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int32 -+ Nsec int32 -+} -+ -+type Timeval struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Timeval32 [0]byte -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev int32 -+ Mode uint16 -+ Nlink uint16 -+ Ino uint64 -+ Uid uint32 -+ Gid uint32 -+ Rdev int32 -+ Atimespec Timespec -+ Mtimespec Timespec -+ Ctimespec Timespec -+ Birthtimespec Timespec -+ Size int64 -+ Blocks int64 -+ Blksize int32 -+ Flags uint32 -+ Gen uint32 -+ Lspare int32 -+ Qspare [2]int64 -+} -+ -+type Statfs_t struct { -+ Bsize uint32 -+ Iosize int32 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Owner uint32 -+ Type uint32 -+ Flags uint32 -+ Fssubtype uint32 -+ Fstypename [16]int8 -+ Mntonname [1024]int8 -+ Mntfromname [1024]int8 -+ Reserved [8]uint32 -+} -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+} -+ -+type Fstore_t struct { -+ Flags uint32 -+ Posmode int32 -+ Offset int64 -+ Length int64 -+ Bytesalloc int64 -+} -+ -+type Radvisory_t struct { -+ Offset int64 -+ Count int32 -+} -+ -+type Fbootstraptransfer_t struct { -+ Offset int64 -+ Length uint32 -+ Buffer *byte -+} -+ -+type Log2phys_t struct { -+ Flags uint32 -+ Contigbytes int64 -+ Devoffset int64 -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Seekoff uint64 -+ Reclen uint16 -+ Namlen uint16 -+ Type uint8 -+ Name [1024]int8 -+ Pad_cgo_0 [3]byte -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen int32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex uint32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x14 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint32 -+ Filter int16 -+ Flags uint16 -+ Fflags uint32 -+ Data int32 -+ Udata *byte -+} -+ -+type FdSet struct { -+ Bits [32]int32 -+} -+ -+const ( -+ SizeofIfMsghdr = 0x70 -+ SizeofIfData = 0x60 -+ SizeofIfaMsghdr = 0x14 -+ SizeofIfmaMsghdr = 0x10 -+ SizeofIfmaMsghdr2 = 0x14 -+ SizeofRtMsghdr = 0x5c -+ SizeofRtMetrics = 0x38 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type IfData struct { -+ Type uint8 -+ Typelen uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Recvquota uint8 -+ Xmitquota uint8 -+ Unused1 uint8 -+ Mtu uint32 -+ Metric uint32 -+ Baudrate uint32 -+ Ipackets uint32 -+ Ierrors uint32 -+ Opackets uint32 -+ Oerrors uint32 -+ Collisions uint32 -+ Ibytes uint32 -+ Obytes uint32 -+ Imcasts uint32 -+ Omcasts uint32 -+ Iqdrops uint32 -+ Noproto uint32 -+ Recvtiming uint32 -+ Xmittiming uint32 -+ Lastchange Timeval -+ Unused2 uint32 -+ Hwassist uint32 -+ Reserved1 uint32 -+ Reserved2 uint32 -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Metric int32 -+} -+ -+type IfmaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type IfmaMsghdr2 struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Refcount int32 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Use int32 -+ Inits uint32 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint32 -+ Mtu uint32 -+ Hopcount uint32 -+ Expire int32 -+ Recvpipe uint32 -+ Sendpipe uint32 -+ Ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Pksent uint32 -+ Filler [4]uint32 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x8 -+ SizeofBpfProgram = 0x8 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x14 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint32 -+ Drop uint32 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp Timeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go -new file mode 100644 -index 0000000..85d56ea ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go -@@ -0,0 +1,457 @@ -+// +build arm64,darwin -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_darwin.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Timeval32 struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev int32 -+ Mode uint16 -+ Nlink uint16 -+ Ino uint64 -+ Uid uint32 -+ Gid uint32 -+ Rdev int32 -+ Pad_cgo_0 [4]byte -+ Atimespec Timespec -+ Mtimespec Timespec -+ Ctimespec Timespec -+ Birthtimespec Timespec -+ Size int64 -+ Blocks int64 -+ Blksize int32 -+ Flags uint32 -+ Gen uint32 -+ Lspare int32 -+ Qspare [2]int64 -+} -+ -+type Statfs_t struct { -+ Bsize uint32 -+ Iosize int32 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Owner uint32 -+ Type uint32 -+ Flags uint32 -+ Fssubtype uint32 -+ Fstypename [16]int8 -+ Mntonname [1024]int8 -+ Mntfromname [1024]int8 -+ Reserved [8]uint32 -+} -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+} -+ -+type Fstore_t struct { -+ Flags uint32 -+ Posmode int32 -+ Offset int64 -+ Length int64 -+ Bytesalloc int64 -+} -+ -+type Radvisory_t struct { -+ Offset int64 -+ Count int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Fbootstraptransfer_t struct { -+ Offset int64 -+ Length uint64 -+ Buffer *byte -+} -+ -+type Log2phys_t struct { -+ Flags uint32 -+ Pad_cgo_0 [8]byte -+ Pad_cgo_1 [8]byte -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Seekoff uint64 -+ Reclen uint16 -+ Namlen uint16 -+ Type uint8 -+ Name [1024]int8 -+ Pad_cgo_0 [3]byte -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen int32 -+ Pad_cgo_1 [4]byte -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex uint32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x14 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x30 -+ SizeofCmsghdr = 0xc -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint64 -+ Filter int16 -+ Flags uint16 -+ Fflags uint32 -+ Data int64 -+ Udata *byte -+} -+ -+type FdSet struct { -+ Bits [32]int32 -+} -+ -+const ( -+ SizeofIfMsghdr = 0x70 -+ SizeofIfData = 0x60 -+ SizeofIfaMsghdr = 0x14 -+ SizeofIfmaMsghdr = 0x10 -+ SizeofIfmaMsghdr2 = 0x14 -+ SizeofRtMsghdr = 0x5c -+ SizeofRtMetrics = 0x38 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type IfData struct { -+ Type uint8 -+ Typelen uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Recvquota uint8 -+ Xmitquota uint8 -+ Unused1 uint8 -+ Mtu uint32 -+ Metric uint32 -+ Baudrate uint32 -+ Ipackets uint32 -+ Ierrors uint32 -+ Opackets uint32 -+ Oerrors uint32 -+ Collisions uint32 -+ Ibytes uint32 -+ Obytes uint32 -+ Imcasts uint32 -+ Omcasts uint32 -+ Iqdrops uint32 -+ Noproto uint32 -+ Recvtiming uint32 -+ Xmittiming uint32 -+ Lastchange Timeval32 -+ Unused2 uint32 -+ Hwassist uint32 -+ Reserved1 uint32 -+ Reserved2 uint32 -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Metric int32 -+} -+ -+type IfmaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type IfmaMsghdr2 struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Refcount int32 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Use int32 -+ Inits uint32 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint32 -+ Mtu uint32 -+ Hopcount uint32 -+ Expire int32 -+ Recvpipe uint32 -+ Sendpipe uint32 -+ Ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Pksent uint32 -+ Filler [4]uint32 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x8 -+ SizeofBpfProgram = 0x10 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x14 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint32 -+ Drop uint32 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Pad_cgo_0 [4]byte -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp Timeval32 -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type Termios struct { -+ Iflag uint64 -+ Oflag uint64 -+ Cflag uint64 -+ Lflag uint64 -+ Cc [20]uint8 -+ Pad_cgo_0 [4]byte -+ Ispeed uint64 -+ Ospeed uint64 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go -new file mode 100644 -index 0000000..8a6f4e1 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go -@@ -0,0 +1,443 @@ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_dragonfly.go -+ -+// +build amd64,dragonfly -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur int64 -+ Max int64 -+} -+ -+type _Gid_t uint32 -+ -+const ( -+ S_IFMT = 0xf000 -+ S_IFIFO = 0x1000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFBLK = 0x6000 -+ S_IFREG = 0x8000 -+ S_IFLNK = 0xa000 -+ S_IFSOCK = 0xc000 -+ S_ISUID = 0x800 -+ S_ISGID = 0x400 -+ S_ISVTX = 0x200 -+ S_IRUSR = 0x100 -+ S_IWUSR = 0x80 -+ S_IXUSR = 0x40 -+) -+ -+type Stat_t struct { -+ Ino uint64 -+ Nlink uint32 -+ Dev uint32 -+ Mode uint16 -+ Padding1 uint16 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint32 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Size int64 -+ Blocks int64 -+ Blksize uint32 -+ Flags uint32 -+ Gen uint32 -+ Lspare int32 -+ Qspare1 int64 -+ Qspare2 int64 -+} -+ -+type Statfs_t struct { -+ Spare2 int64 -+ Bsize int64 -+ Iosize int64 -+ Blocks int64 -+ Bfree int64 -+ Bavail int64 -+ Files int64 -+ Ffree int64 -+ Fsid Fsid -+ Owner uint32 -+ Type int32 -+ Flags int32 -+ Pad_cgo_0 [4]byte -+ Syncwrites int64 -+ Asyncwrites int64 -+ Fstypename [16]int8 -+ Mntonname [80]int8 -+ Syncreads int64 -+ Asyncreads int64 -+ Spares1 int16 -+ Mntfromname [80]int8 -+ Spares2 int16 -+ Pad_cgo_1 [4]byte -+ Spare [2]int64 -+} -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+} -+ -+type Dirent struct { -+ Fileno uint64 -+ Namlen uint16 -+ Type uint8 -+ Unused1 uint8 -+ Unused2 uint32 -+ Name [256]int8 -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+ Rcf uint16 -+ Route [16]uint16 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen int32 -+ Pad_cgo_1 [4]byte -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x36 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x30 -+ SizeofCmsghdr = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint64 -+ Filter int16 -+ Flags uint16 -+ Fflags uint32 -+ Data int64 -+ Udata *byte -+} -+ -+type FdSet struct { -+ Bits [16]uint64 -+} -+ -+const ( -+ SizeofIfMsghdr = 0xb0 -+ SizeofIfData = 0xa0 -+ SizeofIfaMsghdr = 0x14 -+ SizeofIfmaMsghdr = 0x10 -+ SizeofIfAnnounceMsghdr = 0x18 -+ SizeofRtMsghdr = 0x98 -+ SizeofRtMetrics = 0x70 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type IfData struct { -+ Type uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Recvquota uint8 -+ Xmitquota uint8 -+ Pad_cgo_0 [2]byte -+ Mtu uint64 -+ Metric uint64 -+ Link_state uint64 -+ Baudrate uint64 -+ Ipackets uint64 -+ Ierrors uint64 -+ Opackets uint64 -+ Oerrors uint64 -+ Collisions uint64 -+ Ibytes uint64 -+ Obytes uint64 -+ Imcasts uint64 -+ Omcasts uint64 -+ Iqdrops uint64 -+ Noproto uint64 -+ Hwassist uint64 -+ Unused uint64 -+ Lastchange Timeval -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Metric int32 -+} -+ -+type IfmaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type IfAnnounceMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Name [16]int8 -+ What uint16 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Use int32 -+ Inits uint64 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint64 -+ Mtu uint64 -+ Pksent uint64 -+ Expire uint64 -+ Sendpipe uint64 -+ Ssthresh uint64 -+ Rtt uint64 -+ Rttvar uint64 -+ Recvpipe uint64 -+ Hopcount uint64 -+ Mssopt uint16 -+ Pad uint16 -+ Pad_cgo_0 [4]byte -+ Msl uint64 -+ Iwmaxsegs uint64 -+ Iwcapsegs uint64 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x8 -+ SizeofBpfProgram = 0x10 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x20 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint32 -+ Drop uint32 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Pad_cgo_0 [4]byte -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp Timeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [6]byte -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go -new file mode 100644 -index 0000000..8cf3094 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go -@@ -0,0 +1,502 @@ -+// +build 386,freebsd -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_freebsd.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int32 -+ Nsec int32 -+} -+ -+type Timeval struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur int64 -+ Max int64 -+} -+ -+type _Gid_t uint32 -+ -+const ( -+ S_IFMT = 0xf000 -+ S_IFIFO = 0x1000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFBLK = 0x6000 -+ S_IFREG = 0x8000 -+ S_IFLNK = 0xa000 -+ S_IFSOCK = 0xc000 -+ S_ISUID = 0x800 -+ S_ISGID = 0x400 -+ S_ISVTX = 0x200 -+ S_IRUSR = 0x100 -+ S_IWUSR = 0x80 -+ S_IXUSR = 0x40 -+) -+ -+type Stat_t struct { -+ Dev uint32 -+ Ino uint32 -+ Mode uint16 -+ Nlink uint16 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint32 -+ Atimespec Timespec -+ Mtimespec Timespec -+ Ctimespec Timespec -+ Size int64 -+ Blocks int64 -+ Blksize uint32 -+ Flags uint32 -+ Gen uint32 -+ Lspare int32 -+ Birthtimespec Timespec -+ Pad_cgo_0 [8]byte -+} -+ -+type Statfs_t struct { -+ Version uint32 -+ Type uint32 -+ Flags uint64 -+ Bsize uint64 -+ Iosize uint64 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail int64 -+ Files uint64 -+ Ffree int64 -+ Syncwrites uint64 -+ Asyncwrites uint64 -+ Syncreads uint64 -+ Asyncreads uint64 -+ Spare [10]uint64 -+ Namemax uint32 -+ Owner uint32 -+ Fsid Fsid -+ Charspare [80]int8 -+ Fstypename [16]int8 -+ Mntfromname [88]int8 -+ Mntonname [88]int8 -+} -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+ Sysid int32 -+} -+ -+type Dirent struct { -+ Fileno uint32 -+ Reclen uint16 -+ Type uint8 -+ Namlen uint8 -+ Name [256]int8 -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [46]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen int32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x36 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint32 -+ Filter int16 -+ Flags uint16 -+ Fflags uint32 -+ Data int32 -+ Udata *byte -+} -+ -+type FdSet struct { -+ X__fds_bits [32]uint32 -+} -+ -+const ( -+ sizeofIfMsghdr = 0x64 -+ SizeofIfMsghdr = 0x60 -+ sizeofIfData = 0x54 -+ SizeofIfData = 0x50 -+ SizeofIfaMsghdr = 0x14 -+ SizeofIfmaMsghdr = 0x10 -+ SizeofIfAnnounceMsghdr = 0x18 -+ SizeofRtMsghdr = 0x5c -+ SizeofRtMetrics = 0x38 -+) -+ -+type ifMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data ifData -+} -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type ifData struct { -+ Type uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Link_state uint8 -+ Vhid uint8 -+ Baudrate_pf uint8 -+ Datalen uint8 -+ Mtu uint32 -+ Metric uint32 -+ Baudrate uint32 -+ Ipackets uint32 -+ Ierrors uint32 -+ Opackets uint32 -+ Oerrors uint32 -+ Collisions uint32 -+ Ibytes uint32 -+ Obytes uint32 -+ Imcasts uint32 -+ Omcasts uint32 -+ Iqdrops uint32 -+ Noproto uint32 -+ Hwassist uint64 -+ Epoch int32 -+ Lastchange Timeval -+} -+ -+type IfData struct { -+ Type uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Link_state uint8 -+ Spare_char1 uint8 -+ Spare_char2 uint8 -+ Datalen uint8 -+ Mtu uint32 -+ Metric uint32 -+ Baudrate uint32 -+ Ipackets uint32 -+ Ierrors uint32 -+ Opackets uint32 -+ Oerrors uint32 -+ Collisions uint32 -+ Ibytes uint32 -+ Obytes uint32 -+ Imcasts uint32 -+ Omcasts uint32 -+ Iqdrops uint32 -+ Noproto uint32 -+ Hwassist uint32 -+ Epoch int32 -+ Lastchange Timeval -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Metric int32 -+} -+ -+type IfmaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type IfAnnounceMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Name [16]int8 -+ What uint16 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Fmask int32 -+ Inits uint32 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint32 -+ Mtu uint32 -+ Hopcount uint32 -+ Expire uint32 -+ Recvpipe uint32 -+ Sendpipe uint32 -+ Ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Pksent uint32 -+ Weight uint32 -+ Filler [3]uint32 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x8 -+ SizeofBpfZbuf = 0xc -+ SizeofBpfProgram = 0x8 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x14 -+ SizeofBpfZbufHeader = 0x20 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint32 -+ Drop uint32 -+} -+ -+type BpfZbuf struct { -+ Bufa *byte -+ Bufb *byte -+ Buflen uint32 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp Timeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type BpfZbufHeader struct { -+ Kernel_gen uint32 -+ Kernel_len uint32 -+ User_gen uint32 -+ X_bzh_pad [5]uint32 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go -new file mode 100644 -index 0000000..e5feb20 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go -@@ -0,0 +1,505 @@ -+// +build amd64,freebsd -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_freebsd.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur int64 -+ Max int64 -+} -+ -+type _Gid_t uint32 -+ -+const ( -+ S_IFMT = 0xf000 -+ S_IFIFO = 0x1000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFBLK = 0x6000 -+ S_IFREG = 0x8000 -+ S_IFLNK = 0xa000 -+ S_IFSOCK = 0xc000 -+ S_ISUID = 0x800 -+ S_ISGID = 0x400 -+ S_ISVTX = 0x200 -+ S_IRUSR = 0x100 -+ S_IWUSR = 0x80 -+ S_IXUSR = 0x40 -+) -+ -+type Stat_t struct { -+ Dev uint32 -+ Ino uint32 -+ Mode uint16 -+ Nlink uint16 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint32 -+ Atimespec Timespec -+ Mtimespec Timespec -+ Ctimespec Timespec -+ Size int64 -+ Blocks int64 -+ Blksize uint32 -+ Flags uint32 -+ Gen uint32 -+ Lspare int32 -+ Birthtimespec Timespec -+} -+ -+type Statfs_t struct { -+ Version uint32 -+ Type uint32 -+ Flags uint64 -+ Bsize uint64 -+ Iosize uint64 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail int64 -+ Files uint64 -+ Ffree int64 -+ Syncwrites uint64 -+ Asyncwrites uint64 -+ Syncreads uint64 -+ Asyncreads uint64 -+ Spare [10]uint64 -+ Namemax uint32 -+ Owner uint32 -+ Fsid Fsid -+ Charspare [80]int8 -+ Fstypename [16]int8 -+ Mntfromname [88]int8 -+ Mntonname [88]int8 -+} -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+ Sysid int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Dirent struct { -+ Fileno uint32 -+ Reclen uint16 -+ Type uint8 -+ Namlen uint8 -+ Name [256]int8 -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [46]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen int32 -+ Pad_cgo_1 [4]byte -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x36 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x30 -+ SizeofCmsghdr = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint64 -+ Filter int16 -+ Flags uint16 -+ Fflags uint32 -+ Data int64 -+ Udata *byte -+} -+ -+type FdSet struct { -+ X__fds_bits [16]uint64 -+} -+ -+const ( -+ sizeofIfMsghdr = 0xa8 -+ SizeofIfMsghdr = 0xa8 -+ sizeofIfData = 0x98 -+ SizeofIfData = 0x98 -+ SizeofIfaMsghdr = 0x14 -+ SizeofIfmaMsghdr = 0x10 -+ SizeofIfAnnounceMsghdr = 0x18 -+ SizeofRtMsghdr = 0x98 -+ SizeofRtMetrics = 0x70 -+) -+ -+type ifMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data ifData -+} -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type ifData struct { -+ Type uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Link_state uint8 -+ Vhid uint8 -+ Baudrate_pf uint8 -+ Datalen uint8 -+ Mtu uint64 -+ Metric uint64 -+ Baudrate uint64 -+ Ipackets uint64 -+ Ierrors uint64 -+ Opackets uint64 -+ Oerrors uint64 -+ Collisions uint64 -+ Ibytes uint64 -+ Obytes uint64 -+ Imcasts uint64 -+ Omcasts uint64 -+ Iqdrops uint64 -+ Noproto uint64 -+ Hwassist uint64 -+ Epoch int64 -+ Lastchange Timeval -+} -+ -+type IfData struct { -+ Type uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Link_state uint8 -+ Spare_char1 uint8 -+ Spare_char2 uint8 -+ Datalen uint8 -+ Mtu uint64 -+ Metric uint64 -+ Baudrate uint64 -+ Ipackets uint64 -+ Ierrors uint64 -+ Opackets uint64 -+ Oerrors uint64 -+ Collisions uint64 -+ Ibytes uint64 -+ Obytes uint64 -+ Imcasts uint64 -+ Omcasts uint64 -+ Iqdrops uint64 -+ Noproto uint64 -+ Hwassist uint64 -+ Epoch int64 -+ Lastchange Timeval -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Metric int32 -+} -+ -+type IfmaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type IfAnnounceMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Name [16]int8 -+ What uint16 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Fmask int32 -+ Inits uint64 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint64 -+ Mtu uint64 -+ Hopcount uint64 -+ Expire uint64 -+ Recvpipe uint64 -+ Sendpipe uint64 -+ Ssthresh uint64 -+ Rtt uint64 -+ Rttvar uint64 -+ Pksent uint64 -+ Weight uint64 -+ Filler [3]uint64 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x8 -+ SizeofBpfZbuf = 0x18 -+ SizeofBpfProgram = 0x10 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x20 -+ SizeofBpfZbufHeader = 0x20 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint32 -+ Drop uint32 -+} -+ -+type BpfZbuf struct { -+ Bufa *byte -+ Bufb *byte -+ Buflen uint64 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Pad_cgo_0 [4]byte -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp Timeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [6]byte -+} -+ -+type BpfZbufHeader struct { -+ Kernel_gen uint32 -+ Kernel_len uint32 -+ User_gen uint32 -+ X_bzh_pad [5]uint32 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go -new file mode 100644 -index 0000000..5472b54 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go -@@ -0,0 +1,497 @@ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -fsigned-char types_freebsd.go -+ -+// +build arm,freebsd -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur int64 -+ Max int64 -+} -+ -+type _Gid_t uint32 -+ -+const ( -+ S_IFMT = 0xf000 -+ S_IFIFO = 0x1000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFBLK = 0x6000 -+ S_IFREG = 0x8000 -+ S_IFLNK = 0xa000 -+ S_IFSOCK = 0xc000 -+ S_ISUID = 0x800 -+ S_ISGID = 0x400 -+ S_ISVTX = 0x200 -+ S_IRUSR = 0x100 -+ S_IWUSR = 0x80 -+ S_IXUSR = 0x40 -+) -+ -+type Stat_t struct { -+ Dev uint32 -+ Ino uint32 -+ Mode uint16 -+ Nlink uint16 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint32 -+ Atimespec Timespec -+ Mtimespec Timespec -+ Ctimespec Timespec -+ Size int64 -+ Blocks int64 -+ Blksize uint32 -+ Flags uint32 -+ Gen uint32 -+ Lspare int32 -+ Birthtimespec Timespec -+} -+ -+type Statfs_t struct { -+ Version uint32 -+ Type uint32 -+ Flags uint64 -+ Bsize uint64 -+ Iosize uint64 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail int64 -+ Files uint64 -+ Ffree int64 -+ Syncwrites uint64 -+ Asyncwrites uint64 -+ Syncreads uint64 -+ Asyncreads uint64 -+ Spare [10]uint64 -+ Namemax uint32 -+ Owner uint32 -+ Fsid Fsid -+ Charspare [80]int8 -+ Fstypename [16]int8 -+ Mntfromname [88]int8 -+ Mntonname [88]int8 -+} -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+ Sysid int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Dirent struct { -+ Fileno uint32 -+ Reclen uint16 -+ Type uint8 -+ Namlen uint8 -+ Name [256]int8 -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [46]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen int32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x36 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint32 -+ Filter int16 -+ Flags uint16 -+ Fflags uint32 -+ Data int32 -+ Udata *byte -+} -+ -+type FdSet struct { -+ X__fds_bits [32]uint32 -+} -+ -+const ( -+ sizeofIfMsghdr = 0x70 -+ SizeofIfMsghdr = 0x70 -+ sizeofIfData = 0x60 -+ SizeofIfData = 0x60 -+ SizeofIfaMsghdr = 0x14 -+ SizeofIfmaMsghdr = 0x10 -+ SizeofIfAnnounceMsghdr = 0x18 -+ SizeofRtMsghdr = 0x5c -+ SizeofRtMetrics = 0x38 -+) -+ -+type ifMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data ifData -+} -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type ifData struct { -+ Type uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Link_state uint8 -+ Vhid uint8 -+ Baudrate_pf uint8 -+ Datalen uint8 -+ Mtu uint32 -+ Metric uint32 -+ Baudrate uint32 -+ Ipackets uint32 -+ Ierrors uint32 -+ Opackets uint32 -+ Oerrors uint32 -+ Collisions uint32 -+ Ibytes uint32 -+ Obytes uint32 -+ Imcasts uint32 -+ Omcasts uint32 -+ Iqdrops uint32 -+ Noproto uint32 -+ Hwassist uint64 -+ Epoch int64 -+ Lastchange Timeval -+} -+ -+type IfData struct { -+ Type uint8 -+ Physical uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Link_state uint8 -+ Spare_char1 uint8 -+ Spare_char2 uint8 -+ Datalen uint8 -+ Mtu uint32 -+ Metric uint32 -+ Baudrate uint32 -+ Ipackets uint32 -+ Ierrors uint32 -+ Opackets uint32 -+ Oerrors uint32 -+ Collisions uint32 -+ Ibytes uint32 -+ Obytes uint32 -+ Imcasts uint32 -+ Omcasts uint32 -+ Iqdrops uint32 -+ Noproto uint32 -+ Hwassist uint32 -+ Pad_cgo_0 [4]byte -+ Epoch int64 -+ Lastchange Timeval -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Metric int32 -+} -+ -+type IfmaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type IfAnnounceMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Name [16]int8 -+ What uint16 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Fmask int32 -+ Inits uint32 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint32 -+ Mtu uint32 -+ Hopcount uint32 -+ Expire uint32 -+ Recvpipe uint32 -+ Sendpipe uint32 -+ Ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Pksent uint32 -+ Weight uint32 -+ Filler [3]uint32 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x8 -+ SizeofBpfZbuf = 0xc -+ SizeofBpfProgram = 0x8 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x20 -+ SizeofBpfZbufHeader = 0x20 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint32 -+ Drop uint32 -+} -+ -+type BpfZbuf struct { -+ Bufa *byte -+ Bufb *byte -+ Buflen uint32 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp Timeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [6]byte -+} -+ -+type BpfZbufHeader struct { -+ Kernel_gen uint32 -+ Kernel_len uint32 -+ User_gen uint32 -+ X_bzh_pad [5]uint32 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go -new file mode 100644 -index 0000000..99dfd58 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go -@@ -0,0 +1,653 @@ -+// +build 386,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_linux.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int32 -+ Nsec int32 -+} -+ -+type Timeval struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Offset int32 -+ Freq int32 -+ Maxerror int32 -+ Esterror int32 -+ Status int32 -+ Constant int32 -+ Precision int32 -+ Tolerance int32 -+ Time Timeval -+ Tick int32 -+ Ppsfreq int32 -+ Jitter int32 -+ Shift int32 -+ Stabil int32 -+ Jitcnt int32 -+ Calcnt int32 -+ Errcnt int32 -+ Stbcnt int32 -+ Tai int32 -+ Pad_cgo_0 [44]byte -+} -+ -+type Time_t int32 -+ -+type Tms struct { -+ Utime int32 -+ Stime int32 -+ Cutime int32 -+ Cstime int32 -+} -+ -+type Utimbuf struct { -+ Actime int32 -+ Modtime int32 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ X__pad1 uint16 -+ Pad_cgo_0 [2]byte -+ X__st_ino uint32 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint64 -+ X__pad2 uint16 -+ Pad_cgo_1 [2]byte -+ Size int64 -+ Blksize int32 -+ Blocks int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Ino uint64 -+} -+ -+type Statfs_t struct { -+ Type int32 -+ Bsize int32 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Namelen int32 -+ Frsize int32 -+ Flags int32 -+ Spare [4]int32 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]int8 -+ Pad_cgo_0 [1]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Start int64 -+ Len int64 -+ Pid int32 -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen uint32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+ X__cmsg_data [0]uint8 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x1d -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x8 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [2]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+ Name [0]int8 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Ebx int32 -+ Ecx int32 -+ Edx int32 -+ Esi int32 -+ Edi int32 -+ Ebp int32 -+ Eax int32 -+ Xds int32 -+ Xes int32 -+ Xfs int32 -+ Xgs int32 -+ Orig_eax int32 -+ Eip int32 -+ Xcs int32 -+ Eflags int32 -+ Esp int32 -+ Xss int32 -+} -+ -+type FdSet struct { -+ Bits [32]int32 -+} -+ -+type Sysinfo_t struct { -+ Uptime int32 -+ Loads [3]uint32 -+ Totalram uint32 -+ Freeram uint32 -+ Sharedram uint32 -+ Bufferram uint32 -+ Totalswap uint32 -+ Freeswap uint32 -+ Procs uint16 -+ Pad uint16 -+ Totalhigh uint32 -+ Freehigh uint32 -+ Unit uint32 -+ X_f [8]int8 -+} -+ -+type Utsname struct { -+ Sysname [65]int8 -+ Nodename [65]int8 -+ Release [65]int8 -+ Version [65]int8 -+ Machine [65]int8 -+ Domainname [65]int8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Tinode uint32 -+ Fname [6]int8 -+ Fpack [6]int8 -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [16]uint64 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [19]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go -new file mode 100644 -index 0000000..c9e1e64 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go -@@ -0,0 +1,671 @@ -+// +build amd64,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_linux.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Pad_cgo_0 [4]byte -+ Offset int64 -+ Freq int64 -+ Maxerror int64 -+ Esterror int64 -+ Status int32 -+ Pad_cgo_1 [4]byte -+ Constant int64 -+ Precision int64 -+ Tolerance int64 -+ Time Timeval -+ Tick int64 -+ Ppsfreq int64 -+ Jitter int64 -+ Shift int32 -+ Pad_cgo_2 [4]byte -+ Stabil int64 -+ Jitcnt int64 -+ Calcnt int64 -+ Errcnt int64 -+ Stbcnt int64 -+ Tai int32 -+ Pad_cgo_3 [44]byte -+} -+ -+type Time_t int64 -+ -+type Tms struct { -+ Utime int64 -+ Stime int64 -+ Cutime int64 -+ Cstime int64 -+} -+ -+type Utimbuf struct { -+ Actime int64 -+ Modtime int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ Ino uint64 -+ Nlink uint64 -+ Mode uint32 -+ Uid uint32 -+ Gid uint32 -+ X__pad0 int32 -+ Rdev uint64 -+ Size int64 -+ Blksize int64 -+ Blocks int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ X__unused [3]int64 -+} -+ -+type Statfs_t struct { -+ Type int64 -+ Bsize int64 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Namelen int64 -+ Frsize int64 -+ Flags int64 -+ Spare [4]int64 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]int8 -+ Pad_cgo_0 [5]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ Pad_cgo_1 [4]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen uint64 -+ Control *byte -+ Controllen uint64 -+ Flags int32 -+ Pad_cgo_1 [4]byte -+} -+ -+type Cmsghdr struct { -+ Len uint64 -+ Level int32 -+ Type int32 -+ X__cmsg_data [0]uint8 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x38 -+ SizeofCmsghdr = 0x10 -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x1d -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x10 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [6]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+ Name [0]int8 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ R15 uint64 -+ R14 uint64 -+ R13 uint64 -+ R12 uint64 -+ Rbp uint64 -+ Rbx uint64 -+ R11 uint64 -+ R10 uint64 -+ R9 uint64 -+ R8 uint64 -+ Rax uint64 -+ Rcx uint64 -+ Rdx uint64 -+ Rsi uint64 -+ Rdi uint64 -+ Orig_rax uint64 -+ Rip uint64 -+ Cs uint64 -+ Eflags uint64 -+ Rsp uint64 -+ Ss uint64 -+ Fs_base uint64 -+ Gs_base uint64 -+ Ds uint64 -+ Es uint64 -+ Fs uint64 -+ Gs uint64 -+} -+ -+type FdSet struct { -+ Bits [16]int64 -+} -+ -+type Sysinfo_t struct { -+ Uptime int64 -+ Loads [3]uint64 -+ Totalram uint64 -+ Freeram uint64 -+ Sharedram uint64 -+ Bufferram uint64 -+ Totalswap uint64 -+ Freeswap uint64 -+ Procs uint16 -+ Pad uint16 -+ Pad_cgo_0 [4]byte -+ Totalhigh uint64 -+ Freehigh uint64 -+ Unit uint32 -+ X_f [0]int8 -+ Pad_cgo_1 [4]byte -+} -+ -+type Utsname struct { -+ Sysname [65]int8 -+ Nodename [65]int8 -+ Release [65]int8 -+ Version [65]int8 -+ Machine [65]int8 -+ Domainname [65]int8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Pad_cgo_0 [4]byte -+ Tinode uint64 -+ Fname [6]int8 -+ Fpack [6]int8 -+ Pad_cgo_1 [4]byte -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [16]uint64 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [19]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go -new file mode 100644 -index 0000000..4bfba2a ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go -@@ -0,0 +1,642 @@ -+// +build arm,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_linux.go | go run mkpost.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int32 -+ Nsec int32 -+} -+ -+type Timeval struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Offset int32 -+ Freq int32 -+ Maxerror int32 -+ Esterror int32 -+ Status int32 -+ Constant int32 -+ Precision int32 -+ Tolerance int32 -+ Time Timeval -+ Tick int32 -+ Ppsfreq int32 -+ Jitter int32 -+ Shift int32 -+ Stabil int32 -+ Jitcnt int32 -+ Calcnt int32 -+ Errcnt int32 -+ Stbcnt int32 -+ Tai int32 -+ Pad_cgo_0 [44]byte -+} -+ -+type Time_t int32 -+ -+type Tms struct { -+ Utime int32 -+ Stime int32 -+ Cutime int32 -+ Cstime int32 -+} -+ -+type Utimbuf struct { -+ Actime int32 -+ Modtime int32 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ X__pad1 uint16 -+ Pad_cgo_0 [2]byte -+ X__st_ino uint32 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint64 -+ X__pad2 uint16 -+ Pad_cgo_1 [6]byte -+ Size int64 -+ Blksize int32 -+ Pad_cgo_2 [4]byte -+ Blocks int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Ino uint64 -+} -+ -+type Statfs_t struct { -+ Type int32 -+ Bsize int32 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Namelen int32 -+ Frsize int32 -+ Flags int32 -+ Spare [4]int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]uint8 -+ Pad_cgo_0 [5]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ Pad_cgo_1 [4]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]uint8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]uint8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen uint32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+ X__cmsg_data [0]uint8 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x1d -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x8 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [2]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+ Name [0]uint8 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Uregs [18]uint32 -+} -+ -+type FdSet struct { -+ Bits [32]int32 -+} -+ -+type Sysinfo_t struct { -+ Uptime int32 -+ Loads [3]uint32 -+ Totalram uint32 -+ Freeram uint32 -+ Sharedram uint32 -+ Bufferram uint32 -+ Totalswap uint32 -+ Freeswap uint32 -+ Procs uint16 -+ Pad uint16 -+ Totalhigh uint32 -+ Freehigh uint32 -+ Unit uint32 -+ X_f [8]uint8 -+} -+ -+type Utsname struct { -+ Sysname [65]uint8 -+ Nodename [65]uint8 -+ Release [65]uint8 -+ Version [65]uint8 -+ Machine [65]uint8 -+ Domainname [65]uint8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Tinode uint32 -+ Fname [6]uint8 -+ Fpack [6]uint8 -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ PadFd int32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [16]uint64 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [19]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go -new file mode 100644 -index 0000000..e58c500 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go -@@ -0,0 +1,650 @@ -+// +build arm64,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -fsigned-char types_linux.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Pad_cgo_0 [4]byte -+ Offset int64 -+ Freq int64 -+ Maxerror int64 -+ Esterror int64 -+ Status int32 -+ Pad_cgo_1 [4]byte -+ Constant int64 -+ Precision int64 -+ Tolerance int64 -+ Time Timeval -+ Tick int64 -+ Ppsfreq int64 -+ Jitter int64 -+ Shift int32 -+ Pad_cgo_2 [4]byte -+ Stabil int64 -+ Jitcnt int64 -+ Calcnt int64 -+ Errcnt int64 -+ Stbcnt int64 -+ Tai int32 -+ Pad_cgo_3 [44]byte -+} -+ -+type Time_t int64 -+ -+type Tms struct { -+ Utime int64 -+ Stime int64 -+ Cutime int64 -+ Cstime int64 -+} -+ -+type Utimbuf struct { -+ Actime int64 -+ Modtime int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ Ino uint64 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint64 -+ X__pad1 uint64 -+ Size int64 -+ Blksize int32 -+ X__pad2 int32 -+ Blocks int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ X__glibc_reserved [2]int32 -+} -+ -+type Statfs_t struct { -+ Type int64 -+ Bsize int64 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Namelen int64 -+ Frsize int64 -+ Flags int64 -+ Spare [4]int64 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]int8 -+ Pad_cgo_0 [5]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ Pad_cgo_1 [4]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen uint64 -+ Control *byte -+ Controllen uint64 -+ Flags int32 -+ Pad_cgo_1 [4]byte -+} -+ -+type Cmsghdr struct { -+ Len uint64 -+ Level int32 -+ Type int32 -+ X__cmsg_data [0]uint8 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x38 -+ SizeofCmsghdr = 0x10 -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x22 -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x10 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [6]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+ Name [0]int8 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Regs [31]uint64 -+ Sp uint64 -+ Pc uint64 -+ Pstate uint64 -+} -+ -+type FdSet struct { -+ Bits [16]int64 -+} -+ -+type Sysinfo_t struct { -+ Uptime int64 -+ Loads [3]uint64 -+ Totalram uint64 -+ Freeram uint64 -+ Sharedram uint64 -+ Bufferram uint64 -+ Totalswap uint64 -+ Freeswap uint64 -+ Procs uint16 -+ Pad uint16 -+ Pad_cgo_0 [4]byte -+ Totalhigh uint64 -+ Freehigh uint64 -+ Unit uint32 -+ X_f [0]int8 -+ Pad_cgo_1 [4]byte -+} -+ -+type Utsname struct { -+ Sysname [65]int8 -+ Nodename [65]int8 -+ Release [65]int8 -+ Version [65]int8 -+ Machine [65]int8 -+ Domainname [65]int8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Pad_cgo_0 [4]byte -+ Tinode uint64 -+ Fname [6]int8 -+ Fpack [6]int8 -+ Pad_cgo_1 [4]byte -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ PadFd int32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [16]uint64 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [19]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go -new file mode 100644 -index 0000000..a960085 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go -@@ -0,0 +1,660 @@ -+// +build mips,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_linux.go | go run mkpost.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int32 -+ Nsec int32 -+} -+ -+type Timeval struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Offset int32 -+ Freq int32 -+ Maxerror int32 -+ Esterror int32 -+ Status int32 -+ Constant int32 -+ Precision int32 -+ Tolerance int32 -+ Time Timeval -+ Tick int32 -+ Ppsfreq int32 -+ Jitter int32 -+ Shift int32 -+ Stabil int32 -+ Jitcnt int32 -+ Calcnt int32 -+ Errcnt int32 -+ Stbcnt int32 -+ Tai int32 -+ Pad_cgo_0 [44]byte -+} -+ -+type Time_t int32 -+ -+type Tms struct { -+ Utime int32 -+ Stime int32 -+ Cutime int32 -+ Cstime int32 -+} -+ -+type Utimbuf struct { -+ Actime int32 -+ Modtime int32 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint32 -+ Pad1 [3]int32 -+ Ino uint64 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint32 -+ Pad2 [3]int32 -+ Size int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Blksize int32 -+ Pad4 int32 -+ Blocks int64 -+ Pad5 [14]int32 -+} -+ -+type Statfs_t struct { -+ Type int32 -+ Bsize int32 -+ Frsize int32 -+ Pad_cgo_0 [4]byte -+ Blocks uint64 -+ Bfree uint64 -+ Files uint64 -+ Ffree uint64 -+ Bavail uint64 -+ Fsid Fsid -+ Namelen int32 -+ Flags int32 -+ Spare [5]int32 -+ Pad_cgo_1 [4]byte -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]int8 -+ Pad_cgo_0 [5]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ Pad_cgo_1 [4]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen uint32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x1d -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x8 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [2]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Regs [109]uint32 -+ U_tsize uint32 -+ U_dsize uint32 -+ U_ssize uint32 -+ Start_code uint32 -+ Start_data uint32 -+ Start_stack uint32 -+ Signal int32 -+ U_ar0 *byte -+ Magic uint32 -+ U_comm [32]int8 -+} -+ -+type ptracePsw struct { -+} -+ -+type ptraceFpregs struct { -+} -+ -+type ptracePer struct { -+} -+ -+type FdSet struct { -+ Bits [32]int32 -+} -+ -+type Sysinfo_t struct { -+ Uptime int32 -+ Loads [3]uint32 -+ Totalram uint32 -+ Freeram uint32 -+ Sharedram uint32 -+ Bufferram uint32 -+ Totalswap uint32 -+ Freeswap uint32 -+ Procs uint16 -+ Pad uint16 -+ Totalhigh uint32 -+ Freehigh uint32 -+ Unit uint32 -+ X_f [8]int8 -+} -+ -+type Utsname struct { -+ Sysname [65]int8 -+ Nodename [65]int8 -+ Release [65]int8 -+ Version [65]int8 -+ Machine [65]int8 -+ Domainname [65]int8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Tinode uint32 -+ Fname [6]int8 -+ Fpack [6]int8 -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ PadFd int32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [32]uint32 -+} -+ -+const _SC_PAGESIZE = 0x1e -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [23]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go -new file mode 100644 -index 0000000..9d46a62 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go -@@ -0,0 +1,653 @@ -+// +build mips64,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_linux.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Pad_cgo_0 [4]byte -+ Offset int64 -+ Freq int64 -+ Maxerror int64 -+ Esterror int64 -+ Status int32 -+ Pad_cgo_1 [4]byte -+ Constant int64 -+ Precision int64 -+ Tolerance int64 -+ Time Timeval -+ Tick int64 -+ Ppsfreq int64 -+ Jitter int64 -+ Shift int32 -+ Pad_cgo_2 [4]byte -+ Stabil int64 -+ Jitcnt int64 -+ Calcnt int64 -+ Errcnt int64 -+ Stbcnt int64 -+ Tai int32 -+ Pad_cgo_3 [44]byte -+} -+ -+type Time_t int64 -+ -+type Tms struct { -+ Utime int64 -+ Stime int64 -+ Cutime int64 -+ Cstime int64 -+} -+ -+type Utimbuf struct { -+ Actime int64 -+ Modtime int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint32 -+ Pad1 [3]int32 -+ Ino uint64 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint32 -+ Pad2 [3]uint32 -+ Size int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Blksize uint32 -+ Pad4 uint32 -+ Blocks int64 -+} -+ -+type Statfs_t struct { -+ Type int64 -+ Bsize int64 -+ Frsize int64 -+ Blocks uint64 -+ Bfree uint64 -+ Files uint64 -+ Ffree uint64 -+ Bavail uint64 -+ Fsid Fsid -+ Namelen int64 -+ Flags int64 -+ Spare [5]int64 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]int8 -+ Pad_cgo_0 [5]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ Pad_cgo_1 [4]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen uint64 -+ Control *byte -+ Controllen uint64 -+ Flags int32 -+ Pad_cgo_1 [4]byte -+} -+ -+type Cmsghdr struct { -+ Len uint64 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x38 -+ SizeofCmsghdr = 0x10 -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x27 -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x10 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [6]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Regs [102]uint64 -+ U_tsize uint64 -+ U_dsize uint64 -+ U_ssize uint64 -+ Start_code uint64 -+ Start_data uint64 -+ Start_stack uint64 -+ Signal int64 -+ U_ar0 uint64 -+ Magic uint64 -+ U_comm [32]int8 -+} -+ -+type FdSet struct { -+ Bits [16]int64 -+} -+ -+type Sysinfo_t struct { -+ Uptime int64 -+ Loads [3]uint64 -+ Totalram uint64 -+ Freeram uint64 -+ Sharedram uint64 -+ Bufferram uint64 -+ Totalswap uint64 -+ Freeswap uint64 -+ Procs uint16 -+ Pad uint16 -+ Pad_cgo_0 [4]byte -+ Totalhigh uint64 -+ Freehigh uint64 -+ Unit uint32 -+ X_f [0]int8 -+ Pad_cgo_1 [4]byte -+} -+ -+type Utsname struct { -+ Sysname [65]int8 -+ Nodename [65]int8 -+ Release [65]int8 -+ Version [65]int8 -+ Machine [65]int8 -+ Domainname [65]int8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Pad_cgo_0 [4]byte -+ Tinode uint64 -+ Fname [6]int8 -+ Fpack [6]int8 -+ Pad_cgo_1 [4]byte -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [16]uint64 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [32]uint8 -+ Pad_cgo_0 [3]byte -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go -new file mode 100644 -index 0000000..267bfe9 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go -@@ -0,0 +1,653 @@ -+// +build mips64le,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_linux.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Pad_cgo_0 [4]byte -+ Offset int64 -+ Freq int64 -+ Maxerror int64 -+ Esterror int64 -+ Status int32 -+ Pad_cgo_1 [4]byte -+ Constant int64 -+ Precision int64 -+ Tolerance int64 -+ Time Timeval -+ Tick int64 -+ Ppsfreq int64 -+ Jitter int64 -+ Shift int32 -+ Pad_cgo_2 [4]byte -+ Stabil int64 -+ Jitcnt int64 -+ Calcnt int64 -+ Errcnt int64 -+ Stbcnt int64 -+ Tai int32 -+ Pad_cgo_3 [44]byte -+} -+ -+type Time_t int64 -+ -+type Tms struct { -+ Utime int64 -+ Stime int64 -+ Cutime int64 -+ Cstime int64 -+} -+ -+type Utimbuf struct { -+ Actime int64 -+ Modtime int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint32 -+ Pad1 [3]int32 -+ Ino uint64 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint32 -+ Pad2 [3]uint32 -+ Size int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Blksize uint32 -+ Pad4 uint32 -+ Blocks int64 -+} -+ -+type Statfs_t struct { -+ Type int64 -+ Bsize int64 -+ Frsize int64 -+ Blocks uint64 -+ Bfree uint64 -+ Files uint64 -+ Ffree uint64 -+ Bavail uint64 -+ Fsid Fsid -+ Namelen int64 -+ Flags int64 -+ Spare [5]int64 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]int8 -+ Pad_cgo_0 [5]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ Pad_cgo_1 [4]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen uint64 -+ Control *byte -+ Controllen uint64 -+ Flags int32 -+ Pad_cgo_1 [4]byte -+} -+ -+type Cmsghdr struct { -+ Len uint64 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x38 -+ SizeofCmsghdr = 0x10 -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x27 -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x10 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [6]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Regs [102]uint64 -+ U_tsize uint64 -+ U_dsize uint64 -+ U_ssize uint64 -+ Start_code uint64 -+ Start_data uint64 -+ Start_stack uint64 -+ Signal int64 -+ U_ar0 uint64 -+ Magic uint64 -+ U_comm [32]int8 -+} -+ -+type FdSet struct { -+ Bits [16]int64 -+} -+ -+type Sysinfo_t struct { -+ Uptime int64 -+ Loads [3]uint64 -+ Totalram uint64 -+ Freeram uint64 -+ Sharedram uint64 -+ Bufferram uint64 -+ Totalswap uint64 -+ Freeswap uint64 -+ Procs uint16 -+ Pad uint16 -+ Pad_cgo_0 [4]byte -+ Totalhigh uint64 -+ Freehigh uint64 -+ Unit uint32 -+ X_f [0]int8 -+ Pad_cgo_1 [4]byte -+} -+ -+type Utsname struct { -+ Sysname [65]int8 -+ Nodename [65]int8 -+ Release [65]int8 -+ Version [65]int8 -+ Machine [65]int8 -+ Domainname [65]int8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Pad_cgo_0 [4]byte -+ Tinode uint64 -+ Fname [6]int8 -+ Fpack [6]int8 -+ Pad_cgo_1 [4]byte -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [16]uint64 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [32]uint8 -+ Pad_cgo_0 [3]byte -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go -new file mode 100644 -index 0000000..950515a ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go -@@ -0,0 +1,660 @@ -+// +build mipsle,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_linux.go | go run mkpost.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int32 -+ Nsec int32 -+} -+ -+type Timeval struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Offset int32 -+ Freq int32 -+ Maxerror int32 -+ Esterror int32 -+ Status int32 -+ Constant int32 -+ Precision int32 -+ Tolerance int32 -+ Time Timeval -+ Tick int32 -+ Ppsfreq int32 -+ Jitter int32 -+ Shift int32 -+ Stabil int32 -+ Jitcnt int32 -+ Calcnt int32 -+ Errcnt int32 -+ Stbcnt int32 -+ Tai int32 -+ Pad_cgo_0 [44]byte -+} -+ -+type Time_t int32 -+ -+type Tms struct { -+ Utime int32 -+ Stime int32 -+ Cutime int32 -+ Cstime int32 -+} -+ -+type Utimbuf struct { -+ Actime int32 -+ Modtime int32 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint32 -+ Pad1 [3]int32 -+ Ino uint64 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint32 -+ Pad2 [3]int32 -+ Size int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Blksize int32 -+ Pad4 int32 -+ Blocks int64 -+ Pad5 [14]int32 -+} -+ -+type Statfs_t struct { -+ Type int32 -+ Bsize int32 -+ Frsize int32 -+ Pad_cgo_0 [4]byte -+ Blocks uint64 -+ Bfree uint64 -+ Files uint64 -+ Ffree uint64 -+ Bavail uint64 -+ Fsid Fsid -+ Namelen int32 -+ Flags int32 -+ Spare [5]int32 -+ Pad_cgo_1 [4]byte -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]int8 -+ Pad_cgo_0 [5]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ Pad_cgo_1 [4]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen uint32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x2a -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x8 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [2]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Regs [109]uint32 -+ U_tsize uint32 -+ U_dsize uint32 -+ U_ssize uint32 -+ Start_code uint32 -+ Start_data uint32 -+ Start_stack uint32 -+ Signal int32 -+ U_ar0 *byte -+ Magic uint32 -+ U_comm [32]int8 -+} -+ -+type ptracePsw struct { -+} -+ -+type ptraceFpregs struct { -+} -+ -+type ptracePer struct { -+} -+ -+type FdSet struct { -+ Bits [32]int32 -+} -+ -+type Sysinfo_t struct { -+ Uptime int32 -+ Loads [3]uint32 -+ Totalram uint32 -+ Freeram uint32 -+ Sharedram uint32 -+ Bufferram uint32 -+ Totalswap uint32 -+ Freeswap uint32 -+ Procs uint16 -+ Pad uint16 -+ Totalhigh uint32 -+ Freehigh uint32 -+ Unit uint32 -+ X_f [8]int8 -+} -+ -+type Utsname struct { -+ Sysname [65]int8 -+ Nodename [65]int8 -+ Release [65]int8 -+ Version [65]int8 -+ Machine [65]int8 -+ Domainname [65]int8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Tinode uint32 -+ Fname [6]int8 -+ Fpack [6]int8 -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ PadFd int32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [32]uint32 -+} -+ -+const _SC_PAGESIZE = 0x1e -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [23]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go -new file mode 100644 -index 0000000..88538cb ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go -@@ -0,0 +1,660 @@ -+// +build ppc64,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_linux.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Pad_cgo_0 [4]byte -+ Offset int64 -+ Freq int64 -+ Maxerror int64 -+ Esterror int64 -+ Status int32 -+ Pad_cgo_1 [4]byte -+ Constant int64 -+ Precision int64 -+ Tolerance int64 -+ Time Timeval -+ Tick int64 -+ Ppsfreq int64 -+ Jitter int64 -+ Shift int32 -+ Pad_cgo_2 [4]byte -+ Stabil int64 -+ Jitcnt int64 -+ Calcnt int64 -+ Errcnt int64 -+ Stbcnt int64 -+ Tai int32 -+ Pad_cgo_3 [44]byte -+} -+ -+type Time_t int64 -+ -+type Tms struct { -+ Utime int64 -+ Stime int64 -+ Cutime int64 -+ Cstime int64 -+} -+ -+type Utimbuf struct { -+ Actime int64 -+ Modtime int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ Ino uint64 -+ Nlink uint64 -+ Mode uint32 -+ Uid uint32 -+ Gid uint32 -+ X__pad2 int32 -+ Rdev uint64 -+ Size int64 -+ Blksize int64 -+ Blocks int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ X__glibc_reserved4 uint64 -+ X__glibc_reserved5 uint64 -+ X__glibc_reserved6 uint64 -+} -+ -+type Statfs_t struct { -+ Type int64 -+ Bsize int64 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Namelen int64 -+ Frsize int64 -+ Flags int64 -+ Spare [4]int64 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]uint8 -+ Pad_cgo_0 [5]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ Pad_cgo_1 [4]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]uint8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]uint8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen uint64 -+ Control *byte -+ Controllen uint64 -+ Flags int32 -+ Pad_cgo_1 [4]byte -+} -+ -+type Cmsghdr struct { -+ Len uint64 -+ Level int32 -+ Type int32 -+ X__cmsg_data [0]uint8 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x38 -+ SizeofCmsghdr = 0x10 -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x23 -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x10 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [6]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+ Name [0]uint8 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Gpr [32]uint64 -+ Nip uint64 -+ Msr uint64 -+ Orig_gpr3 uint64 -+ Ctr uint64 -+ Link uint64 -+ Xer uint64 -+ Ccr uint64 -+ Softe uint64 -+ Trap uint64 -+ Dar uint64 -+ Dsisr uint64 -+ Result uint64 -+} -+ -+type FdSet struct { -+ Bits [16]int64 -+} -+ -+type Sysinfo_t struct { -+ Uptime int64 -+ Loads [3]uint64 -+ Totalram uint64 -+ Freeram uint64 -+ Sharedram uint64 -+ Bufferram uint64 -+ Totalswap uint64 -+ Freeswap uint64 -+ Procs uint16 -+ Pad uint16 -+ Pad_cgo_0 [4]byte -+ Totalhigh uint64 -+ Freehigh uint64 -+ Unit uint32 -+ X_f [0]uint8 -+ Pad_cgo_1 [4]byte -+} -+ -+type Utsname struct { -+ Sysname [65]uint8 -+ Nodename [65]uint8 -+ Release [65]uint8 -+ Version [65]uint8 -+ Machine [65]uint8 -+ Domainname [65]uint8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Pad_cgo_0 [4]byte -+ Tinode uint64 -+ Fname [6]uint8 -+ Fpack [6]uint8 -+ Pad_cgo_1 [4]byte -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ X_padFd int32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [16]uint64 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [19]uint8 -+ Line uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go -new file mode 100644 -index 0000000..2f63bc0 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go -@@ -0,0 +1,660 @@ -+// +build ppc64le,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_linux.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Pad_cgo_0 [4]byte -+ Offset int64 -+ Freq int64 -+ Maxerror int64 -+ Esterror int64 -+ Status int32 -+ Pad_cgo_1 [4]byte -+ Constant int64 -+ Precision int64 -+ Tolerance int64 -+ Time Timeval -+ Tick int64 -+ Ppsfreq int64 -+ Jitter int64 -+ Shift int32 -+ Pad_cgo_2 [4]byte -+ Stabil int64 -+ Jitcnt int64 -+ Calcnt int64 -+ Errcnt int64 -+ Stbcnt int64 -+ Tai int32 -+ Pad_cgo_3 [44]byte -+} -+ -+type Time_t int64 -+ -+type Tms struct { -+ Utime int64 -+ Stime int64 -+ Cutime int64 -+ Cstime int64 -+} -+ -+type Utimbuf struct { -+ Actime int64 -+ Modtime int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ Ino uint64 -+ Nlink uint64 -+ Mode uint32 -+ Uid uint32 -+ Gid uint32 -+ X__pad2 int32 -+ Rdev uint64 -+ Size int64 -+ Blksize int64 -+ Blocks int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ X__glibc_reserved4 uint64 -+ X__glibc_reserved5 uint64 -+ X__glibc_reserved6 uint64 -+} -+ -+type Statfs_t struct { -+ Type int64 -+ Bsize int64 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Namelen int64 -+ Frsize int64 -+ Flags int64 -+ Spare [4]int64 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]uint8 -+ Pad_cgo_0 [5]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ Pad_cgo_1 [4]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]uint8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]uint8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen uint64 -+ Control *byte -+ Controllen uint64 -+ Flags int32 -+ Pad_cgo_1 [4]byte -+} -+ -+type Cmsghdr struct { -+ Len uint64 -+ Level int32 -+ Type int32 -+ X__cmsg_data [0]uint8 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x38 -+ SizeofCmsghdr = 0x10 -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x22 -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x10 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [6]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+ Name [0]uint8 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Gpr [32]uint64 -+ Nip uint64 -+ Msr uint64 -+ Orig_gpr3 uint64 -+ Ctr uint64 -+ Link uint64 -+ Xer uint64 -+ Ccr uint64 -+ Softe uint64 -+ Trap uint64 -+ Dar uint64 -+ Dsisr uint64 -+ Result uint64 -+} -+ -+type FdSet struct { -+ Bits [16]int64 -+} -+ -+type Sysinfo_t struct { -+ Uptime int64 -+ Loads [3]uint64 -+ Totalram uint64 -+ Freeram uint64 -+ Sharedram uint64 -+ Bufferram uint64 -+ Totalswap uint64 -+ Freeswap uint64 -+ Procs uint16 -+ Pad uint16 -+ Pad_cgo_0 [4]byte -+ Totalhigh uint64 -+ Freehigh uint64 -+ Unit uint32 -+ X_f [0]uint8 -+ Pad_cgo_1 [4]byte -+} -+ -+type Utsname struct { -+ Sysname [65]uint8 -+ Nodename [65]uint8 -+ Release [65]uint8 -+ Version [65]uint8 -+ Machine [65]uint8 -+ Domainname [65]uint8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Pad_cgo_0 [4]byte -+ Tinode uint64 -+ Fname [6]uint8 -+ Fpack [6]uint8 -+ Pad_cgo_1 [4]byte -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ X_padFd int32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [16]uint64 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [19]uint8 -+ Line uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go -new file mode 100644 -index 0000000..2c5bb05 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go -@@ -0,0 +1,675 @@ -+// +build s390x,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs -- -fsigned-char types_linux.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Timex struct { -+ Modes uint32 -+ _ [4]byte -+ Offset int64 -+ Freq int64 -+ Maxerror int64 -+ Esterror int64 -+ Status int32 -+ _ [4]byte -+ Constant int64 -+ Precision int64 -+ Tolerance int64 -+ Time Timeval -+ Tick int64 -+ Ppsfreq int64 -+ Jitter int64 -+ Shift int32 -+ _ [4]byte -+ Stabil int64 -+ Jitcnt int64 -+ Calcnt int64 -+ Errcnt int64 -+ Stbcnt int64 -+ Tai int32 -+ _ [44]byte -+} -+ -+type Time_t int64 -+ -+type Tms struct { -+ Utime int64 -+ Stime int64 -+ Cutime int64 -+ Cstime int64 -+} -+ -+type Utimbuf struct { -+ Actime int64 -+ Modtime int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ Ino uint64 -+ Nlink uint64 -+ Mode uint32 -+ Uid uint32 -+ Gid uint32 -+ _ int32 -+ Rdev uint64 -+ Size int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Blksize int64 -+ Blocks int64 -+ _ [3]int64 -+} -+ -+type Statfs_t struct { -+ Type uint32 -+ Bsize uint32 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Namelen uint32 -+ Frsize uint32 -+ Flags uint32 -+ Spare [4]uint32 -+ _ [4]byte -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]int8 -+ _ [5]byte -+} -+ -+type Fsid struct { -+ _ [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ _ [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ _ [4]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x6 -+ FADV_NOREUSE = 0x7 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ _ [4]byte -+ Iov *Iovec -+ Iovlen uint64 -+ Control *byte -+ Controllen uint64 -+ Flags int32 -+ _ [4]byte -+} -+ -+type Cmsghdr struct { -+ Len uint64 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ _ [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x38 -+ SizeofCmsghdr = 0x10 -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x27 -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ _ uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x10 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ _ [6]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Psw PtracePsw -+ Gprs [16]uint64 -+ Acrs [16]uint32 -+ Orig_gpr2 uint64 -+ Fp_regs PtraceFpregs -+ Per_info PtracePer -+ Ieee_instruction_pointer uint64 -+} -+ -+type PtracePsw struct { -+ Mask uint64 -+ Addr uint64 -+} -+ -+type PtraceFpregs struct { -+ Fpc uint32 -+ _ [4]byte -+ Fprs [16]float64 -+} -+ -+type PtracePer struct { -+ _ [0]uint64 -+ _ [24]byte -+ _ [8]byte -+ Starting_addr uint64 -+ Ending_addr uint64 -+ Perc_atmid uint16 -+ _ [6]byte -+ Address uint64 -+ Access_id uint8 -+ _ [7]byte -+} -+ -+type FdSet struct { -+ Bits [16]int64 -+} -+ -+type Sysinfo_t struct { -+ Uptime int64 -+ Loads [3]uint64 -+ Totalram uint64 -+ Freeram uint64 -+ Sharedram uint64 -+ Bufferram uint64 -+ Totalswap uint64 -+ Freeswap uint64 -+ Procs uint16 -+ Pad uint16 -+ _ [4]byte -+ Totalhigh uint64 -+ Freehigh uint64 -+ Unit uint32 -+ _ [0]int8 -+ _ [4]byte -+} -+ -+type Utsname struct { -+ Sysname [65]int8 -+ Nodename [65]int8 -+ Release [65]int8 -+ Version [65]int8 -+ Machine [65]int8 -+ Domainname [65]int8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ _ [4]byte -+ Tinode uint64 -+ Fname [6]int8 -+ Fpack [6]int8 -+ _ [4]byte -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ _ int32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [16]uint64 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [19]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go -new file mode 100644 -index 0000000..22bdab9 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go -@@ -0,0 +1,666 @@ -+// +build sparc64,linux -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_linux.go | go run mkpost.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Timex struct { -+ Modes uint32 -+ Pad_cgo_0 [4]byte -+ Offset int64 -+ Freq int64 -+ Maxerror int64 -+ Esterror int64 -+ Status int32 -+ Pad_cgo_1 [4]byte -+ Constant int64 -+ Precision int64 -+ Tolerance int64 -+ Time Timeval -+ Tick int64 -+ Ppsfreq int64 -+ Jitter int64 -+ Shift int32 -+ Pad_cgo_2 [4]byte -+ Stabil int64 -+ Jitcnt int64 -+ Calcnt int64 -+ Errcnt int64 -+ Stbcnt int64 -+ Tai int32 -+ Pad_cgo_3 [44]byte -+} -+ -+type Time_t int64 -+ -+type Tms struct { -+ Utime int64 -+ Stime int64 -+ Cutime int64 -+ Cstime int64 -+} -+ -+type Utimbuf struct { -+ Actime int64 -+ Modtime int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ X__pad1 uint16 -+ Pad_cgo_0 [6]byte -+ Ino uint64 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint64 -+ X__pad2 uint16 -+ Pad_cgo_1 [6]byte -+ Size int64 -+ Blksize int64 -+ Blocks int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ X__glibc_reserved4 uint64 -+ X__glibc_reserved5 uint64 -+} -+ -+type Statfs_t struct { -+ Type int64 -+ Bsize int64 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Namelen int64 -+ Frsize int64 -+ Flags int64 -+ Spare [4]int64 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]int8 -+ Pad_cgo_0 [5]byte -+} -+ -+type Fsid struct { -+ X__val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Pid int32 -+ X__glibc_reserved int16 -+ Pad_cgo_1 [2]byte -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Pad_cgo_0 [2]byte -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen uint64 -+ Control *byte -+ Controllen uint64 -+ Flags int32 -+ Pad_cgo_1 [4]byte -+} -+ -+type Cmsghdr struct { -+ Len uint64 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Pad_cgo_0 [2]byte -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x38 -+ SizeofCmsghdr = 0x10 -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+) -+ -+const ( -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_MAX = 0x2a -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ X__ifi_pad uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x10 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Pad_cgo_0 [6]byte -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Regs [16]uint64 -+ Tstate uint64 -+ Tpc uint64 -+ Tnpc uint64 -+ Y uint32 -+ Magic uint32 -+} -+ -+type ptracePsw struct { -+} -+ -+type ptraceFpregs struct { -+} -+ -+type ptracePer struct { -+} -+ -+type FdSet struct { -+ Bits [16]int64 -+} -+ -+type Sysinfo_t struct { -+ Uptime int64 -+ Loads [3]uint64 -+ Totalram uint64 -+ Freeram uint64 -+ Sharedram uint64 -+ Bufferram uint64 -+ Totalswap uint64 -+ Freeswap uint64 -+ Procs uint16 -+ Pad uint16 -+ Pad_cgo_0 [4]byte -+ Totalhigh uint64 -+ Freehigh uint64 -+ Unit uint32 -+ X_f [0]int8 -+ Pad_cgo_1 [4]byte -+} -+ -+type Utsname struct { -+ Sysname [65]int8 -+ Nodename [65]int8 -+ Release [65]int8 -+ Version [65]int8 -+ Machine [65]int8 -+ Domainname [65]int8 -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Pad_cgo_0 [4]byte -+ Tinode uint64 -+ Fname [6]int8 -+ Fpack [6]int8 -+ Pad_cgo_1 [4]byte -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ X_padFd int32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_FDCWD = -0x64 -+ AT_REMOVEDIR = 0x200 -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x800 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ X__val [16]uint64 -+} -+ -+const _SC_PAGESIZE = 0x1e -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [19]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go -new file mode 100644 -index 0000000..caf755f ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go -@@ -0,0 +1,396 @@ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_netbsd.go -+ -+// +build 386,netbsd -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int32 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int32 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ Mode uint32 -+ Ino uint64 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint64 -+ Atimespec Timespec -+ Mtimespec Timespec -+ Ctimespec Timespec -+ Birthtimespec Timespec -+ Size int64 -+ Blocks int64 -+ Blksize uint32 -+ Flags uint32 -+ Gen uint32 -+ Spare [2]uint32 -+} -+ -+type Statfs_t [0]byte -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+} -+ -+type Dirent struct { -+ Fileno uint64 -+ Reclen uint16 -+ Namlen uint16 -+ Type uint8 -+ Name [512]int8 -+ Pad_cgo_0 [3]byte -+} -+ -+type Fsid struct { -+ X__fsid_val [2]int32 -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen int32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x14 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint32 -+ Filter uint32 -+ Flags uint32 -+ Fflags uint32 -+ Data int64 -+ Udata int32 -+} -+ -+type FdSet struct { -+ Bits [8]uint32 -+} -+ -+const ( -+ SizeofIfMsghdr = 0x98 -+ SizeofIfData = 0x84 -+ SizeofIfaMsghdr = 0x18 -+ SizeofIfAnnounceMsghdr = 0x18 -+ SizeofRtMsghdr = 0x78 -+ SizeofRtMetrics = 0x50 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+ Pad_cgo_1 [4]byte -+} -+ -+type IfData struct { -+ Type uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Pad_cgo_0 [1]byte -+ Link_state int32 -+ Mtu uint64 -+ Metric uint64 -+ Baudrate uint64 -+ Ipackets uint64 -+ Ierrors uint64 -+ Opackets uint64 -+ Oerrors uint64 -+ Collisions uint64 -+ Ibytes uint64 -+ Obytes uint64 -+ Imcasts uint64 -+ Omcasts uint64 -+ Iqdrops uint64 -+ Noproto uint64 -+ Lastchange Timespec -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Metric int32 -+ Index uint16 -+ Pad_cgo_0 [6]byte -+} -+ -+type IfAnnounceMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Name [16]int8 -+ What uint16 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Use int32 -+ Inits int32 -+ Pad_cgo_1 [4]byte -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint64 -+ Mtu uint64 -+ Hopcount uint64 -+ Recvpipe uint64 -+ Sendpipe uint64 -+ Ssthresh uint64 -+ Rtt uint64 -+ Rttvar uint64 -+ Expire int64 -+ Pksent int64 -+} -+ -+type Mclpool [0]byte -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x80 -+ SizeofBpfProgram = 0x8 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x14 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint64 -+ Drop uint64 -+ Capt uint64 -+ Padding [13]uint64 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp BpfTimeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type BpfTimeval struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed int32 -+ Ospeed int32 -+} -+ -+type Sysctlnode struct { -+ Flags uint32 -+ Num int32 -+ Name [32]int8 -+ Ver uint32 -+ X__rsvd uint32 -+ Un [16]byte -+ X_sysctl_size [8]byte -+ X_sysctl_func [8]byte -+ X_sysctl_parent [8]byte -+ X_sysctl_desc [8]byte -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go -new file mode 100644 -index 0000000..91b4a53 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go -@@ -0,0 +1,403 @@ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_netbsd.go -+ -+// +build amd64,netbsd -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ Mode uint32 -+ Pad_cgo_0 [4]byte -+ Ino uint64 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Pad_cgo_1 [4]byte -+ Rdev uint64 -+ Atimespec Timespec -+ Mtimespec Timespec -+ Ctimespec Timespec -+ Birthtimespec Timespec -+ Size int64 -+ Blocks int64 -+ Blksize uint32 -+ Flags uint32 -+ Gen uint32 -+ Spare [2]uint32 -+ Pad_cgo_2 [4]byte -+} -+ -+type Statfs_t [0]byte -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+} -+ -+type Dirent struct { -+ Fileno uint64 -+ Reclen uint16 -+ Namlen uint16 -+ Type uint8 -+ Name [512]int8 -+ Pad_cgo_0 [3]byte -+} -+ -+type Fsid struct { -+ X__fsid_val [2]int32 -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen int32 -+ Pad_cgo_1 [4]byte -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x14 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x30 -+ SizeofCmsghdr = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint64 -+ Filter uint32 -+ Flags uint32 -+ Fflags uint32 -+ Pad_cgo_0 [4]byte -+ Data int64 -+ Udata int64 -+} -+ -+type FdSet struct { -+ Bits [8]uint32 -+} -+ -+const ( -+ SizeofIfMsghdr = 0x98 -+ SizeofIfData = 0x88 -+ SizeofIfaMsghdr = 0x18 -+ SizeofIfAnnounceMsghdr = 0x18 -+ SizeofRtMsghdr = 0x78 -+ SizeofRtMetrics = 0x50 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type IfData struct { -+ Type uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Pad_cgo_0 [1]byte -+ Link_state int32 -+ Mtu uint64 -+ Metric uint64 -+ Baudrate uint64 -+ Ipackets uint64 -+ Ierrors uint64 -+ Opackets uint64 -+ Oerrors uint64 -+ Collisions uint64 -+ Ibytes uint64 -+ Obytes uint64 -+ Imcasts uint64 -+ Omcasts uint64 -+ Iqdrops uint64 -+ Noproto uint64 -+ Lastchange Timespec -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Metric int32 -+ Index uint16 -+ Pad_cgo_0 [6]byte -+} -+ -+type IfAnnounceMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Name [16]int8 -+ What uint16 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Use int32 -+ Inits int32 -+ Pad_cgo_1 [4]byte -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint64 -+ Mtu uint64 -+ Hopcount uint64 -+ Recvpipe uint64 -+ Sendpipe uint64 -+ Ssthresh uint64 -+ Rtt uint64 -+ Rttvar uint64 -+ Expire int64 -+ Pksent int64 -+} -+ -+type Mclpool [0]byte -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x80 -+ SizeofBpfProgram = 0x10 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x20 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint64 -+ Drop uint64 -+ Capt uint64 -+ Padding [13]uint64 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Pad_cgo_0 [4]byte -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp BpfTimeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [6]byte -+} -+ -+type BpfTimeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed int32 -+ Ospeed int32 -+} -+ -+type Sysctlnode struct { -+ Flags uint32 -+ Num int32 -+ Name [32]int8 -+ Ver uint32 -+ X__rsvd uint32 -+ Un [16]byte -+ X_sysctl_size [8]byte -+ X_sysctl_func [8]byte -+ X_sysctl_parent [8]byte -+ X_sysctl_desc [8]byte -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go -new file mode 100644 -index 0000000..c0758f9 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go -@@ -0,0 +1,401 @@ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_netbsd.go -+ -+// +build arm,netbsd -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ Mode uint32 -+ Pad_cgo_0 [4]byte -+ Ino uint64 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Pad_cgo_1 [4]byte -+ Rdev uint64 -+ Atimespec Timespec -+ Mtimespec Timespec -+ Ctimespec Timespec -+ Birthtimespec Timespec -+ Size int64 -+ Blocks int64 -+ Blksize uint32 -+ Flags uint32 -+ Gen uint32 -+ Spare [2]uint32 -+ Pad_cgo_2 [4]byte -+} -+ -+type Statfs_t [0]byte -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+} -+ -+type Dirent struct { -+ Fileno uint64 -+ Reclen uint16 -+ Namlen uint16 -+ Type uint8 -+ Name [512]int8 -+ Pad_cgo_0 [3]byte -+} -+ -+type Fsid struct { -+ X__fsid_val [2]int32 -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [12]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen int32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x14 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint32 -+ Filter uint32 -+ Flags uint32 -+ Fflags uint32 -+ Data int64 -+ Udata int32 -+ Pad_cgo_0 [4]byte -+} -+ -+type FdSet struct { -+ Bits [8]uint32 -+} -+ -+const ( -+ SizeofIfMsghdr = 0x98 -+ SizeofIfData = 0x88 -+ SizeofIfaMsghdr = 0x18 -+ SizeofIfAnnounceMsghdr = 0x18 -+ SizeofRtMsghdr = 0x78 -+ SizeofRtMetrics = 0x50 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type IfData struct { -+ Type uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Pad_cgo_0 [1]byte -+ Link_state int32 -+ Mtu uint64 -+ Metric uint64 -+ Baudrate uint64 -+ Ipackets uint64 -+ Ierrors uint64 -+ Opackets uint64 -+ Oerrors uint64 -+ Collisions uint64 -+ Ibytes uint64 -+ Obytes uint64 -+ Imcasts uint64 -+ Omcasts uint64 -+ Iqdrops uint64 -+ Noproto uint64 -+ Lastchange Timespec -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Metric int32 -+ Index uint16 -+ Pad_cgo_0 [6]byte -+} -+ -+type IfAnnounceMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Name [16]int8 -+ What uint16 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Use int32 -+ Inits int32 -+ Pad_cgo_1 [4]byte -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint64 -+ Mtu uint64 -+ Hopcount uint64 -+ Recvpipe uint64 -+ Sendpipe uint64 -+ Ssthresh uint64 -+ Rtt uint64 -+ Rttvar uint64 -+ Expire int64 -+ Pksent int64 -+} -+ -+type Mclpool [0]byte -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x80 -+ SizeofBpfProgram = 0x8 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x14 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint64 -+ Drop uint64 -+ Capt uint64 -+ Padding [13]uint64 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp BpfTimeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type BpfTimeval struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed int32 -+ Ospeed int32 -+} -+ -+type Sysctlnode struct { -+ Flags uint32 -+ Num int32 -+ Name [32]int8 -+ Ver uint32 -+ X__rsvd uint32 -+ Un [16]byte -+ X_sysctl_size [8]byte -+ X_sysctl_func [8]byte -+ X_sysctl_parent [8]byte -+ X_sysctl_desc [8]byte -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go -new file mode 100644 -index 0000000..860a469 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go -@@ -0,0 +1,441 @@ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_openbsd.go -+ -+// +build 386,openbsd -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x4 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x4 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int32 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int32 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int32 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int32 -+ Ixrss int32 -+ Idrss int32 -+ Isrss int32 -+ Minflt int32 -+ Majflt int32 -+ Nswap int32 -+ Inblock int32 -+ Oublock int32 -+ Msgsnd int32 -+ Msgrcv int32 -+ Nsignals int32 -+ Nvcsw int32 -+ Nivcsw int32 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+const ( -+ S_IFMT = 0xf000 -+ S_IFIFO = 0x1000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFBLK = 0x6000 -+ S_IFREG = 0x8000 -+ S_IFLNK = 0xa000 -+ S_IFSOCK = 0xc000 -+ S_ISUID = 0x800 -+ S_ISGID = 0x400 -+ S_ISVTX = 0x200 -+ S_IRUSR = 0x100 -+ S_IWUSR = 0x80 -+ S_IXUSR = 0x40 -+) -+ -+type Stat_t struct { -+ Mode uint32 -+ Dev int32 -+ Ino uint64 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev int32 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Size int64 -+ Blocks int64 -+ Blksize uint32 -+ Flags uint32 -+ Gen uint32 -+ X__st_birthtim Timespec -+} -+ -+type Statfs_t struct { -+ F_flags uint32 -+ F_bsize uint32 -+ F_iosize uint32 -+ F_blocks uint64 -+ F_bfree uint64 -+ F_bavail int64 -+ F_files uint64 -+ F_ffree uint64 -+ F_favail int64 -+ F_syncwrites uint64 -+ F_syncreads uint64 -+ F_asyncwrites uint64 -+ F_asyncreads uint64 -+ F_fsid Fsid -+ F_namemax uint32 -+ F_owner uint32 -+ F_ctime uint64 -+ F_fstypename [16]int8 -+ F_mntonname [90]int8 -+ F_mntfromname [90]int8 -+ F_mntfromspec [90]int8 -+ Pad_cgo_0 [2]byte -+ Mount_info [160]byte -+} -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+} -+ -+type Dirent struct { -+ Fileno uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Namlen uint8 -+ X__d_padding [4]uint8 -+ Name [256]int8 -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [24]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint32 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen uint32 -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x20 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x1c -+ SizeofCmsghdr = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint32 -+ Filter int16 -+ Flags uint16 -+ Fflags uint32 -+ Data int64 -+ Udata *byte -+} -+ -+type FdSet struct { -+ Bits [32]uint32 -+} -+ -+const ( -+ SizeofIfMsghdr = 0xec -+ SizeofIfData = 0xd4 -+ SizeofIfaMsghdr = 0x18 -+ SizeofIfAnnounceMsghdr = 0x1a -+ SizeofRtMsghdr = 0x60 -+ SizeofRtMetrics = 0x38 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Hdrlen uint16 -+ Index uint16 -+ Tableid uint16 -+ Pad1 uint8 -+ Pad2 uint8 -+ Addrs int32 -+ Flags int32 -+ Xflags int32 -+ Data IfData -+} -+ -+type IfData struct { -+ Type uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Link_state uint8 -+ Mtu uint32 -+ Metric uint32 -+ Pad uint32 -+ Baudrate uint64 -+ Ipackets uint64 -+ Ierrors uint64 -+ Opackets uint64 -+ Oerrors uint64 -+ Collisions uint64 -+ Ibytes uint64 -+ Obytes uint64 -+ Imcasts uint64 -+ Omcasts uint64 -+ Iqdrops uint64 -+ Noproto uint64 -+ Capabilities uint32 -+ Lastchange Timeval -+ Mclpool [7]Mclpool -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Hdrlen uint16 -+ Index uint16 -+ Tableid uint16 -+ Pad1 uint8 -+ Pad2 uint8 -+ Addrs int32 -+ Flags int32 -+ Metric int32 -+} -+ -+type IfAnnounceMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Hdrlen uint16 -+ Index uint16 -+ What uint16 -+ Name [16]int8 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Hdrlen uint16 -+ Index uint16 -+ Tableid uint16 -+ Priority uint8 -+ Mpls uint8 -+ Addrs int32 -+ Flags int32 -+ Fmask int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Inits uint32 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Pksent uint64 -+ Expire int64 -+ Locks uint32 -+ Mtu uint32 -+ Refcnt uint32 -+ Hopcount uint32 -+ Recvpipe uint32 -+ Sendpipe uint32 -+ Ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Pad uint32 -+} -+ -+type Mclpool struct { -+ Grown int32 -+ Alive uint16 -+ Hwm uint16 -+ Cwm uint16 -+ Lwm uint16 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x8 -+ SizeofBpfProgram = 0x8 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x14 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint32 -+ Drop uint32 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp BpfTimeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type BpfTimeval struct { -+ Sec uint32 -+ Usec uint32 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed int32 -+ Ospeed int32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go -new file mode 100644 -index 0000000..23c5272 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go -@@ -0,0 +1,448 @@ -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_openbsd.go -+ -+// +build amd64,openbsd -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+const ( -+ S_IFMT = 0xf000 -+ S_IFIFO = 0x1000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFBLK = 0x6000 -+ S_IFREG = 0x8000 -+ S_IFLNK = 0xa000 -+ S_IFSOCK = 0xc000 -+ S_ISUID = 0x800 -+ S_ISGID = 0x400 -+ S_ISVTX = 0x200 -+ S_IRUSR = 0x100 -+ S_IWUSR = 0x80 -+ S_IXUSR = 0x40 -+) -+ -+type Stat_t struct { -+ Mode uint32 -+ Dev int32 -+ Ino uint64 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev int32 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Size int64 -+ Blocks int64 -+ Blksize uint32 -+ Flags uint32 -+ Gen uint32 -+ Pad_cgo_0 [4]byte -+ X__st_birthtim Timespec -+} -+ -+type Statfs_t struct { -+ F_flags uint32 -+ F_bsize uint32 -+ F_iosize uint32 -+ Pad_cgo_0 [4]byte -+ F_blocks uint64 -+ F_bfree uint64 -+ F_bavail int64 -+ F_files uint64 -+ F_ffree uint64 -+ F_favail int64 -+ F_syncwrites uint64 -+ F_syncreads uint64 -+ F_asyncwrites uint64 -+ F_asyncreads uint64 -+ F_fsid Fsid -+ F_namemax uint32 -+ F_owner uint32 -+ F_ctime uint64 -+ F_fstypename [16]int8 -+ F_mntonname [90]int8 -+ F_mntfromname [90]int8 -+ F_mntfromspec [90]int8 -+ Pad_cgo_1 [2]byte -+ Mount_info [160]byte -+} -+ -+type Flock_t struct { -+ Start int64 -+ Len int64 -+ Pid int32 -+ Type int16 -+ Whence int16 -+} -+ -+type Dirent struct { -+ Fileno uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Namlen uint8 -+ X__d_padding [4]uint8 -+ Name [256]int8 -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+type RawSockaddrInet4 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Len uint8 -+ Family uint8 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Len uint8 -+ Family uint8 -+ Path [104]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Len uint8 -+ Family uint8 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [24]int8 -+} -+ -+type RawSockaddr struct { -+ Len uint8 -+ Family uint8 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [92]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen uint32 -+ Pad_cgo_1 [4]byte -+ Control *byte -+ Controllen uint32 -+ Flags int32 -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x6c -+ SizeofSockaddrUnix = 0x6a -+ SizeofSockaddrDatalink = 0x20 -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x30 -+ SizeofCmsghdr = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+const ( -+ PTRACE_TRACEME = 0x0 -+ PTRACE_CONT = 0x7 -+ PTRACE_KILL = 0x8 -+) -+ -+type Kevent_t struct { -+ Ident uint64 -+ Filter int16 -+ Flags uint16 -+ Fflags uint32 -+ Data int64 -+ Udata *byte -+} -+ -+type FdSet struct { -+ Bits [32]uint32 -+} -+ -+const ( -+ SizeofIfMsghdr = 0xf8 -+ SizeofIfData = 0xe0 -+ SizeofIfaMsghdr = 0x18 -+ SizeofIfAnnounceMsghdr = 0x1a -+ SizeofRtMsghdr = 0x60 -+ SizeofRtMetrics = 0x38 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Hdrlen uint16 -+ Index uint16 -+ Tableid uint16 -+ Pad1 uint8 -+ Pad2 uint8 -+ Addrs int32 -+ Flags int32 -+ Xflags int32 -+ Data IfData -+} -+ -+type IfData struct { -+ Type uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Link_state uint8 -+ Mtu uint32 -+ Metric uint32 -+ Pad uint32 -+ Baudrate uint64 -+ Ipackets uint64 -+ Ierrors uint64 -+ Opackets uint64 -+ Oerrors uint64 -+ Collisions uint64 -+ Ibytes uint64 -+ Obytes uint64 -+ Imcasts uint64 -+ Omcasts uint64 -+ Iqdrops uint64 -+ Noproto uint64 -+ Capabilities uint32 -+ Pad_cgo_0 [4]byte -+ Lastchange Timeval -+ Mclpool [7]Mclpool -+ Pad_cgo_1 [4]byte -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Hdrlen uint16 -+ Index uint16 -+ Tableid uint16 -+ Pad1 uint8 -+ Pad2 uint8 -+ Addrs int32 -+ Flags int32 -+ Metric int32 -+} -+ -+type IfAnnounceMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Hdrlen uint16 -+ Index uint16 -+ What uint16 -+ Name [16]int8 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Hdrlen uint16 -+ Index uint16 -+ Tableid uint16 -+ Priority uint8 -+ Mpls uint8 -+ Addrs int32 -+ Flags int32 -+ Fmask int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Inits uint32 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Pksent uint64 -+ Expire int64 -+ Locks uint32 -+ Mtu uint32 -+ Refcnt uint32 -+ Hopcount uint32 -+ Recvpipe uint32 -+ Sendpipe uint32 -+ Ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Pad uint32 -+} -+ -+type Mclpool struct { -+ Grown int32 -+ Alive uint16 -+ Hwm uint16 -+ Cwm uint16 -+ Lwm uint16 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x8 -+ SizeofBpfProgram = 0x10 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x14 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint32 -+ Drop uint32 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Pad_cgo_0 [4]byte -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfHdr struct { -+ Tstamp BpfTimeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+type BpfTimeval struct { -+ Sec uint32 -+ Usec uint32 -+} -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [20]uint8 -+ Ispeed int32 -+ Ospeed int32 -+} -diff --git a/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go -new file mode 100644 -index 0000000..02777e4 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go -@@ -0,0 +1,423 @@ -+// +build amd64,solaris -+// Created by cgo -godefs - DO NOT EDIT -+// cgo -godefs types_solaris.go | go run mkpost.go -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+ PathMax = 0x400 -+ MaxHostNameLen = 0x100 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Timeval32 struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type Tms struct { -+ Utime int64 -+ Stime int64 -+ Cutime int64 -+ Cstime int64 -+} -+ -+type Utimbuf struct { -+ Actime int64 -+ Modtime int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+const ( -+ S_IFMT = 0xf000 -+ S_IFIFO = 0x1000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFBLK = 0x6000 -+ S_IFREG = 0x8000 -+ S_IFLNK = 0xa000 -+ S_IFSOCK = 0xc000 -+ S_ISUID = 0x800 -+ S_ISGID = 0x400 -+ S_ISVTX = 0x200 -+ S_IRUSR = 0x100 -+ S_IWUSR = 0x80 -+ S_IXUSR = 0x40 -+) -+ -+type Stat_t struct { -+ Dev uint64 -+ Ino uint64 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint64 -+ Size int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ Blksize int32 -+ Pad_cgo_0 [4]byte -+ Blocks int64 -+ Fstype [16]int8 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Pad_cgo_0 [4]byte -+ Start int64 -+ Len int64 -+ Sysid int32 -+ Pid int32 -+ Pad [4]int64 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Name [1]int8 -+ Pad_cgo_0 [5]byte -+} -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]int8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+ X__sin6_src_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrDatalink struct { -+ Family uint16 -+ Index uint16 -+ Type uint8 -+ Nlen uint8 -+ Alen uint8 -+ Slen uint8 -+ Data [244]int8 -+} -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]int8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [236]int8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *int8 -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Pad_cgo_0 [4]byte -+ Iov *Iovec -+ Iovlen int32 -+ Pad_cgo_1 [4]byte -+ Accrights *int8 -+ Accrightslen int32 -+ Pad_cgo_2 [4]byte -+} -+ -+type Cmsghdr struct { -+ Len uint32 -+ Level int32 -+ Type int32 -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ X__icmp6_filt [8]uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x20 -+ SizeofSockaddrAny = 0xfc -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrDatalink = 0xfc -+ SizeofLinger = 0x8 -+ SizeofIPMreq = 0x8 -+ SizeofIPv6Mreq = 0x14 -+ SizeofMsghdr = 0x30 -+ SizeofCmsghdr = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x24 -+ SizeofICMPv6Filter = 0x20 -+) -+ -+type FdSet struct { -+ Bits [1024]int64 -+} -+ -+type Utsname struct { -+ Sysname [257]int8 -+ Nodename [257]int8 -+ Release [257]int8 -+ Version [257]int8 -+ Machine [257]int8 -+} -+ -+type Ustat_t struct { -+ Tfree int64 -+ Tinode uint64 -+ Fname [6]int8 -+ Fpack [6]int8 -+ Pad_cgo_0 [4]byte -+} -+ -+const ( -+ AT_FDCWD = 0xffd19553 -+ AT_SYMLINK_NOFOLLOW = 0x1000 -+ AT_SYMLINK_FOLLOW = 0x2000 -+ AT_REMOVEDIR = 0x1 -+ AT_EACCESS = 0x4 -+) -+ -+const ( -+ SizeofIfMsghdr = 0x54 -+ SizeofIfData = 0x44 -+ SizeofIfaMsghdr = 0x14 -+ SizeofRtMsghdr = 0x4c -+ SizeofRtMetrics = 0x28 -+) -+ -+type IfMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Data IfData -+} -+ -+type IfData struct { -+ Type uint8 -+ Addrlen uint8 -+ Hdrlen uint8 -+ Pad_cgo_0 [1]byte -+ Mtu uint32 -+ Metric uint32 -+ Baudrate uint32 -+ Ipackets uint32 -+ Ierrors uint32 -+ Opackets uint32 -+ Oerrors uint32 -+ Collisions uint32 -+ Ibytes uint32 -+ Obytes uint32 -+ Imcasts uint32 -+ Omcasts uint32 -+ Iqdrops uint32 -+ Noproto uint32 -+ Lastchange Timeval32 -+} -+ -+type IfaMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Addrs int32 -+ Flags int32 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Metric int32 -+} -+ -+type RtMsghdr struct { -+ Msglen uint16 -+ Version uint8 -+ Type uint8 -+ Index uint16 -+ Pad_cgo_0 [2]byte -+ Flags int32 -+ Addrs int32 -+ Pid int32 -+ Seq int32 -+ Errno int32 -+ Use int32 -+ Inits uint32 -+ Rmx RtMetrics -+} -+ -+type RtMetrics struct { -+ Locks uint32 -+ Mtu uint32 -+ Hopcount uint32 -+ Expire uint32 -+ Recvpipe uint32 -+ Sendpipe uint32 -+ Ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Pksent uint32 -+} -+ -+const ( -+ SizeofBpfVersion = 0x4 -+ SizeofBpfStat = 0x80 -+ SizeofBpfProgram = 0x10 -+ SizeofBpfInsn = 0x8 -+ SizeofBpfHdr = 0x14 -+) -+ -+type BpfVersion struct { -+ Major uint16 -+ Minor uint16 -+} -+ -+type BpfStat struct { -+ Recv uint64 -+ Drop uint64 -+ Capt uint64 -+ Padding [13]uint64 -+} -+ -+type BpfProgram struct { -+ Len uint32 -+ Pad_cgo_0 [4]byte -+ Insns *BpfInsn -+} -+ -+type BpfInsn struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type BpfTimeval struct { -+ Sec int32 -+ Usec int32 -+} -+ -+type BpfHdr struct { -+ Tstamp BpfTimeval -+ Caplen uint32 -+ Datalen uint32 -+ Hdrlen uint16 -+ Pad_cgo_0 [2]byte -+} -+ -+const _SC_PAGESIZE = 0xb -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Cc [19]uint8 -+ Pad_cgo_0 [1]byte -+} -+ -+type Termio struct { -+ Iflag uint16 -+ Oflag uint16 -+ Cflag uint16 -+ Lflag uint16 -+ Line int8 -+ Cc [8]uint8 -+ Pad_cgo_0 [1]byte -+} -+ -+type Winsize struct { -+ Row uint16 -+ Col uint16 -+ Xpixel uint16 -+ Ypixel uint16 -+} --- -2.7.4.3 - diff --git a/patch/0013-libcontainer-rewrite-cmsg-to-use-sys-unix.patch b/patch/0013-libcontainer-rewrite-cmsg-to-use-sys-unix.patch deleted file mode 100644 index e6506bb..0000000 --- a/patch/0013-libcontainer-rewrite-cmsg-to-use-sys-unix.patch +++ /dev/null @@ -1,327 +0,0 @@ -From c13a4de91dc2a3db4b9085015dbce2f8e050d7ca Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Wed, 29 Mar 2017 22:39:05 +1100 -Subject: [PATCH 13/94] libcontainer: rewrite cmsg to use sys/unix - -The original implementation is in C, which increases cognitive load and -possibly might cause us problems in the future. Since sys/unix is better -maintained than the syscall standard library switching makes more sense. - -Change-Id: I8d91c2d7b28116d3d9be49e328f9383b9b7052d7 -Signed-off-by: Aleksa Sarai ---- - libcontainer/utils/cmsg.c | 148 --------------------------------------------- - libcontainer/utils/cmsg.go | 74 +++++++++++++++++------ - libcontainer/utils/cmsg.h | 36 ----------- - 3 files changed, 56 insertions(+), 202 deletions(-) - delete mode 100644 libcontainer/utils/cmsg.c - delete mode 100644 libcontainer/utils/cmsg.h - -diff --git a/libcontainer/utils/cmsg.c b/libcontainer/utils/cmsg.c -deleted file mode 100644 -index 0ded494..0000000 ---- a/libcontainer/utils/cmsg.c -+++ /dev/null -@@ -1,148 +0,0 @@ --/* -- * Copyright 2016 SUSE LLC -- * -- * Licensed under the Apache License, Version 2.0 (the "License"); -- * you may not use this file except in compliance with the License. -- * You may obtain a copy of the License at -- * -- * http://www.apache.org/licenses/LICENSE-2.0 -- * -- * Unless required by applicable law or agreed to in writing, software -- * distributed under the License is distributed on an "AS IS" BASIS, -- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- * See the License for the specific language governing permissions and -- * limitations under the License. -- */ -- --#include --#include --#include --#include --#include --#include --#include -- --#include "cmsg.h" -- --#define error(fmt, ...) \ -- ({ \ -- fprintf(stderr, "nsenter: " fmt ": %m\n", ##__VA_ARGS__); \ -- errno = ECOMM; \ -- goto err; /* return value */ \ -- }) -- --/* -- * Sends a file descriptor along the sockfd provided. Returns the return -- * value of sendmsg(2). Any synchronisation and preparation of state -- * should be done external to this (we expect the other side to be in -- * recvfd() in the code). -- */ --ssize_t sendfd(int sockfd, struct file_t file) --{ -- struct msghdr msg = {0}; -- struct iovec iov[1] = {0}; -- struct cmsghdr *cmsg; -- int *fdptr; -- int ret; -- -- union { -- char buf[CMSG_SPACE(sizeof(file.fd))]; -- struct cmsghdr align; -- } u; -- -- /* -- * We need to send some other data along with the ancillary data, -- * otherwise the other side won't recieve any data. This is very -- * well-hidden in the documentation (and only applies to -- * SOCK_STREAM). See the bottom part of unix(7). -- */ -- iov[0].iov_base = file.name; -- iov[0].iov_len = strlen(file.name) + 1; -- -- msg.msg_name = NULL; -- msg.msg_namelen = 0; -- msg.msg_iov = iov; -- msg.msg_iovlen = 1; -- msg.msg_control = u.buf; -- msg.msg_controllen = sizeof(u.buf); -- -- cmsg = CMSG_FIRSTHDR(&msg); -- cmsg->cmsg_level = SOL_SOCKET; -- cmsg->cmsg_type = SCM_RIGHTS; -- cmsg->cmsg_len = CMSG_LEN(sizeof(int)); -- -- fdptr = (int *) CMSG_DATA(cmsg); -- memcpy(fdptr, &file.fd, sizeof(int)); -- -- return sendmsg(sockfd, &msg, 0); --} -- --/* -- * Receives a file descriptor from the sockfd provided. Returns the file -- * descriptor as sent from sendfd(). It will return the file descriptor -- * or die (literally) trying. Any synchronisation and preparation of -- * state should be done external to this (we expect the other side to be -- * in sendfd() in the code). -- */ --struct file_t recvfd(int sockfd) --{ -- struct msghdr msg = {0}; -- struct iovec iov[1] = {0}; -- struct cmsghdr *cmsg; -- struct file_t file = {0}; -- int *fdptr; -- int olderrno; -- -- union { -- char buf[CMSG_SPACE(sizeof(file.fd))]; -- struct cmsghdr align; -- } u; -- -- /* Allocate a buffer. */ -- /* TODO: Make this dynamic with MSG_PEEK. */ -- file.name = malloc(TAG_BUFFER); -- if (!file.name) -- error("recvfd: failed to allocate file.tag buffer\n"); -- -- /* -- * We need to "recieve" the non-ancillary data even though we don't -- * plan to use it at all. Otherwise, things won't work as expected. -- * See unix(7) and other well-hidden documentation. -- */ -- iov[0].iov_base = file.name; -- iov[0].iov_len = TAG_BUFFER; -- -- msg.msg_name = NULL; -- msg.msg_namelen = 0; -- msg.msg_iov = iov; -- msg.msg_iovlen = 1; -- msg.msg_control = u.buf; -- msg.msg_controllen = sizeof(u.buf); -- -- ssize_t ret = recvmsg(sockfd, &msg, 0); -- if (ret < 0) -- goto err; -- -- cmsg = CMSG_FIRSTHDR(&msg); -- if (!cmsg) -- error("recvfd: got NULL from CMSG_FIRSTHDR"); -- if (cmsg->cmsg_level != SOL_SOCKET) -- error("recvfd: expected SOL_SOCKET in cmsg: %d", cmsg->cmsg_level); -- if (cmsg->cmsg_type != SCM_RIGHTS) -- error("recvfd: expected SCM_RIGHTS in cmsg: %d", cmsg->cmsg_type); -- if (cmsg->cmsg_len != CMSG_LEN(sizeof(int))) -- error("recvfd: expected correct CMSG_LEN in cmsg: %lu", (unsigned long)cmsg->cmsg_len); -- -- fdptr = (int *) CMSG_DATA(cmsg); -- if (!fdptr || *fdptr < 0) -- error("recvfd: recieved invalid pointer"); -- -- file.fd = *fdptr; -- return file; -- --err: -- olderrno = errno; -- free(file.name); -- errno = olderrno; -- return (struct file_t){0}; --} -diff --git a/libcontainer/utils/cmsg.go b/libcontainer/utils/cmsg.go -index ee89374..2cbb649 100644 ---- a/libcontainer/utils/cmsg.go -+++ b/libcontainer/utils/cmsg.go -@@ -3,7 +3,7 @@ - package utils - - /* -- * Copyright 2016 SUSE LLC -+ * Copyright 2016, 2017 SUSE LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. -@@ -18,28 +18,66 @@ package utils - * limitations under the License. - */ - --/* --#include --#include --#include "cmsg.h" --*/ --import "C" -- - import ( -+ "fmt" - "os" -- "unsafe" -+ -+ "golang.org/x/sys/unix" - ) - -+// MaxSendfdLen is the maximum length of the name of a file descriptor being -+// sent using SendFd. The name of the file handle returned by RecvFd will never -+// be larger than this value. -+const MaxNameLen = 4096 -+ -+// oobSpace is the size of the oob slice required to store a single FD. Note -+// that unix.UnixRights appears to make the assumption that fd is always int32, -+// so sizeof(fd) = 4. -+var oobSpace = unix.CmsgSpace(4) -+ - // RecvFd waits for a file descriptor to be sent over the given AF_UNIX - // socket. The file name of the remote file descriptor will be recreated - // locally (it is sent as non-auxiliary data in the same payload). - func RecvFd(socket *os.File) (*os.File, error) { -- file, err := C.recvfd(C.int(socket.Fd())) -+ // For some reason, unix.Recvmsg uses the length rather than the capacity -+ // when passing the msg_controllen and other attributes to recvmsg. So we -+ // have to actually set the length. -+ name := make([]byte, MaxNameLen) -+ oob := make([]byte, oobSpace) -+ -+ sockfd := socket.Fd() -+ n, oobn, _, _, err := unix.Recvmsg(int(sockfd), name, oob, 0) - if err != nil { - return nil, err - } -- defer C.free(unsafe.Pointer(file.name)) -- return os.NewFile(uintptr(file.fd), C.GoString(file.name)), nil -+ -+ if n >= MaxNameLen || oobn != oobSpace { -+ return nil, fmt.Errorf("recvfd: incorrect number of bytes read (n=%d oobn=%d)", n, oobn) -+ } -+ -+ // Truncate. -+ name = name[:n] -+ oob = oob[:oobn] -+ -+ scms, err := unix.ParseSocketControlMessage(oob) -+ if err != nil { -+ return nil, err -+ } -+ if len(scms) != 1 { -+ return nil, fmt.Errorf("recvfd: number of SCMs is not 1: %d", len(scms)) -+ } -+ scm := scms[0] -+ -+ fds, err := unix.ParseUnixRights(&scm) -+ if err != nil { -+ return nil, err -+ } -+ if len(fds) != 1 { -+ return nil, fmt.Errorf("recvfd: number of fds is not 1: %d", len(fds)) -+ } -+ fd := uintptr(fds[0]) -+ -+ return os.NewFile(fd, string(name)), nil - } - - // SendFd sends a file descriptor over the given AF_UNIX socket. In -@@ -47,11 +85,11 @@ func RecvFd(socket *os.File) (*os.File, error) { - // non-auxiliary data in the same payload (allowing to send contextual - // information for a file descriptor). - func SendFd(socket, file *os.File) error { -- var cfile C.struct_file_t -- cfile.fd = C.int(file.Fd()) -- cfile.name = C.CString(file.Name()) -- defer C.free(unsafe.Pointer(cfile.name)) -+ name := []byte(file.Name()) -+ if len(name) >= MaxNameLen { -+ return fmt.Errorf("sendfd: filename too long: %s", file.Name()) -+ } -+ oob := unix.UnixRights(int(file.Fd())) - -- _, err := C.sendfd(C.int(socket.Fd()), cfile) -- return err -+ return unix.Sendmsg(int(socket.Fd()), name, oob, nil, 0) - } -diff --git a/libcontainer/utils/cmsg.h b/libcontainer/utils/cmsg.h -deleted file mode 100644 -index 3fe7642..0000000 ---- a/libcontainer/utils/cmsg.h -+++ /dev/null -@@ -1,36 +0,0 @@ --/* -- * Copyright 2016 SUSE LLC -- * -- * Licensed under the Apache License, Version 2.0 (the "License"); -- * you may not use this file except in compliance with the License. -- * You may obtain a copy of the License at -- * -- * http://www.apache.org/licenses/LICENSE-2.0 -- * -- * Unless required by applicable law or agreed to in writing, software -- * distributed under the License is distributed on an "AS IS" BASIS, -- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- * See the License for the specific language governing permissions and -- * limitations under the License. -- */ -- --#pragma once -- --#if !defined(CMSG_H) --#define CMSG_H -- --#include -- --/* TODO: Implement this properly with MSG_PEEK. */ --#define TAG_BUFFER 4096 -- --/* This mirrors Go's (*os.File). */ --struct file_t { -- char *name; -- int fd; --}; -- --struct file_t recvfd(int sockfd); --ssize_t sendfd(int sockfd, struct file_t file); -- --#endif /* !defined(CMSG_H) */ --- -2.7.4.3 - diff --git a/patch/0013-runc-modify-minHookTimeOut.patch b/patch/0013-runc-modify-minHookTimeOut.patch new file mode 100644 index 0000000..05af88b --- /dev/null +++ b/patch/0013-runc-modify-minHookTimeOut.patch @@ -0,0 +1,25 @@ +From 845b54fcaa8cd843034479b2019eaa9ee5faaf75 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:30:36 +0800 +Subject: [PATCH] runc: modify minHookTimeOut + +--- + libcontainer/configs/config.go | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go +index 9076846..540bcdb 100644 +--- a/libcontainer/configs/config.go ++++ b/libcontainer/configs/config.go +@@ -12,7 +12,7 @@ import ( + ) + + const ( +- minHookTimeOut = 1 * time.Second ++ minHookTimeOut = 0 + defaultHookTimeOut = 5 * time.Second + maxHookTimeOut = 120 * time.Second + //the runc default timeout is 120s, so set the defaultWarnTime to 80% of the default timeout. +-- +2.30.0 + diff --git a/patch/0014-Set-container-state-only-once-during-start.patch b/patch/0014-Set-container-state-only-once-during-start.patch deleted file mode 100644 index 10a3a56..0000000 --- a/patch/0014-Set-container-state-only-once-during-start.patch +++ /dev/null @@ -1,39 +0,0 @@ -From b9b6667861bcc98579489aa6cec8012249fedbab Mon Sep 17 00:00:00 2001 -From: Harshal Patil -Date: Tue, 4 Apr 2017 15:08:04 +0530 -Subject: [PATCH 14/94] Set container state only once during start - -Change-Id: Iae2bcd397cbc40c540e32807d946c3ec81783803 -Signed-off-by: Harshal Patil ---- - libcontainer/container_linux.go | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 71fa682..26e51ae 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -263,9 +263,6 @@ func (c *linuxContainer) start(process *Process, isInit bool) error { - } - // generate a timestamp indicating when the container was started - c.created = time.Now().UTC() -- c.state = &runningState{ -- c: c, -- } - if isInit { - c.state = &createdState{ - c: c, -@@ -292,6 +289,10 @@ func (c *linuxContainer) start(process *Process, isInit bool) error { - } - } - } -+ } else { -+ c.state = &runningState{ -+ c: c, -+ } - } - return nil - } --- -2.7.4.3 - diff --git a/patch/0014-runc-make-hooks-log-more-userful-and-fix-syslog-hook.patch b/patch/0014-runc-make-hooks-log-more-userful-and-fix-syslog-hook.patch new file mode 100644 index 0000000..c7931bc --- /dev/null +++ b/patch/0014-runc-make-hooks-log-more-userful-and-fix-syslog-hook.patch @@ -0,0 +1,102 @@ +From 8b5360bd401a33f5c637710fc5c545c8facb6b20 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:31:33 +0800 +Subject: [PATCH] runc:make hooks log more userful and fix syslog hook bug + +--- + libcontainer/configs/config.go | 17 ++++++++++++++--- + main.go | 5 ++++- + 2 files changed, 18 insertions(+), 4 deletions(-) + +diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go +index 540bcdb..cda79bf 100644 +--- a/libcontainer/configs/config.go ++++ b/libcontainer/configs/config.go +@@ -8,6 +8,7 @@ import ( + "github.com/opencontainers/runc/libcontainer/devices" + "github.com/opencontainers/runtime-spec/specs-go" + "os/exec" ++ "strings" + "time" + ) + +@@ -286,11 +287,11 @@ type Capabilities struct { + + func (hooks HookList) RunHooks(state *specs.State) error { + for i, h := range hooks { +- logrus.Infof("run hooks %d:%T, ContainerId: %s", i, h, state.ID) ++ logrus.Infof("run hooks %d:%s, ContainerId: %s", i, h.Info(), state.ID) + if err := h.Run(state); err != nil { +- return fmt.Errorf("error running hook #%d: %w, ContainerId: %s", i, err, state.ID) ++ return fmt.Errorf("error running hook %d:%s err: %w, ContainerId: %s", i, h.Info(), err, state.ID) + } +- logrus.Infof("hooks %d:%T done, ContainerId: %s", i, h, state.ID) ++ logrus.Infof("hooks %d:%s done, ContainerId: %s", i, h.Info(), state.ID) + } + + return nil +@@ -345,6 +346,7 @@ func (hooks *Hooks) MarshalJSON() ([]byte, error) { + type Hook interface { + // Run executes the hook with the provided state. + Run(*specs.State) error ++ Info() string + } + + // NewFunctionHook will call the provided function when the hook is run. +@@ -362,6 +364,11 @@ func (f FuncHook) Run(s *specs.State) error { + return f.run(s) + } + ++func (f FuncHook) Info() string { ++ return "hook function" ++} ++ ++ + type Command struct { + Path string `json:"path"` + Args []string `json:"args"` +@@ -381,6 +388,10 @@ type CommandHook struct { + Command + } + ++func (c Command) Info() string { ++ return c.Path + "," + strings.Join(c.Args, ",") ++} ++ + func (c Command) Run(s *specs.State) error { + b, err := json.Marshal(s) + if err != nil { +diff --git a/main.go b/main.go +index 9e14976..0a6f3b4 100644 +--- a/main.go ++++ b/main.go +@@ -4,6 +4,7 @@ import ( + "errors" + "fmt" + "io" ++ "log/syslog" + "os" + "path/filepath" + "runtime" +@@ -14,6 +15,7 @@ import ( + "github.com/opencontainers/runtime-spec/specs-go" + + "github.com/sirupsen/logrus" ++ logrus_syslog "github.com/sirupsen/logrus/hooks/syslog" + "github.com/urfave/cli" + ) + +@@ -218,8 +220,9 @@ func configLogrus(context *cli.Context) error { + hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") + if serr != nil { + fmt.Fprint(f, fmt.Sprintf("Leo: new syslog hook get %s", serr)) ++ } else { ++ logrus.AddHook(hook) + } +- logrus.AddHook(hook) + } + if logLevel := context.GlobalString("log-level"); logLevel != "" { + lvl, err := logrus.ParseLevel(logLevel) +-- +2.30.0 + diff --git a/patch/0015-checkpoint-check-if-system-supports-pre-dum.patch b/patch/0015-checkpoint-check-if-system-supports-pre-dum.patch deleted file mode 100644 index f053387..0000000 --- a/patch/0015-checkpoint-check-if-system-supports-pre-dum.patch +++ /dev/null @@ -1,161 +0,0 @@ -From 6397990e4ee68389c05fa2a0c89d1c4d4e5e5677 Mon Sep 17 00:00:00 2001 -From: Adrian Reber -Date: Tue, 14 Mar 2017 20:21:58 +0000 -Subject: [PATCH 15/94] checkpoint: check if system supports - pre-dumping - -Instead of relying on version numbers it is possible to check if CRIU -actually supports certain features. This introduces an initial -implementation to check if CRIU and the underlying kernel actually -support dirty memory tracking for memory pre-dumping. - -Upstream CRIU also supports the lazy-page migration feature check and -additional feature checks can be included in CRIU to reduce the version -number parsing. There are also certain CRIU features which depend on one -side on the CRIU version but also require certain kernel versions to -actually work. CRIU knows if it can do certain things on the kernel it -is running on and using the feature check RPC interface makes it easier -for runc to decide if the criu+kernel combination will support that -feature. - -Feature checking was introduced with CRIU 1.8. Running with older CRIU -versions will ignore the feature check functionality and behave just -like it used to. - -v2: - - Do not use reflection to compare requested and responded - features. Checking which feature is available is now hardcoded - and needs to be adapted for every new feature check. The code - is now much more readable and simpler. - -v3: - - Move the variable criuFeat out of the linuxContainer struct, - as it is not container specific. Now it is a global variable. - -Change-Id: Ide44007d031d1bc4572dab1e88d78762944b379b -Signed-off-by: Adrian Reber ---- - libcontainer/container_linux.go | 85 ++++++++++++++++++++++++++++++++++++----- - 1 file changed, 76 insertions(+), 9 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 26e51ae..705472a 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -536,6 +536,56 @@ func (c *linuxContainer) NotifyMemoryPressure(level PressureLevel) (<-chan struc - return notifyMemoryPressure(c.cgroupManager.GetPaths(), level) - } - -+var criuFeatures *criurpc.CriuFeatures -+ -+func (c *linuxContainer) checkCriuFeatures(criuOpts *CriuOpts, rpcOpts *criurpc.CriuOpts, criuFeat *criurpc.CriuFeatures) error { -+ -+ var t criurpc.CriuReqType -+ t = criurpc.CriuReqType_FEATURE_CHECK -+ -+ if err := c.checkCriuVersion("1.8"); err != nil { -+ // Feature checking was introduced with CRIU 1.8. -+ // Ignore the feature check if an older CRIU version is used -+ // and just act as before. -+ // As all automated PR testing is done using CRIU 1.7 this -+ // code will not be tested by automated PR testing. -+ return nil -+ } -+ -+ // make sure the features we are looking for are really not from -+ // some previous check -+ criuFeatures = nil -+ -+ req := &criurpc.CriuReq{ -+ Type: &t, -+ // Theoretically this should not be necessary but CRIU -+ // segfaults if Opts is empty. -+ // Fixed in CRIU 2.12 -+ Opts: rpcOpts, -+ Features: criuFeat, -+ } -+ -+ err := c.criuSwrk(nil, req, criuOpts, false) -+ if err != nil { -+ logrus.Debugf("%s", err) -+ return fmt.Errorf("CRIU feature check failed") -+ } -+ -+ logrus.Debugf("Feature check says: %s", criuFeatures) -+ missingFeatures := false -+ -+ if *criuFeat.MemTrack && !*criuFeatures.MemTrack { -+ missingFeatures = true -+ logrus.Debugf("CRIU does not support MemTrack") -+ } -+ -+ if missingFeatures { -+ return fmt.Errorf("CRIU is missing features") -+ } -+ -+ return nil -+} -+ - // checkCriuVersion checks Criu version greater than or equal to minVersion - func (c *linuxContainer) checkCriuVersion(minVersion string) error { - var x, y, z, versionReq int -@@ -718,6 +768,14 @@ func (c *linuxContainer) Checkpoint(criuOpts *CriuOpts) error { - - var t criurpc.CriuReqType - if criuOpts.PreDump { -+ feat := criurpc.CriuFeatures{ -+ MemTrack: proto.Bool(true), -+ } -+ -+ if err := c.checkCriuFeatures(criuOpts, &rpcOpts, &feat); err != nil { -+ return err -+ } -+ - t = criurpc.CriuReqType_PRE_DUMP - } else { - t = criurpc.CriuReqType_DUMP -@@ -1019,16 +1077,21 @@ func (c *linuxContainer) criuSwrk(process *Process, req *criurpc.CriuReq, opts * - } - - logrus.Debugf("Using CRIU in %s mode", req.GetType().String()) -- val := reflect.ValueOf(req.GetOpts()) -- v := reflect.Indirect(val) -- for i := 0; i < v.NumField(); i++ { -- st := v.Type() -- name := st.Field(i).Name -- if strings.HasPrefix(name, "XXX_") { -- continue -+ // In the case of criurpc.CriuReqType_FEATURE_CHECK req.GetOpts() -+ // should be empty. For older CRIU versions it still will be -+ // available but empty. -+ if req.GetType() != criurpc.CriuReqType_FEATURE_CHECK { -+ val := reflect.ValueOf(req.GetOpts()) -+ v := reflect.Indirect(val) -+ for i := 0; i < v.NumField(); i++ { -+ st := v.Type() -+ name := st.Field(i).Name -+ if strings.HasPrefix(name, "XXX_") { -+ continue -+ } -+ value := val.MethodByName("Get" + name).Call([]reflect.Value{}) -+ logrus.Debugf("CRIU option %s with value %v", name, value[0]) - } -- value := val.MethodByName("Get" + name).Call([]reflect.Value{}) -- logrus.Debugf("CRIU option %s with value %v", name, value[0]) - } - data, err := proto.Marshal(req) - if err != nil { -@@ -1064,6 +1127,10 @@ func (c *linuxContainer) criuSwrk(process *Process, req *criurpc.CriuReq, opts * - - t := resp.GetType() - switch { -+ case t == criurpc.CriuReqType_FEATURE_CHECK: -+ logrus.Debugf("Feature check says: %s", resp) -+ criuFeatures = resp.GetFeatures() -+ break - case t == criurpc.CriuReqType_NOTIFY: - if err := c.criuNotifications(resp, process, opts, extFds); err != nil { - return err --- -2.7.4.3 - diff --git a/patch/0015-runc-fix-runc-log-decode-failed.patch b/patch/0015-runc-fix-runc-log-decode-failed.patch new file mode 100644 index 0000000..11377cb --- /dev/null +++ b/patch/0015-runc-fix-runc-log-decode-failed.patch @@ -0,0 +1,62 @@ +From 5584140c9549c2c9c6a0b0c5afea0850d1e88926 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:32:43 +0800 +Subject: [PATCH] runc: fix runc log decode failed + +--- + main.go | 21 ++++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +diff --git a/main.go b/main.go +index 0a6f3b4..6e9101a 100644 +--- a/main.go ++++ b/main.go +@@ -1,6 +1,7 @@ + package main + + import ( ++ "encoding/json" + "errors" + "fmt" + "io" +@@ -10,6 +11,7 @@ import ( + "runtime" + "strconv" + "strings" ++ "time" + + "github.com/opencontainers/runc/libcontainer/seccomp" + "github.com/opencontainers/runtime-spec/specs-go" +@@ -219,7 +221,7 @@ func configLogrus(context *cli.Context) error { + logrus.SetOutput(f) + hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") + if serr != nil { +- fmt.Fprint(f, fmt.Sprintf("Leo: new syslog hook get %s", serr)) ++ logToFile(f, "error", fmt.Sprintf("Leo: new syslog hook get %s", serr)) + } else { + logrus.AddHook(hook) + } +@@ -238,3 +240,20 @@ func configLogrus(context *cli.Context) error { + } + return nil + } ++ ++func logToFile(f io.Writer, level string, msg string) { ++ var ( ++ log struct { ++ Level string ++ Msg string ++ Time time.Time ++ } ++ ) ++ log.Level = level ++ log.Msg = msg ++ log.Time = time.Now() ++ s, err := json.Marshal(log) ++ if err != nil { ++ fmt.Fprint(f, string(s)) ++ } ++} +-- +2.30.0 + diff --git a/patch/0016-Fix-console-syscalls.patch b/patch/0016-Fix-console-syscalls.patch deleted file mode 100644 index eced138..0000000 --- a/patch/0016-Fix-console-syscalls.patch +++ /dev/null @@ -1,129 +0,0 @@ -From 17199cf842a86765a21e2054e10e0c64f28353c8 Mon Sep 17 00:00:00 2001 -From: Christy Perez -Date: Mon, 27 Mar 2017 16:46:57 -0500 -Subject: [PATCH 16/94] Fix console syscalls - -Fixes opencontainers/runc/issues/1364 - -Change-Id: Ic12237e2ce327f4d9eab3145d0c4c2cff9fb641a -Signed-off-by: Christy Perez ---- - libcontainer/console_linux.go | 31 ++++++++++++++++--------------- - 1 file changed, 16 insertions(+), 15 deletions(-) - -diff --git a/libcontainer/console_linux.go b/libcontainer/console_linux.go -index e431766..5e364a8 100644 ---- a/libcontainer/console_linux.go -+++ b/libcontainer/console_linux.go -@@ -3,8 +3,9 @@ package libcontainer - import ( - "fmt" - "os" -- "syscall" - "unsafe" -+ -+ "golang.org/x/sys/unix" - ) - - func ConsoleFromFile(f *os.File) Console { -@@ -16,7 +17,7 @@ func ConsoleFromFile(f *os.File) Console { - // newConsole returns an initialized console that can be used within a container by copying bytes - // from the master side to the slave that is attached as the tty for the container's init process. - func newConsole() (Console, error) { -- master, err := os.OpenFile("/dev/ptmx", syscall.O_RDWR|syscall.O_NOCTTY|syscall.O_CLOEXEC, 0) -+ master, err := os.OpenFile("/dev/ptmx", unix.O_RDWR|unix.O_NOCTTY|unix.O_CLOEXEC, 0) - if err != nil { - return nil, err - } -@@ -68,8 +69,8 @@ func (c *linuxConsole) Close() error { - // mount initializes the console inside the rootfs mounting with the specified mount label - // and applying the correct ownership of the console. - func (c *linuxConsole) mount() error { -- oldMask := syscall.Umask(0000) -- defer syscall.Umask(oldMask) -+ oldMask := unix.Umask(0000) -+ defer unix.Umask(oldMask) - f, err := os.Create("/dev/console") - if err != nil && !os.IsExist(err) { - return err -@@ -77,19 +78,19 @@ func (c *linuxConsole) mount() error { - if f != nil { - f.Close() - } -- return syscall.Mount(c.slavePath, "/dev/console", "bind", syscall.MS_BIND, "") -+ return unix.Mount(c.slavePath, "/dev/console", "bind", unix.MS_BIND, "") - } - - // dupStdio opens the slavePath for the console and dups the fds to the current - // processes stdio, fd 0,1,2. - func (c *linuxConsole) dupStdio() error { -- slave, err := c.open(syscall.O_RDWR) -+ slave, err := c.open(unix.O_RDWR) - if err != nil { - return err - } - fd := int(slave.Fd()) - for _, i := range []int{0, 1, 2} { -- if err := syscall.Dup3(fd, i, 0); err != nil { -+ if err := unix.Dup3(fd, i, 0); err != nil { - return err - } - } -@@ -98,7 +99,7 @@ func (c *linuxConsole) dupStdio() error { - - // open is a clone of os.OpenFile without the O_CLOEXEC used to open the pty slave. - func (c *linuxConsole) open(flag int) (*os.File, error) { -- r, e := syscall.Open(c.slavePath, flag, 0) -+ r, e := unix.Open(c.slavePath, flag, 0) - if e != nil { - return nil, &os.PathError{ - Op: "open", -@@ -110,7 +111,7 @@ func (c *linuxConsole) open(flag int) (*os.File, error) { - } - - func ioctl(fd uintptr, flag, data uintptr) error { -- if _, _, err := syscall.Syscall(syscall.SYS_IOCTL, fd, flag, data); err != 0 { -+ if _, _, err := unix.Syscall(unix.SYS_IOCTL, fd, flag, data); err != 0 { - return err - } - return nil -@@ -120,13 +121,13 @@ func ioctl(fd uintptr, flag, data uintptr) error { - // unlockpt should be called before opening the slave side of a pty. - func unlockpt(f *os.File) error { - var u int32 -- return ioctl(f.Fd(), syscall.TIOCSPTLCK, uintptr(unsafe.Pointer(&u))) -+ return ioctl(f.Fd(), unix.TIOCSPTLCK, uintptr(unsafe.Pointer(&u))) - } - - // ptsname retrieves the name of the first available pts for the given master. - func ptsname(f *os.File) (string, error) { - var n int32 -- if err := ioctl(f.Fd(), syscall.TIOCGPTN, uintptr(unsafe.Pointer(&n))); err != nil { -+ if err := ioctl(f.Fd(), unix.TIOCGPTN, uintptr(unsafe.Pointer(&n))); err != nil { - return "", err - } - return fmt.Sprintf("/dev/pts/%d", n), nil -@@ -139,16 +140,16 @@ func ptsname(f *os.File) (string, error) { - // also relay that funky line discipline. - func saneTerminal(terminal *os.File) error { - // Go doesn't have a wrapper for any of the termios ioctls. -- var termios syscall.Termios -+ var termios unix.Termios - -- if err := ioctl(terminal.Fd(), syscall.TCGETS, uintptr(unsafe.Pointer(&termios))); err != nil { -+ if err := ioctl(terminal.Fd(), unix.TCGETS, uintptr(unsafe.Pointer(&termios))); err != nil { - return fmt.Errorf("ioctl(tty, tcgets): %s", err.Error()) - } - - // Set -onlcr so we don't have to deal with \r. -- termios.Oflag &^= syscall.ONLCR -+ termios.Oflag &^= unix.ONLCR - -- if err := ioctl(terminal.Fd(), syscall.TCSETS, uintptr(unsafe.Pointer(&termios))); err != nil { -+ if err := ioctl(terminal.Fd(), unix.TCSETS, uintptr(unsafe.Pointer(&termios))); err != nil { - return fmt.Errorf("ioctl(tty, tcsets): %s", err.Error()) - } - --- -2.7.4.3 - diff --git a/patch/0085-runc-do-not-setup-sysctl-in-runc-when-userns-.patch b/patch/0016-runc-do-not-setup-sysctl-in-runc-when-userns-enable.patch similarity index 52% rename from patch/0085-runc-do-not-setup-sysctl-in-runc-when-userns-.patch rename to patch/0016-runc-do-not-setup-sysctl-in-runc-when-userns-enable.patch index 3ad4aec..944a23c 100644 --- a/patch/0085-runc-do-not-setup-sysctl-in-runc-when-userns-.patch +++ b/patch/0016-runc-do-not-setup-sysctl-in-runc-when-userns-enable.patch @@ -1,26 +1,19 @@ -From 9421de9838d904c5eea40f0bd0cd50a00157392f Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Mon, 5 Mar 2018 21:15:15 +0800 -Subject: [PATCH 85/94] runc: do not setup sysctl in runc when userns - enabled +From 6b4045a28504aaefdb8c1e9abe6b4ad7c445684a Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:33:42 +0800 +Subject: [PATCH] runc:do not setup sysctl in runc when userns enable -reason:when userns enabled, runc will run as normal user, it has -no rights to setup sysctl even the ipcns sysctl. let docker-hooks do this job. - -Change-Id: Ia77b8c1bf4255973736f04c0962eae722ed9683e -Signed-off-by: gus.gao -Signed-off-by: zhangsong34 --- libcontainer/standard_init_linux.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go -index 18506af..fd836f3 100644 +index 0dd51b2..b202ba9 100644 --- a/libcontainer/standard_init_linux.go +++ b/libcontainer/standard_init_linux.go -@@ -107,10 +107,12 @@ func (l *linuxStandardInit) Init() error { - if err := label.SetProcessLabel(l.config.ProcessLabel); err != nil { - return err +@@ -130,10 +130,12 @@ func (l *linuxStandardInit) Init() error { + if err := apparmor.ApplyProfile(l.config.AppArmorProfile); err != nil { + return fmt.Errorf("unable to apply apparmor profile: %w", err) } - - for key, value := range l.config.Config.Sysctl { @@ -36,5 +29,5 @@ index 18506af..fd836f3 100644 } for _, path := range l.config.Config.ReadonlyPaths { -- -2.7.4.3 +2.30.0 diff --git a/patch/0017-restore-apply-resource-limits.patch b/patch/0017-restore-apply-resource-limits.patch deleted file mode 100644 index c9df593..0000000 --- a/patch/0017-restore-apply-resource-limits.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 7b92e178267794e026f5c38e632d82a00f038e96 Mon Sep 17 00:00:00 2001 -From: Andrei Vagin -Date: Fri, 7 Apr 2017 02:34:41 +0300 -Subject: [PATCH 17/94] restore: apply resource limits - -When C/R was implemented, it was enough to call manager.Set to apply -limits and to move a task. Now .Set() and .Apply() have to be called -separately. - -Change-Id: I4786732a1779a65eeb902fc1ef42b194ba8dd3b4 -Fixes: 8a740d5391a7 ("libcontainer: cgroups: don't Set in Apply") -Signed-off-by: Andrei Vagin ---- - libcontainer/container_linux.go | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 705472a..b5563d6 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -1008,6 +1008,10 @@ func (c *linuxContainer) criuApplyCgroups(pid int, req *criurpc.CriuReq) error { - return err - } - -+ if err := c.cgroupManager.Set(c.config); err != nil { -+ return newSystemError(err) -+ } -+ - path := fmt.Sprintf("/proc/%d/cgroup", pid) - cgroupsPaths, err := cgroups.ParseCgroupFile(path) - if err != nil { --- -2.7.4.3 - diff --git a/patch/0086-runc-support-set-seccomp-priority.patch b/patch/0017-runc-support-set-seccomp-priority.patch similarity index 30% rename from patch/0086-runc-support-set-seccomp-priority.patch rename to patch/0017-runc-support-set-seccomp-priority.patch index 0d3929d..dc84683 100644 --- a/patch/0086-runc-support-set-seccomp-priority.patch +++ b/patch/0017-runc-support-set-seccomp-priority.patch @@ -1,42 +1,32 @@ -From f0cff0f9ff831b2380d6907ac1b640eb998c4d88 Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Wed, 30 Jan 2019 15:33:44 +0800 -Subject: [PATCH 86/94] runc: support set seccomp priority +From e9cf09ef6800b7740b2c9a7fe7efcf6af91fbc9f Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:34:57 +0800 +Subject: [PATCH] runc: support set seccomp priority -reason:support set seccomp priority - -Change-Id: I73ea0ca4ce5dc7af975c62b56edbae03f9721e76 -Signed-off-by: gus.gao -Signed-off-by: zhangsong34 --- - libcontainer/configs/config.go | 7 ++++--- - libcontainer/seccomp/seccomp_linux.go | 2 +- - libcontainer/specconv/spec_linux.go | 7 ++++--- - 3 files changed, 9 insertions(+), 7 deletions(-) + libcontainer/configs/config.go | 1 + + libcontainer/seccomp/seccomp_linux.go | 2 +- + libcontainer/specconv/spec_linux.go | 1 + + .../github.com/opencontainers/runtime-spec/specs-go/config.go | 1 + + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go -index 78a7d1d..9074c86 100644 +index cda79bf..f85ade3 100644 --- a/libcontainer/configs/config.go +++ b/libcontainer/configs/config.go -@@ -76,9 +76,10 @@ type Arg struct { - - // Syscall is a rule to match a syscall in Seccomp - type Syscall struct { -- Name string `json:"name"` -- Action Action `json:"action"` -- Args []*Arg `json:"args"` -+ Name string `json:"name"` -+ Action Action `json:"action"` +@@ -88,6 +88,7 @@ type Syscall struct { + Name string `json:"name"` + Action Action `json:"action"` + ErrnoRet *uint `json:"errnoRet"` + Priority uint8 `json:"priority,omitempty"` -+ Args []*Arg `json:"args"` + Args []*Arg `json:"args"` } - // TODO Windows. Many of these fields should be factored out into those parts diff --git a/libcontainer/seccomp/seccomp_linux.go b/libcontainer/seccomp/seccomp_linux.go -index 518d2c3..db4bb4e 100644 +index 8c12af7..e4b5750 100644 --- a/libcontainer/seccomp/seccomp_linux.go +++ b/libcontainer/seccomp/seccomp_linux.go -@@ -198,7 +198,7 @@ func matchCall(filter *libseccomp.ScmpFilter, call *configs.Syscall) error { +@@ -256,7 +256,7 @@ func matchCall(filter *libseccomp.ScmpFilter, call *configs.Syscall, defAct libs } } @@ -44,25 +34,31 @@ index 518d2c3..db4bb4e 100644 + return filter.SetSyscallPriority(callNum, call.Priority) } - func parseStatusFile(path string) (map[string]string, error) { + // Version returns major, minor, and micro. diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index a8cf114..8c4567c 100644 +index 19dd947..02a7439 100644 --- a/libcontainer/specconv/spec_linux.go +++ b/libcontainer/specconv/spec_linux.go -@@ -757,9 +757,10 @@ func setupSeccomp(config *specs.LinuxSeccomp) (*configs.Seccomp, error) { - - for _, name := range call.Names { - newCall := configs.Syscall{ -- Name: name, -- Action: newAction, -- Args: []*configs.Arg{}, -+ Name: name, -+ Action: newAction, +@@ -1061,6 +1061,7 @@ func SetupSeccomp(config *specs.LinuxSeccomp) (*configs.Seccomp, error) { + Name: name, + Action: newAction, + ErrnoRet: call.ErrnoRet, + Priority: call.Priority, -+ Args: []*configs.Arg{}, + Args: []*configs.Arg{}, } // Loop through all the arguments of the syscall and convert them - for _, arg := range call.Args { +diff --git a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go +index e8143b2..135f74a 100644 +--- a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go ++++ b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go +@@ -688,6 +688,7 @@ type LinuxSyscall struct { + Names []string `json:"names"` + Action LinuxSeccompAction `json:"action"` + ErrnoRet *uint `json:"errnoRet,omitempty"` ++ Priority uint8 `json:"priority,omitempty"` + Args []LinuxSeccompArg `json:"args,omitempty"` + } + -- -2.7.4.3 +2.30.0 diff --git a/patch/0018-could-load-a-stopped-container.patch b/patch/0018-could-load-a-stopped-container.patch deleted file mode 100644 index a484f61..0000000 --- a/patch/0018-could-load-a-stopped-container.patch +++ /dev/null @@ -1,35 +0,0 @@ -From d8ea288801363d61c46a5eecfe7e1a9001767bc7 Mon Sep 17 00:00:00 2001 -From: CuiHaozhi -Date: Fri, 7 Apr 2017 07:39:41 -0400 -Subject: [PATCH 18/94] could load a stopped container. - -Change-Id: Ieabdef66ad7e9488a44b718093acf23f8aa947c4 -Signed-off-by: CuiHaozhi ---- - libcontainer/factory.go | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/libcontainer/factory.go b/libcontainer/factory.go -index f0ccb52..0986cd7 100644 ---- a/libcontainer/factory.go -+++ b/libcontainer/factory.go -@@ -10,7 +10,7 @@ type Factory interface { - // between 1 and 1024 characters, inclusive. - // - // The id must not already be in use by an existing container. Containers created using -- // a factory with the same path (and file system) must have distinct ids. -+ // a factory with the same path (and filesystem) must have distinct ids. - // - // Returns the new container with a running process. - // -@@ -28,7 +28,6 @@ type Factory interface { - // - // errors: - // Path does not exist -- // Container is stopped - // System error - Load(id string) (Container, error) - --- -2.7.4.3 - diff --git a/patch/0018-runc-do-not-kill-container-if-poststart-hooks-execut.patch b/patch/0018-runc-do-not-kill-container-if-poststart-hooks-execut.patch new file mode 100644 index 0000000..3cf2a6e --- /dev/null +++ b/patch/0018-runc-do-not-kill-container-if-poststart-hooks-execut.patch @@ -0,0 +1,28 @@ +From 7140cab44cd368e987089b66948cfc7f8a414b83 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:35:55 +0800 +Subject: [PATCH] runc:do not kill container if poststart hooks execute failed + +--- + libcontainer/container_linux.go | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go +index 425e44d..10890c1 100644 +--- a/libcontainer/container_linux.go ++++ b/libcontainer/container_linux.go +@@ -367,10 +367,7 @@ func (c *linuxContainer) start(process *Process) (retErr error) { + } + + if err := c.config.Hooks[configs.Poststart].RunHooks(s); err != nil { +- if err := ignoreTerminateErrors(parent.terminate()); err != nil { +- logrus.Warn(fmt.Errorf("error running poststart hook: %w, ContainerId: %s", err, s.ID)) +- } +- return err ++ logrus.Warn(fmt.Errorf("error running poststart hook: %w, ContainerId: %s", err, s.ID)) + } + } + } +-- +2.30.0 + diff --git a/patch/0019-Revert-back-to-using-sbin.patch b/patch/0019-Revert-back-to-using-sbin.patch deleted file mode 100644 index dcaca2f..0000000 --- a/patch/0019-Revert-back-to-using-sbin.patch +++ /dev/null @@ -1,32 +0,0 @@ -From a90e91c5fc8e6fb016d26666361e6d1bfd3f56c8 Mon Sep 17 00:00:00 2001 -From: Michael Crosby -Date: Fri, 14 Apr 2017 10:15:33 -0700 -Subject: [PATCH 19/94] Revert back to using /sbin - -This was changed in -https://github.com/opencontainers/runc/commit/d2f49696#diff-b67911656ef5d18c4ae36cb6741b7965R7 -and is causing install problems for people building runc and having it -installed in /bin and /sbin. - -Change-Id: Ibaef1dd279894342c48da5e6e8e7f1a7212003b8 -Signed-off-by: Michael Crosby ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 1cecca1..d6d337d 100644 ---- a/Makefile -+++ b/Makefile -@@ -4,7 +4,7 @@ - - SOURCES := $(shell find . 2>&1 | grep -E '.*\.(c|h|go)$$') - PREFIX := $(DESTDIR)/usr/local --BINDIR := $(PREFIX)/bin -+BINDIR := $(PREFIX)/sbin - GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null) - GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g") - RUNC_IMAGE := runc_dev$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN)) --- -2.7.4.3 - diff --git a/patch/0019-runc-print-memory-info-when-syscall.Exec-failed.patch b/patch/0019-runc-print-memory-info-when-syscall.Exec-failed.patch new file mode 100644 index 0000000..6cf9b5a --- /dev/null +++ b/patch/0019-runc-print-memory-info-when-syscall.Exec-failed.patch @@ -0,0 +1,76 @@ +From 5159ecfcc9180dd47e843818844c59cb9284d662 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:36:48 +0800 +Subject: [PATCH] runc: print memory info when syscall.Exec failed + +--- + libcontainer/container_linux.go | 1 + + libcontainer/standard_init_linux.go | 33 ++++++++++++++++++++++++++++- + 2 files changed, 33 insertions(+), 1 deletion(-) + +diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go +index 10890c1..5ef5a9a 100644 +--- a/libcontainer/container_linux.go ++++ b/libcontainer/container_linux.go +@@ -355,6 +355,7 @@ func (c *linuxContainer) start(process *Process) (retErr error) { + } + + if err := parent.start(); err != nil { ++ printCgroupInfo(c.config.Cgroups.Path) + return fmt.Errorf("unable to start container process: %w", err) + } + +diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go +index b202ba9..8a60501 100644 +--- a/libcontainer/standard_init_linux.go ++++ b/libcontainer/standard_init_linux.go +@@ -3,8 +3,10 @@ package libcontainer + import ( + "errors" + "fmt" ++ "io/ioutil" + "os" + "os/exec" ++ "path/filepath" + "strconv" + "time" + +@@ -274,5 +276,34 @@ func (l *linuxStandardInit) Init() error { + return err + } + +- return system.Exec(name, l.config.Args[0:], os.Environ()) ++ if err := system.Exec(name, l.config.Args[0:], os.Environ()); err != nil { ++ printCgroupInfo("") ++ return err ++ } ++ return nil + } ++ ++func printCgroupInfo(path string) { ++ cgroupRoot := "/sys/fs/cgroup" ++ infoFileList := []string{ ++ "/proc/meminfo", ++ "/sys/fs/cgroup/memory/memory.stat", ++ filepath.Join(cgroupRoot, "files", path, "files.limit"), ++ filepath.Join(cgroupRoot, "files", path, "files.usage"), ++ filepath.Join(cgroupRoot, "pids", path, "pids.max"), ++ filepath.Join(cgroupRoot, "pids", path, "pids.current"), ++ filepath.Join(cgroupRoot, "memory", path, "memory.usage_in_bytes"), ++ filepath.Join(cgroupRoot, "memory", path, "memory.limit_in_bytes"), ++ filepath.Join(cgroupRoot, "memory", path, "memory.stat"), ++ filepath.Join(cgroupRoot, "cpu", path, "cpu.stat"), ++ } ++ for _, file := range infoFileList { ++ printFileContent(file) ++ } ++} ++ ++func printFileContent(path string) { ++ output, err := ioutil.ReadFile(path) ++ logrus.Infof("content read from %s: %s, err: %v", path, string(output), err) ++} ++ +-- +2.30.0 + diff --git a/patch/0020-add-testcase-in-generic_error_test.go.patch b/patch/0020-add-testcase-in-generic_error_test.go.patch deleted file mode 100644 index 081dff5..0000000 --- a/patch/0020-add-testcase-in-generic_error_test.go.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 9d30f4580c68c7d16a94d0df04b61571b212e55f Mon Sep 17 00:00:00 2001 -From: chchliang -Date: Wed, 12 Apr 2017 16:26:30 +0800 -Subject: [PATCH 20/94] add testcase in generic_error_test.go - -Change-Id: Id0e21750ea9724d48423ab16f70786a1f62ea81c -Signed-off-by: chchliang ---- - libcontainer/generic_error_test.go | 35 +++++++++++++++++++++++++++++++++++ - 1 file changed, 35 insertions(+) - -diff --git a/libcontainer/generic_error_test.go b/libcontainer/generic_error_test.go -index 292d2a3..8fbdd4d 100644 ---- a/libcontainer/generic_error_test.go -+++ b/libcontainer/generic_error_test.go -@@ -12,3 +12,38 @@ func TestErrorDetail(t *testing.T) { - t.Fatal(derr) - } - } -+ -+func TestErrorWithCode(t *testing.T) { -+ err := newGenericError(fmt.Errorf("test error"), SystemError) -+ if code := err.Code(); code != SystemError { -+ t.Fatalf("expected err code %q but %q", SystemError, code) -+ } -+} -+ -+func TestErrorWithError(t *testing.T) { -+ cc := []struct { -+ errmsg string -+ cause string -+ }{ -+ { -+ errmsg: "test error", -+ }, -+ { -+ errmsg: "test error", -+ cause: "test", -+ }, -+ } -+ -+ for _, v := range cc { -+ err := newSystemErrorWithCause(fmt.Errorf(v.errmsg), v.cause) -+ -+ msg := err.Error() -+ if v.cause == "" && msg != v.errmsg { -+ t.Fatalf("expected err(%q) equal errmsg(%q)", msg, v.errmsg) -+ } -+ if v.cause != "" && msg == v.errmsg { -+ t.Fatalf("unexpected err(%q) equal errmsg(%q)", msg, v.errmsg) -+ } -+ -+ } -+} --- -2.7.4.3 - diff --git a/patch/0102-runc-add-sysctl-kernel.pid_max-to-whitelist.patch b/patch/0020-runc-add-sysctl-kernel.pid_max-to-whitelist.patch similarity index 51% rename from patch/0102-runc-add-sysctl-kernel.pid_max-to-whitelist.patch rename to patch/0020-runc-add-sysctl-kernel.pid_max-to-whitelist.patch index 8a2114d..b9470ee 100644 --- a/patch/0102-runc-add-sysctl-kernel.pid_max-to-whitelist.patch +++ b/patch/0020-runc-add-sysctl-kernel.pid_max-to-whitelist.patch @@ -1,26 +1,24 @@ -From fd784bfca82ff0f2383b9488da823fb83d25c63a Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Mon, 6 May 2019 19:29:40 +0800 -Subject: [PATCH] runc: add sysctl kernel.pid_max to whitelist +From af158d403f0395ee93636a6a77b4d37adbef6ee1 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:37:39 +0800 +Subject: [PATCH] runc:add sysctl kernel.pid_max to whitelist -reason:add sysctl kernel.pid_max to whitelist - -Signed-off-by: zhangsong34 --- libcontainer/configs/validate/validator.go | 1 + 1 file changed, 1 insertion(+) diff --git a/libcontainer/configs/validate/validator.go b/libcontainer/configs/validate/validator.go -index 5cb50fb..e6a97d0 100644 +index 627621a..3647aa2 100644 --- a/libcontainer/configs/validate/validator.go +++ b/libcontainer/configs/validate/validator.go -@@ -126,6 +126,7 @@ func (v *ConfigValidator) sysctl(config *configs.Config) error { +@@ -171,6 +171,7 @@ func (v *ConfigValidator) sysctl(config *configs.Config) error { "kernel.shmmax": true, "kernel.shmmni": true, "kernel.shm_rmid_forced": true, + "kernel.pid_max": true, } - for s := range config.Sysctl { + var ( -- -1.8.3.1 +2.30.0 + diff --git a/patch/0021-Fix-misspelling-of-properties-in-various-pl.patch b/patch/0021-Fix-misspelling-of-properties-in-various-pl.patch deleted file mode 100644 index 5eae225..0000000 --- a/patch/0021-Fix-misspelling-of-properties-in-various-pl.patch +++ /dev/null @@ -1,53 +0,0 @@ -From fe398ce943f5da085507be6a164568544fc0d1c4 Mon Sep 17 00:00:00 2001 -From: Tim Potter -Date: Fri, 21 Apr 2017 12:41:02 +1000 -Subject: [PATCH 21/94] Fix misspelling of "properties" in various - places - -Change-Id: I69229a0ba2472b52edd4c444ac7820ade837726d -Signed-off-by: Tim Potter ---- - checkpoint.go | 2 +- - man/runc-checkpoint.8.md | 2 +- - restore.go | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/checkpoint.go b/checkpoint.go -index 78977d7..9b5663f 100644 ---- a/checkpoint.go -+++ b/checkpoint.go -@@ -33,7 +33,7 @@ checkpointed.`, - cli.BoolFlag{Name: "file-locks", Usage: "handle file locks, for safety"}, - cli.BoolFlag{Name: "pre-dump", Usage: "dump container's memory information only, leave the container running after this"}, - cli.StringFlag{Name: "manage-cgroups-mode", Value: "", Usage: "cgroups mode: 'soft' (default), 'full' and 'strict'"}, -- cli.StringSliceFlag{Name: "empty-ns", Usage: "create a namespace, but don't restore its properies"}, -+ cli.StringSliceFlag{Name: "empty-ns", Usage: "create a namespace, but don't restore its properties"}, - }, - Action: func(context *cli.Context) error { - if err := checkArgs(context, 1, exactArgs); err != nil { -diff --git a/man/runc-checkpoint.8.md b/man/runc-checkpoint.8.md -index b0ce2f3..4c81fd4 100644 ---- a/man/runc-checkpoint.8.md -+++ b/man/runc-checkpoint.8.md -@@ -22,4 +22,4 @@ checkpointed. - --file-locks handle file locks, for safety - --pre-dump dump container's memory information only, leave the container running after this - --manage-cgroups-mode value cgroups mode: 'soft' (default), 'full' and 'strict' -- --empty-ns value create a namespace, but don't restore its properies -+ --empty-ns value create a namespace, but don't restore its properties -diff --git a/restore.go b/restore.go -index 06f635f..7ddc337 100644 ---- a/restore.go -+++ b/restore.go -@@ -80,7 +80,7 @@ using the runc checkpoint command.`, - }, - cli.StringSliceFlag{ - Name: "empty-ns", -- Usage: "create a namespace, but don't restore its properies", -+ Usage: "create a namespace, but don't restore its properties", - }, - }, - Action: func(context *cli.Context) error { --- -2.7.4.3 - diff --git a/patch/0021-runc-disable-core-dump-during-exec.patch b/patch/0021-runc-disable-core-dump-during-exec.patch new file mode 100644 index 0000000..536d924 --- /dev/null +++ b/patch/0021-runc-disable-core-dump-during-exec.patch @@ -0,0 +1,25 @@ +From c8bf02dafed3537cd295c0898804809744f02f1e Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:38:29 +0800 +Subject: [PATCH] runc:disable core dump during exec + +--- + libcontainer/process_linux.go | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go +index 29408d7..75d05b7 100644 +--- a/libcontainer/process_linux.go ++++ b/libcontainer/process_linux.go +@@ -79,6 +79,8 @@ func (p *setnsProcess) signal(sig os.Signal) error { + } + + func (p *setnsProcess) start() (retErr error) { ++ unix.Prctl(unix.PR_SET_DUMPABLE, 0, 0, 0, 0) ++ defer unix.Prctl(unix.PR_SET_DUMPABLE, 1, 0, 0, 0) + defer p.messageSockPair.parent.Close() + // get the "before" value of oom kill count + oom, _ := p.manager.OOMKillCount() +-- +2.30.0 + diff --git a/patch/0022-Add-a-rootless-containers-section-on-README.patch b/patch/0022-Add-a-rootless-containers-section-on-README.patch deleted file mode 100644 index 80b8683..0000000 --- a/patch/0022-Add-a-rootless-containers-section-on-README.patch +++ /dev/null @@ -1,63 +0,0 @@ -From e287eae0ba5cb39df6f09b3ce8436af3810986f3 Mon Sep 17 00:00:00 2001 -From: Jonh Wendell -Date: Fri, 21 Apr 2017 20:43:56 -0300 -Subject: [PATCH 22/94] Add a rootless containers section on README - -Closes #1413. - -Change-Id: I9058fea54d9f25c2fc0f07ca74a83300eed40b73 -Signed-off-by: Jonh Wendell ---- - README.md | 20 ++++++++++++++++++-- - 1 file changed, 18 insertions(+), 2 deletions(-) - -diff --git a/README.md b/README.md -index ae1ab28..a951f0d 100644 ---- a/README.md -+++ b/README.md -@@ -117,8 +117,8 @@ Assuming you have an OCI bundle from the previous step you can execute the conta - The first way is to use the convenience command `run` that will handle creating, starting, and deleting the container after it exits. - - ```bash -+# run as root - cd /mycontainer -- - runc run mycontainerid - ``` - -@@ -165,8 +165,8 @@ Now we can go though the lifecycle operations in your shell. - - - ```bash -+# run as root - cd /mycontainer -- - runc create mycontainerid - - # view the container is created and in the "created" state -@@ -185,6 +185,22 @@ runc delete mycontainerid - This adds more complexity but allows higher level systems to manage runc and provides points in the containers creation to setup various settings after the container has created and/or before it is deleted. - This is commonly used to setup the container's network stack after `create` but before `start` where the user's defined process will be running. - -+#### Rootless containers -+`runc` has the ability to run containers without root privileges. This is called `rootless`. You need to pass some parameters to `runc` in order to run rootless containers. See below and compare with the previous version. Run the following commands as an ordinary user: -+```bash -+# Same as the first example -+mkdir ~/mycontainer -+cd ~/mycontainer -+mkdir rootfs -+docker export $(docker create busybox) | tar -C rootfs -xvf - -+ -+# The --rootless parameter instructs runc spec to generate a configuration for a rootless container, which will allow you to run the container as a non-root user. -+runc spec --rootless -+ -+# The --root parameter tells runc where to store the container state. It must be writable by the user. -+runc --root /tmp/runc run mycontainerid -+``` -+ - #### Supervisors - - `runc` can be used with process supervisors and init systems to ensure that containers are restarted when they exit. --- -2.7.4.3 - diff --git a/patch/0107-runc-fix-exec-problem-caused-by-libseccomp-up.patch b/patch/0022-runc-fix-exec-problem-caused-by-libseccomp-updating.patch similarity index 58% rename from patch/0107-runc-fix-exec-problem-caused-by-libseccomp-up.patch rename to patch/0022-runc-fix-exec-problem-caused-by-libseccomp-updating.patch index 32fe306..45cfb43 100644 --- a/patch/0107-runc-fix-exec-problem-caused-by-libseccomp-up.patch +++ b/patch/0022-runc-fix-exec-problem-caused-by-libseccomp-updating.patch @@ -1,7 +1,7 @@ -From 60153d0c986ed01350a74fb93b39836b59e8f26e Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Tue, 20 Aug 2019 02:40:45 +0800 -Subject: [PATCH] runc: fix exec problem caused by libseccomp updating +From 62ccdfd5cd6572c8c2c5965b9ca85fc78f43bfb6 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:41:29 +0800 +Subject: [PATCH] runc:fix exec problem caused by libseccomp updating reason: libseccomp updating causes runc exec performance degradation, which causes container health check failed and container @@ -23,19 +23,26 @@ Signed-off-by: xiadanni 1 file changed, 3 insertions(+) diff --git a/libcontainer/seccomp/seccomp_linux.go b/libcontainer/seccomp/seccomp_linux.go -index db4bb4e..0c97da6 100644 +index e4b5750..a925be1 100644 --- a/libcontainer/seccomp/seccomp_linux.go +++ b/libcontainer/seccomp/seccomp_linux.go -@@ -29,6 +29,9 @@ var ( - // Setns calls, however, require a separate invocation, as they are not children - // of the init until they join the namespace - func InitSeccomp(config *configs.Seccomp) error { +@@ -6,6 +6,7 @@ package seccomp + import ( + "errors" + "fmt" ++ "os" + + libseccomp "github.com/seccomp/libseccomp-golang" + "github.com/sirupsen/logrus" +@@ -30,6 +31,8 @@ const ( + // Returns the seccomp file descriptor if any of the filters include a + // SCMP_ACT_NOTIFY action, otherwise returns -1. + func InitSeccomp(config *configs.Seccomp) (int, error) { + os.Setenv("LIBSECCOMP_TRANSACTION_DISABLE", "1") + defer os.Unsetenv("LIBSECCOMP_TRANSACTION_DISABLE") -+ if config == nil { - return fmt.Errorf("cannot initialize Seccomp - nil config passed") + return -1, errors.New("cannot initialize Seccomp - nil config passed") } -- -1.8.3.1 +2.30.0 diff --git a/patch/0023-runc-add-log-message-for-cgroup-file-check.patch b/patch/0023-runc-add-log-message-for-cgroup-file-check.patch new file mode 100644 index 0000000..9c35486 --- /dev/null +++ b/patch/0023-runc-add-log-message-for-cgroup-file-check.patch @@ -0,0 +1,87 @@ +From 71c298bc54c68714bde5f4aad293f2fa603ede3e Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:43:03 +0800 +Subject: [PATCH] runc:add log message for cgroup file check + +--- + libcontainer/cgroups/file.go | 7 ++++++- + libcontainer/cgroups/fs/cpuset.go | 31 +++++++++++++++++++++++-------- + 2 files changed, 29 insertions(+), 9 deletions(-) + +diff --git a/libcontainer/cgroups/file.go b/libcontainer/cgroups/file.go +index 0cdaf74..bc7f0a3 100644 +--- a/libcontainer/cgroups/file.go ++++ b/libcontainer/cgroups/file.go +@@ -51,7 +51,12 @@ func WriteFile(dir, file, data string) error { + defer fd.Close() + if err := retryingWriteFile(fd, data); err != nil { + // Having data in the error message helps in debugging. +- return fmt.Errorf("failed to write %q: %w", data, err) ++ ret := fmt.Errorf("failed to write %v to %v: %v", data, file, err) ++ if _, err = os.Stat(dir); err != nil { ++ ret = fmt.Errorf("%v, failed to stat %v, %v", ret, dir, err) ++ } ++ ++ return ret + } + return nil + } +diff --git a/libcontainer/cgroups/fs/cpuset.go b/libcontainer/cgroups/fs/cpuset.go +index 341d5dc..ef1f633 100644 +--- a/libcontainer/cgroups/fs/cpuset.go ++++ b/libcontainer/cgroups/fs/cpuset.go +@@ -25,14 +25,23 @@ func (s *CpusetGroup) Apply(path string, r *configs.Resources, pid int) error { + } + + func (s *CpusetGroup) Set(path string, r *configs.Resources) error { ++ var ret error + if r.CpusetCpus != "" { + if err := cgroups.WriteFile(path, "cpuset.cpus", r.CpusetCpus); err != nil { +- return err ++ ret = fmt.Errorf("failed to set cpuset.cpus, %v", err) ++ if _, err := os.Stat(path); err != nil { ++ ret = fmt.Errorf("%v, failed to stat %v, %v", ret, path, err) ++ } ++ return ret + } + } + if r.CpusetMems != "" { + if err := cgroups.WriteFile(path, "cpuset.mems", r.CpusetMems); err != nil { +- return err ++ ret = fmt.Errorf("failed to set cpuset.mems, %v", err) ++ if _, err := os.Stat(path); err != nil { ++ ret = fmt.Errorf("%v, failed to stat %v, %v", ret, path, err) ++ } ++ return ret + } + } + return nil +@@ -231,13 +240,19 @@ func cpusetEnsureParent(current string) error { + // cpusetCopyIfNeeded copies the cpuset.cpus and cpuset.mems from the parent + // directory to the current directory if the file's contents are 0 + func cpusetCopyIfNeeded(current, parent string) error { +- currentCpus, currentMems, err := getCpusetSubsystemSettings(current) +- if err != nil { +- return err ++ if currentCpus, currentMems, err := getCpusetSubsystemSettings(current); err != nil { ++ ret := fmt.Errorf("failed copy current cgroup setting, %v", err) ++ if _, err := os.Stat(current); err != nil { ++ ret = fmt.Errorf("%v, %v", ret, err) ++ } ++ return ret + } +- parentCpus, parentMems, err := getCpusetSubsystemSettings(parent) +- if err != nil { +- return err ++ if parentCpus, parentMems, err := getCpusetSubsystemSettings(parent); err != nil { ++ ret := fmt.Errorf("failed copy parent cgroup setting, %v", err) ++ if _, err := os.Stat(parent); err != nil { ++ ret = fmt.Errorf("%v, %v", ret, err) ++ } ++ return ret + } + + if isEmptyCpuset(currentCpus) { +-- +2.30.0 + diff --git a/patch/0023-vendor-clean-up-to-be-better-written.patch b/patch/0023-vendor-clean-up-to-be-better-written.patch deleted file mode 100644 index 7dd13ba..0000000 --- a/patch/0023-vendor-clean-up-to-be-better-written.patch +++ /dev/null @@ -1,69 +0,0 @@ -From d6c62e91d7763bb88287a052f6f5a3dc7bee5284 Mon Sep 17 00:00:00 2001 -From: Aleksa Sarai -Date: Sat, 15 Apr 2017 17:31:39 +1000 -Subject: [PATCH 23/94] vendor: clean up to be better written - -vndr doesn't support non-top-level imports, and in addition we really -should be using tagged releases far more than we currently are -(*especially* when it come to the OCI specs). - -Change-Id: Ifb997a6d9edf2d89d6b2d440ea4fa305b1b4df18 -Signed-off-by: Aleksa Sarai ---- - tests/integration/spec.bats | 2 +- - vendor.conf | 28 +++++++++++++++++----------- - 2 files changed, 18 insertions(+), 12 deletions(-) - -diff --git a/tests/integration/spec.bats b/tests/integration/spec.bats -index e9f28fb..6061706 100644 ---- a/tests/integration/spec.bats -+++ b/tests/integration/spec.bats -@@ -72,7 +72,7 @@ function teardown() { - run git clone https://github.com/opencontainers/runtime-spec.git src/runtime-spec - [ "$status" -eq 0 ] - -- SPEC_COMMIT=$(grep runtime-spec ${TESTDIR}/../../vendor.conf | cut -d ' ' -f 2) -+ SPEC_COMMIT=$(grep '^github.com/opencontainers/runtime-spec' ${TESTDIR}/../../vendor.conf | cut -d ' ' -f 2) - run git -C src/runtime-spec reset --hard "${SPEC_COMMIT}" - - [ "$status" -eq 0 ] -diff --git a/vendor.conf b/vendor.conf -index 17a546e..6ab9bf8 100644 ---- a/vendor.conf -+++ b/vendor.conf -@@ -1,15 +1,21 @@ --github.com/Sirupsen/logrus 26709e2714106fb8ad40b773b711ebce25b78914 --github.com/coreos/go-systemd 48702e0da86bd25e76cfef347e2adeb434a0d0a6 --github.com/coreos/pkg/dlopen 3ac0863d7acf3bc44daf49afef8919af12f704ef --github.com/docker/docker 0f5c9d301b9b1cca66b3ea0f9dec3b5317d3686d --github.com/docker/go-units 9b001659dd36225e356b4467c465d732e745f53d --github.com/godbus/dbus c7fdd8b5cd55e87b4e1f4e372cdb1db61dd6c66f --github.com/golang/protobuf/proto f7137ae6b19afbfd61a94b746fda3b3fe0491874 -+# OCI runtime-spec. When updating this, make sure you use a version tag rather -+# than a commit ID so it's much more obvious what version of the spec we are -+# using. -+github.com/opencontainers/runtime-spec v1.0.0-rc5 -+# Core libcontainer functionality. - github.com/mrunalp/fileutils ed869b029674c0e9ce4c0dfa781405c2d9946d08 --github.com/opencontainers/runtime-spec/specs-go 035da1dca3dfbb00d752eb58b0b158d6129f3776 --github.com/opencontainers/selinux ba1aefe8057f1d0cfb8e88d0ec1dc85925ef987d -+github.com/opencontainers/selinux v1.0.0-rc1 - github.com/seccomp/libseccomp-golang 32f571b70023028bd57d9288c20efbcb237f3ce0 --github.com/syndtr/gocapability/capability e7cb7fa329f456b3855136a2642b197bad7366ba --github.com/urfave/cli d53eb991652b1d438abdd34ce4bfa3ef1539108e -+github.com/Sirupsen/logrus 26709e2714106fb8ad40b773b711ebce25b78914 -+github.com/syndtr/gocapability e7cb7fa329f456b3855136a2642b197bad7366ba - github.com/vishvananda/netlink 1e2e08e8a2dcdacaae3f14ac44c5cfa31361f270 -+# systemd integration. -+github.com/coreos/go-systemd v14 -+github.com/coreos/pkg v3 -+github.com/godbus/dbus v3 -+github.com/golang/protobuf f7137ae6b19afbfd61a94b746fda3b3fe0491874 -+# Command-line interface. -+github.com/docker/docker 0f5c9d301b9b1cca66b3ea0f9dec3b5317d3686d -+github.com/docker/go-units v0.2.0 -+github.com/urfave/cli d53eb991652b1d438abdd34ce4bfa3ef1539108e - golang.org/x/sys 9a7256cb28ed514b4e1e5f68959914c4c28a92e0 https://github.com/golang/sys --- -2.7.4.3 - diff --git a/patch/0024-Optimizing-looping-over-namespaces.patch b/patch/0024-Optimizing-looping-over-namespaces.patch deleted file mode 100644 index 7d8dcec..0000000 --- a/patch/0024-Optimizing-looping-over-namespaces.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 6108649ff1f4f270bfeb5f2aec1de8917d9b7609 Mon Sep 17 00:00:00 2001 -From: Harshal Patil -Date: Tue, 25 Apr 2017 15:56:40 +0530 -Subject: [PATCH 24/94] Optimizing looping over namespaces - -Change-Id: I82612d1f8161b4656011ba45b619dcd9150a3c2f -Signed-off-by: Harshal Patil ---- - libcontainer/container_linux.go | 21 +++++++++++---------- - 1 file changed, 11 insertions(+), 10 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index b5563d6..aeaf583 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -1454,18 +1454,17 @@ func (c *linuxContainer) orderNamespacePaths(namespaces map[configs.NamespaceTyp - configs.NEWNS, - } - -- // Remove namespaces that we don't need to join. -- var nsTypes []configs.NamespaceType - for _, ns := range order { -- if c.config.Namespaces.Contains(ns) { -- nsTypes = append(nsTypes, ns) -+ -+ // Remove namespaces that we don't need to join. -+ if !c.config.Namespaces.Contains(ns) { -+ continue - } -- } -- for _, nsType := range nsTypes { -- if p, ok := namespaces[nsType]; ok && p != "" { -+ -+ if p, ok := namespaces[ns]; ok && p != "" { - // check if the requested namespace is supported -- if !configs.IsNamespaceSupported(nsType) { -- return nil, newSystemError(fmt.Errorf("namespace %s is not supported", nsType)) -+ if !configs.IsNamespaceSupported(ns) { -+ return nil, newSystemError(fmt.Errorf("namespace %s is not supported", ns)) - } - // only set to join this namespace if it exists - if _, err := os.Lstat(p); err != nil { -@@ -1476,9 +1475,11 @@ func (c *linuxContainer) orderNamespacePaths(namespaces map[configs.NamespaceTyp - if strings.ContainsRune(p, ',') { - return nil, newSystemError(fmt.Errorf("invalid path %s", p)) - } -- paths = append(paths, fmt.Sprintf("%s:%s", configs.NsName(nsType), p)) -+ paths = append(paths, fmt.Sprintf("%s:%s", configs.NsName(ns), p)) - } -+ - } -+ - return paths, nil - } - --- -2.7.4.3 - diff --git a/patch/0024-runc-unified-use-of-logpipe.patch b/patch/0024-runc-unified-use-of-logpipe.patch new file mode 100644 index 0000000..a9bc691 --- /dev/null +++ b/patch/0024-runc-unified-use-of-logpipe.patch @@ -0,0 +1,125 @@ +From c40ef2e5c3415c807172271936a06dfbf89747ee Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:43:54 +0800 +Subject: [PATCH] runc:add log message for cgroup file check + +--- + libcontainer/container_linux.go | 1 - + libcontainer/standard_init_linux.go | 30 +---------------------------- + main.go | 25 ------------------------ + 3 files changed, 1 insertion(+), 55 deletions(-) + +diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go +index 5ef5a9a..10890c1 100644 +--- a/libcontainer/container_linux.go ++++ b/libcontainer/container_linux.go +@@ -355,7 +355,6 @@ func (c *linuxContainer) start(process *Process) (retErr error) { + } + + if err := parent.start(); err != nil { +- printCgroupInfo(c.config.Cgroups.Path) + return fmt.Errorf("unable to start container process: %w", err) + } + +diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go +index 8a60501..99e7003 100644 +--- a/libcontainer/standard_init_linux.go ++++ b/libcontainer/standard_init_linux.go +@@ -276,34 +276,6 @@ func (l *linuxStandardInit) Init() error { + return err + } + +- if err := system.Exec(name, l.config.Args[0:], os.Environ()); err != nil { +- printCgroupInfo("") +- return err +- } +- return nil +-} +- +-func printCgroupInfo(path string) { +- cgroupRoot := "/sys/fs/cgroup" +- infoFileList := []string{ +- "/proc/meminfo", +- "/sys/fs/cgroup/memory/memory.stat", +- filepath.Join(cgroupRoot, "files", path, "files.limit"), +- filepath.Join(cgroupRoot, "files", path, "files.usage"), +- filepath.Join(cgroupRoot, "pids", path, "pids.max"), +- filepath.Join(cgroupRoot, "pids", path, "pids.current"), +- filepath.Join(cgroupRoot, "memory", path, "memory.usage_in_bytes"), +- filepath.Join(cgroupRoot, "memory", path, "memory.limit_in_bytes"), +- filepath.Join(cgroupRoot, "memory", path, "memory.stat"), +- filepath.Join(cgroupRoot, "cpu", path, "cpu.stat"), +- } +- for _, file := range infoFileList { +- printFileContent(file) +- } +-} +- +-func printFileContent(path string) { +- output, err := ioutil.ReadFile(path) +- logrus.Infof("content read from %s: %s, err: %v", path, string(output), err) ++ return system.Exec(name, l.config.Args[0:], os.Environ()) + } + +diff --git a/main.go b/main.go +index 6e9101a..e624347 100644 +--- a/main.go ++++ b/main.go +@@ -1,7 +1,6 @@ + package main + + import ( +- "encoding/json" + "errors" + "fmt" + "io" +@@ -11,13 +10,11 @@ import ( + "runtime" + "strconv" + "strings" +- "time" + + "github.com/opencontainers/runc/libcontainer/seccomp" + "github.com/opencontainers/runtime-spec/specs-go" + + "github.com/sirupsen/logrus" +- logrus_syslog "github.com/sirupsen/logrus/hooks/syslog" + "github.com/urfave/cli" + ) + +@@ -219,12 +216,6 @@ func configLogrus(context *cli.Context) error { + return err + } + logrus.SetOutput(f) +- hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") +- if serr != nil { +- logToFile(f, "error", fmt.Sprintf("Leo: new syslog hook get %s", serr)) +- } else { +- logrus.AddHook(hook) +- } + } + if logLevel := context.GlobalString("log-level"); logLevel != "" { + lvl, err := logrus.ParseLevel(logLevel) +@@ -241,19 +232,3 @@ func configLogrus(context *cli.Context) error { + return nil + } + +-func logToFile(f io.Writer, level string, msg string) { +- var ( +- log struct { +- Level string +- Msg string +- Time time.Time +- } +- ) +- log.Level = level +- log.Msg = msg +- log.Time = time.Now() +- s, err := json.Marshal(log) +- if err != nil { +- fmt.Fprint(f, string(s)) +- } +-} +-- +2.30.0 + diff --git a/patch/0025-Add-a-rootless-section-to-spec-man-page-and.patch b/patch/0025-Add-a-rootless-section-to-spec-man-page-and.patch deleted file mode 100644 index f67965c..0000000 --- a/patch/0025-Add-a-rootless-section-to-spec-man-page-and.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 06f6824badbdc3a8c89d106abe5337c869a7d95f Mon Sep 17 00:00:00 2001 -From: Jonh Wendell -Date: Thu, 27 Apr 2017 10:52:31 -0300 -Subject: [PATCH 25/94] Add a rootless section to "spec" man page and - command help - -Change-Id: I6211c1adf2f6428652c75cd7cb76b86d782e7237 -Signed-off-by: Jonh Wendell ---- - man/runc-spec.8.md | 3 +++ - spec.go | 9 +++++++-- - 2 files changed, 10 insertions(+), 2 deletions(-) - -diff --git a/man/runc-spec.8.md b/man/runc-spec.8.md -index 3c69e23..4f8e9bb 100644 ---- a/man/runc-spec.8.md -+++ b/man/runc-spec.8.md -@@ -45,5 +45,8 @@ already running as root, you can use sudo to give runc root privilege. For - example: "sudo runc start container1" will give runc root privilege to start the - container on your host. - -+Alternatively, you can start a rootless container, which has the ability to run without root privileges. For this to work, the specification file needs to be adjusted accordingly. You can pass the parameter --rootless to this command to generate a proper rootless spec file. -+ - # OPTIONS - --bundle value, -b value path to the root of the bundle directory -+ --rootless generate a configuration for a rootless container -diff --git a/spec.go b/spec.go -index 9024ad4..a15c84e 100644 ---- a/spec.go -+++ b/spec.go -@@ -51,13 +51,18 @@ must be unique on your host. - - An alternative for generating a customized spec config is to use "oci-runtime-tool", the - sub-command "oci-runtime-tool generate" has lots of options that can be used to do any --customizations as you want, see [runtime-tools](https://github.com/opencontainers/runtime-tools) -+customizations as you want, see runtime-tools (https://github.com/opencontainers/runtime-tools) - to get more information. - - When starting a container through runc, runc needs root privilege. If not - already running as root, you can use sudo to give runc root privilege. For - example: "sudo runc start container1" will give runc root privilege to start the --container on your host.`, -+container on your host. -+ -+Alternatively, you can start a rootless container, which has the ability to run -+without root privileges. For this to work, the specification file needs to be -+adjusted accordingly. You can pass the parameter --rootless to this command to -+generate a proper rootless spec file.`, - Flags: []cli.Flag{ - cli.StringFlag{ - Name: "bundle, b", --- -2.7.4.3 - diff --git a/patch/0135-runc-support-set-cpuset.prefer_cpus-using-cpuset-cpu.patch b/patch/0025-runc-support-set-cpuset.prefer_cpus-using-cpuset-cpu.patch similarity index 70% rename from patch/0135-runc-support-set-cpuset.prefer_cpus-using-cpuset-cpu.patch rename to patch/0025-runc-support-set-cpuset.prefer_cpus-using-cpuset-cpu.patch index ed731b5..0035b39 100644 --- a/patch/0135-runc-support-set-cpuset.prefer_cpus-using-cpuset-cpu.patch +++ b/patch/0025-runc-support-set-cpuset.prefer_cpus-using-cpuset-cpu.patch @@ -1,46 +1,36 @@ -From 01519a2176a214dd6da1c217b4c1c8f11007fc61 Mon Sep 17 00:00:00 2001 -From: Vanient -Date: Sat, 7 May 2022 09:39:57 +0800 -Subject: [PATCH] runc: support set cpuset.prefer_cpus using --cpuset-cpus +From b22fdd593f463caea0c96c66b1fed442bccfeb8f Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:48:21 +0800 +Subject: [PATCH] runc:support set cpuset.prefer_cpus using --cpuset-cpus -we need to set cpuset.prefer_cpus for performance. Using "+" as -separator, the cpuset value after separator is the prefer_cpus value. - -Signed-off-by: Vanient --- - libcontainer/cgroups/fs/cpuset.go | 116 ++++++++++++++++++++++++++++-- - 1 file changed, 112 insertions(+), 4 deletions(-) + libcontainer/cgroups/fs/cpuset.go | 118 +++++++++++++++++++++++++++++- + 1 file changed, 114 insertions(+), 4 deletions(-) diff --git a/libcontainer/cgroups/fs/cpuset.go b/libcontainer/cgroups/fs/cpuset.go -index 76cb719b..28ffbdb6 100644 +index ef1f633..989f4ec 100644 --- a/libcontainer/cgroups/fs/cpuset.go +++ b/libcontainer/cgroups/fs/cpuset.go -@@ -8,6 +8,8 @@ import ( - "io/ioutil" - "os" - "path/filepath" -+ "strconv" -+ "strings" - - "github.com/Sirupsen/logrus" - "github.com/opencontainers/runc/libcontainer/cgroups" -@@ -30,17 +32,123 @@ func (s *CpusetGroup) Apply(d *cgroupData) error { - return s.ApplyDir(dir, d.config, d.pid) +@@ -24,16 +24,126 @@ func (s *CpusetGroup) Apply(path string, r *configs.Resources, pid int) error { + return s.ApplyDir(path, r, pid) } --func (s *CpusetGroup) Set(path string, cgroup *configs.Cgroup) error { +-func (s *CpusetGroup) Set(path string, r *configs.Resources) error { - var ret error -- if cgroup.Resources.CpusetCpus != "" { -- if err := writeFile(path, "cpuset.cpus", cgroup.Resources.CpusetCpus); err != nil { +- if r.CpusetCpus != "" { +- if err := cgroups.WriteFile(path, "cpuset.cpus", r.CpusetCpus); err != nil { +func parseCpus(cpus string) (map[int]bool, error) { + persedCpus := make(map[int]bool) + for _, cpu := range strings.Split(cpus, ",") { ++ invalidFormatError := fmt.Errorf("invalid cpuset format: %s", cpu) + if cpuInt, err := strconv.Atoi(cpu); err == nil { ++ if cpuInt < 0 { ++ return nil, invalidFormatError ++ } + persedCpus[cpuInt] = true + continue + } + -+ invalidFormatError := fmt.Errorf("invalid cpuset format: %s", cpu) + ranges := strings.Split(cpu, "-") + if len(ranges) != 2 { + return nil, invalidFormatError @@ -50,6 +40,9 @@ index 76cb719b..28ffbdb6 100644 + if err1 != nil || err2 != nil { + return nil, invalidFormatError + } ++ if lower < 0 || upper < 0 { ++ return nil, invalidFormatError ++ } + if lower > upper { + return nil, invalidFormatError + } @@ -129,7 +122,7 @@ index 76cb719b..28ffbdb6 100644 + } + if err := writeFile(path, "cpuset.preferred_cpus", ""); err != nil { + return fmt.Errorf("failed to set cpuset.preferred_cpus to nil, %v", err) - } ++ } + if err := writeFile(path, "cpuset.cpus", cpusetStr); err != nil { + return fmt.Errorf("failed to set cpuset.cpus, %v", err) + } @@ -142,16 +135,13 @@ index 76cb719b..28ffbdb6 100644 + return nil +} + -+// Set sets container cpuset cgroup -+func (s *CpusetGroup) Set(path string, cgroup *configs.Cgroup) error { ++func (s *CpusetGroup) Set(path string, r *configs.Resources) error { + var ret error -+ if cgroup.Resources.CpusetCpus != "" { ++ if r.CpusetCpus != "" { + return s.setCpuset(path, cgroup.Resources.CpusetCpus) -+ } -+ - if cgroup.Resources.CpusetMems != "" { - if err := writeFile(path, "cpuset.mems", cgroup.Resources.CpusetMems); err != nil { - ret = fmt.Errorf("failed to set cpuset.cpus, %v", err) + } + if r.CpusetMems != "" { + if err := cgroups.WriteFile(path, "cpuset.mems", r.CpusetMems); err != nil { -- -2.27.0 +2.30.0 diff --git a/patch/0026-Allow-updating-container-pids-limit.patch b/patch/0026-Allow-updating-container-pids-limit.patch deleted file mode 100644 index 91177cf..0000000 --- a/patch/0026-Allow-updating-container-pids-limit.patch +++ /dev/null @@ -1,150 +0,0 @@ -From 01218c77284209117e40350419fb60f76896a369 Mon Sep 17 00:00:00 2001 -From: Kenfe-Mickael Laventure -Date: Wed, 26 Apr 2017 09:53:20 -0700 -Subject: [PATCH 26/94] Allow updating container pids limit - -Change-Id: I5cc0d8804b1de3da943e4651806d0041eb33d7f2 -Signed-off-by: Kenfe-Mickael Laventure ---- - tests/integration/update.bats | 23 +++++++++++++++++++++-- - update.go | 9 +++++++++ - 2 files changed, 30 insertions(+), 2 deletions(-) - -diff --git a/tests/integration/update.bats b/tests/integration/update.bats -index 4a6bf7f..a3f3782 100644 ---- a/tests/integration/update.bats -+++ b/tests/integration/update.bats -@@ -33,6 +33,9 @@ function setup() { - "blockio": { - "blkioWeight": 1000 - }, -+ "pids": { -+ "limit": 20 -+ }, - EOF - ) - DATA=$(echo ${DATA} | sed 's/\n/\\n/g') -@@ -61,7 +64,7 @@ function check_cgroup_value() { - wait_for_container 15 1 test_update - - # get the cgroup paths -- for g in MEMORY CPUSET CPU BLKIO; do -+ for g in MEMORY CPUSET CPU BLKIO PIDS; do - base_path=$(grep "cgroup" /proc/self/mountinfo | gawk 'toupper($NF) ~ /\<'${g}'\>/ { print $5; exit }') - eval CGROUP_${g}="${base_path}/runc-update-integration-test" - done -@@ -78,6 +81,7 @@ function check_cgroup_value() { - check_cgroup_value $CGROUP_MEMORY "memory.kmem.tcp.limit_in_bytes" 11534336 - check_cgroup_value $CGROUP_MEMORY "memory.limit_in_bytes" 33554432 - check_cgroup_value $CGROUP_MEMORY "memory.soft_limit_in_bytes" 25165824 -+ check_cgroup_value $CGROUP_PIDS "pids.max" 20 - - # update blkio-weight - runc update test_update --blkio-weight 500 -@@ -160,6 +164,11 @@ function check_cgroup_value() { - [ "$status" -eq 0 ] - check_cgroup_value $CGROUP_MEMORY "memory.kmem.tcp.limit_in_bytes" 41943040 - -+ # update pids limit -+ runc update test_update --pids-limit 10 -+ [ "$status" -eq 0 ] -+ check_cgroup_value $CGROUP_PIDS "pids.max" 10 -+ - # Revert to the test initial value via json on stding - runc update -r - test_update < -Date: Mon, 9 May 2022 20:32:24 +0800 -Subject: [PATCH] [Huawei]runc:add DT for cpuset.preferred_cpus setting +From 43dfa46b403166f4195803b7522bbc94a97d8e7c Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:49:18 +0800 +Subject: [PATCH] runc:add DT for cpuset.preferred_cpus setting -Signed-off-by: Vanient --- - libcontainer/cgroups/fs/cpuset.go | 8 +- libcontainer/cgroups/fs/cpuset_test.go | 217 +++++++++++++++++++++++++ tests/test_docker_cpuset_preferred.sh | 41 +++++ - 3 files changed, 265 insertions(+), 1 deletion(-) + 2 files changed, 258 insertions(+) create mode 100755 tests/test_docker_cpuset_preferred.sh -diff --git a/libcontainer/cgroups/fs/cpuset.go b/libcontainer/cgroups/fs/cpuset.go -index 28ffbdb6..ebf75ec3 100644 ---- a/libcontainer/cgroups/fs/cpuset.go -+++ b/libcontainer/cgroups/fs/cpuset.go -@@ -35,12 +35,15 @@ func (s *CpusetGroup) Apply(d *cgroupData) error { - func parseCpus(cpus string) (map[int]bool, error) { - persedCpus := make(map[int]bool) - for _, cpu := range strings.Split(cpus, ",") { -+ invalidFormatError := fmt.Errorf("invalid cpuset format: %s", cpu) - if cpuInt, err := strconv.Atoi(cpu); err == nil { -+ if cpuInt < 0 { -+ return nil, invalidFormatError -+ } - persedCpus[cpuInt] = true - continue - } - -- invalidFormatError := fmt.Errorf("invalid cpuset format: %s", cpu) - ranges := strings.Split(cpu, "-") - if len(ranges) != 2 { - return nil, invalidFormatError -@@ -50,6 +53,9 @@ func parseCpus(cpus string) (map[int]bool, error) { - if err1 != nil || err2 != nil { - return nil, invalidFormatError - } -+ if lower < 0 || upper < 0 { -+ return nil, invalidFormatError -+ } - if lower > upper { - return nil, invalidFormatError - } diff --git a/libcontainer/cgroups/fs/cpuset_test.go b/libcontainer/cgroups/fs/cpuset_test.go -index 0f929151..1fd2141c 100644 +index 8933b3c..0c72c7d 100644 --- a/libcontainer/cgroups/fs/cpuset_test.go +++ b/libcontainer/cgroups/fs/cpuset_test.go -@@ -3,6 +3,9 @@ +@@ -1,6 +1,9 @@ package fs import ( + "os" + "path/filepath" + "strings" + "reflect" "testing" - ) -@@ -35,6 +38,220 @@ func TestCpusetSetCpus(t *testing.T) { +@@ -66,6 +69,220 @@ func TestCPUSetSetCpus(t *testing.T) { } } @@ -274,12 +241,12 @@ index 0f929151..1fd2141c 100644 + } +} + - func TestCpusetSetMems(t *testing.T) { - helper := NewCgroupTestUtil("cpuset", t) - defer helper.cleanup() + func TestCPUSetSetMems(t *testing.T) { + path := tempDir(t, "cpuset") + diff --git a/tests/test_docker_cpuset_preferred.sh b/tests/test_docker_cpuset_preferred.sh new file mode 100755 -index 00000000..c80db24e +index 0000000..c80db24 --- /dev/null +++ b/tests/test_docker_cpuset_preferred.sh @@ -0,0 +1,41 @@ @@ -325,5 +292,5 @@ index 00000000..c80db24e +echo "PASS" +exit 0 -- -2.27.0 +2.30.0 diff --git a/patch/0027-Remove-redundant-declaraion-of-namespace-sl.patch b/patch/0027-Remove-redundant-declaraion-of-namespace-sl.patch deleted file mode 100644 index 17f1e2a..0000000 --- a/patch/0027-Remove-redundant-declaraion-of-namespace-sl.patch +++ /dev/null @@ -1,59 +0,0 @@ -From e35db3fff6d86c31ca0203ef02ffa1cf2b05bf89 Mon Sep 17 00:00:00 2001 -From: Harshal Patil -Date: Fri, 28 Apr 2017 10:12:56 +0530 -Subject: [PATCH 27/94] Remove redundant declaraion of namespace - slice - -Change-Id: I7e7e45cec65264a91ef3dec804953a1285b23b96 -Signed-off-by: Harshal Patil ---- - libcontainer/configs/namespaces_unix.go | 6 +++--- - libcontainer/container_linux.go | 11 +---------- - 2 files changed, 4 insertions(+), 13 deletions(-) - -diff --git a/libcontainer/configs/namespaces_unix.go b/libcontainer/configs/namespaces_unix.go -index 8beba9d..1f0b3ee 100644 ---- a/libcontainer/configs/namespaces_unix.go -+++ b/libcontainer/configs/namespaces_unix.go -@@ -64,12 +64,12 @@ func IsNamespaceSupported(ns NamespaceType) bool { - - func NamespaceTypes() []NamespaceType { - return []NamespaceType{ -+ NEWUSER, // Keep user NS always first, don't move it. -+ NEWIPC, -+ NEWUTS, - NEWNET, - NEWPID, - NEWNS, -- NEWUTS, -- NEWIPC, -- NEWUSER, - } - } - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index aeaf583..173a3f0 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -1444,17 +1444,8 @@ func (c *linuxContainer) currentState() (*State, error) { - // can setns in order. - func (c *linuxContainer) orderNamespacePaths(namespaces map[configs.NamespaceType]string) ([]string, error) { - paths := []string{} -- order := []configs.NamespaceType{ -- // The user namespace *must* be done first. -- configs.NEWUSER, -- configs.NEWIPC, -- configs.NEWUTS, -- configs.NEWNET, -- configs.NEWPID, -- configs.NEWNS, -- } - -- for _, ns := range order { -+ for _, ns := range configs.NamespaceTypes() { - - // Remove namespaces that we don't need to join. - if !c.config.Namespaces.Contains(ns) { --- -2.7.4.3 - diff --git a/patch/0027-runc-modify-runc-Makefile.patch b/patch/0027-runc-modify-runc-Makefile.patch new file mode 100644 index 0000000..a210516 --- /dev/null +++ b/patch/0027-runc-modify-runc-Makefile.patch @@ -0,0 +1,79 @@ +From 6ee9f98fdd90901a2f93b7b58244e543c4623dbe Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:50:18 +0800 +Subject: [PATCH] runc:modify runc Makefile + +--- + Makefile | 28 ++++++++++++++++++++++------ + 1 file changed, 22 insertions(+), 6 deletions(-) + +diff --git a/Makefile b/Makefile +index cf82c0c..34b5347 100644 +--- a/Makefile ++++ b/Makefile +@@ -10,9 +10,12 @@ GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g") + RUNC_IMAGE := runc_dev$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN)) + PROJECT := github.com/opencontainers/runc + BUILDTAGS ?= seccomp +-COMMIT ?= $(shell git describe --dirty --long --always) ++COMMIT ?= $(shell cat ./git-commit | head -c 40) + VERSION := $(shell cat ./VERSION) + ++BEP_DIR := "/tmp/runc-build-bep" ++BEP_FLAG := "-tmpdir=${BEP_DIR}" ++ + ifeq ($(shell $(GO) env GOOS),linux) + ifeq (,$(filter $(shell $(GO) env GOARCH),mips mipsle mips64 mips64le ppc64)) + ifeq (,$(findstring -race,$(EXTRA_FLAGS))) +@@ -22,23 +25,33 @@ ifeq ($(shell $(GO) env GOOS),linux) + endif + GO_BUILD := $(GO) build -trimpath $(GO_BUILDMODE) $(EXTRA_FLAGS) -tags "$(BUILDTAGS)" \ + -ldflags "-X main.gitCommit=$(COMMIT) -X main.version=$(VERSION) $(EXTRA_LDFLAGS)" +-GO_BUILD_STATIC := CGO_ENABLED=1 $(GO) build -trimpath $(EXTRA_FLAGS) -tags "$(BUILDTAGS) netgo osusergo" \ +- -ldflags "-extldflags -static -X main.gitCommit=$(COMMIT) -X main.version=$(VERSION) $(EXTRA_LDFLAGS)" ++GO_BUILD_STATIC := $(GO) build -trimpath $(EXTRA_FLAGS) -tags "$(BUILDTAGS) static_build cgo netgo osusergo" + + GPG_KEYID ?= asarai@suse.de + + .DEFAULT: runc + + runc: +- $(GO_BUILD) -o runc . ++ mkdir -p ${BEP_DIR} ++ $(GO_BUILD) $(BEP_FLAG) -buildid=IdByIsula -o runc . + + all: runc recvtty sd-helper seccompagent + + recvtty sd-helper seccompagent: +- $(GO_BUILD) -o contrib/cmd/$@/$@ ./contrib/cmd/$@ ++ $(GO_BUILD) $(BEP_FLAG) -buildid=IdByIsula -o contrib/cmd/$@/$@ ./contrib/cmd/$@ ++ ++LD_FLAGS='-buildid=none -tmpdir=/tmp/bep-runc -linkmode=external -extldflags=-Wl,-z,relro,-z,now \ ++ -extldflags -static -X main.gitCommit=$(COMMIT) -X main.version=$(VERSION) $(EXTRA_LDFLAGS) \ ++ ' + + static: +- $(GO_BUILD_STATIC) -o runc . ++ rm -rf /tmp/bep-runc && mkdir /tmp/bep-runc ++ CGO_ENABLED=1 \ ++ CGO_CFLAGS="-fstack-protector-strong -fPIE -D_FORTIFY_SOURCE=2 -O2" \ ++ CGO_CPPFLAGS="-fstack-protector-strong -fPIE -D_FORTIFY_SOURCE=2 -O2" \ ++ CGO_LDFLAGS_ALLOW='-Wl,-z,relro,-z,now' \ ++ CGO_LDFLAGS="-Wl,-z,relro,-z,now -Wl,-z,noexecstack" \ ++ $(GO_BUILD_STATIC) -buildmode=pie -ldflags $(LD_FLAGS) -o runc . + + releaseall: RELEASE_ARGS := "-a arm64 -a armel -a armhf -a ppc64le -a s390x" + releaseall: release +@@ -70,6 +83,9 @@ runcimage: + + test: unittest integration rootlessintegration + ++check: ++ go test -v ./libcontainer ++ + localtest: localunittest localintegration localrootlessintegration + + unittest: runcimage +-- +2.30.0 + diff --git a/patch/0028-Revert-saneTerminal.patch b/patch/0028-Revert-saneTerminal.patch deleted file mode 100644 index 8336f37..0000000 --- a/patch/0028-Revert-saneTerminal.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 34dc868ee8515be89835bc98ccbf01f22bd6b1b9 Mon Sep 17 00:00:00 2001 -From: Michael Crosby -Date: Wed, 7 Jun 2017 10:51:42 -0700 -Subject: [PATCH 28/94] Revert saneTerminal - -Keep the ONCLR for the terminal created by runc for backwards compat -support of older clients. - -Change-Id: Ibdf33687262f13ef98c882328d55c9c4212ce0b6 -Signed-off-by: Michael Crosby ---- - libcontainer/console_linux.go | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/libcontainer/console_linux.go b/libcontainer/console_linux.go -index 5e364a8..5927bdc 100644 ---- a/libcontainer/console_linux.go -+++ b/libcontainer/console_linux.go -@@ -21,9 +21,6 @@ func newConsole() (Console, error) { - if err != nil { - return nil, err - } -- if err := saneTerminal(master); err != nil { -- return nil, err -- } - console, err := ptsname(master) - if err != nil { - return nil, err --- -2.7.4.3 - diff --git a/patch/0028-runc-cgroup-apply-method-modify.patch b/patch/0028-runc-cgroup-apply-method-modify.patch new file mode 100644 index 0000000..31baaeb --- /dev/null +++ b/patch/0028-runc-cgroup-apply-method-modify.patch @@ -0,0 +1,267 @@ +From 6ae765b2529fbfde33c3562834308add80bd34e2 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:51:24 +0800 +Subject: [PATCH] runc:cgroup apply method modify + +--- + libcontainer/cgroups/fs/cpuset.go | 15 ++++- + libcontainer/cgroups/fs/files.go | 23 +++---- + libcontainer/cgroups/fs/utils.go | 97 +++++++++++++++++++++++++++++ + libcontainer/rootfs_linux.go | 1 + + libcontainer/standard_init_linux.go | 4 +- + main.go | 1 - + 6 files changed, 119 insertions(+), 22 deletions(-) + create mode 100644 libcontainer/cgroups/fs/utils.go + +diff --git a/libcontainer/cgroups/fs/cpuset.go b/libcontainer/cgroups/fs/cpuset.go +index 989f4ec..379407e 100644 +--- a/libcontainer/cgroups/fs/cpuset.go ++++ b/libcontainer/cgroups/fs/cpuset.go +@@ -1,7 +1,9 @@ + package fs + + import ( ++ "fmt" + "errors" ++ "io/ioutil" + "os" + "path/filepath" + "strconv" +@@ -9,6 +11,7 @@ import ( + + "golang.org/x/sys/unix" + ++ "github.com/sirupsen/logrus" + "github.com/opencontainers/runc/libcontainer/cgroups" + "github.com/opencontainers/runc/libcontainer/cgroups/fscommon" + "github.com/opencontainers/runc/libcontainer/configs" +@@ -143,7 +146,7 @@ func (s *CpusetGroup) setCpuset(path, cpuset string) error { + func (s *CpusetGroup) Set(path string, r *configs.Resources) error { + var ret error + if r.CpusetCpus != "" { +- return s.setCpuset(path, cgroup.Resources.CpusetCpus) ++ return s.setCpuset(path, r.CpusetCpus) + } + if r.CpusetMems != "" { + if err := cgroups.WriteFile(path, "cpuset.mems", r.CpusetMems); err != nil { +@@ -350,14 +353,20 @@ func cpusetEnsureParent(current string) error { + // cpusetCopyIfNeeded copies the cpuset.cpus and cpuset.mems from the parent + // directory to the current directory if the file's contents are 0 + func cpusetCopyIfNeeded(current, parent string) error { +- if currentCpus, currentMems, err := getCpusetSubsystemSettings(current); err != nil { ++ var ( ++ err error ++ currentCpus, currentMems string ++ parentCpus, parentMems string ++ ) ++ ++ if currentCpus, currentMems, err = getCpusetSubsystemSettings(current); err != nil { + ret := fmt.Errorf("failed copy current cgroup setting, %v", err) + if _, err := os.Stat(current); err != nil { + ret = fmt.Errorf("%v, %v", ret, err) + } + return ret + } +- if parentCpus, parentMems, err := getCpusetSubsystemSettings(parent); err != nil { ++ if parentCpus, parentMems, err = getCpusetSubsystemSettings(parent); err != nil { + ret := fmt.Errorf("failed copy parent cgroup setting, %v", err) + if _, err := os.Stat(parent); err != nil { + ret = fmt.Errorf("%v, %v", ret, err) +diff --git a/libcontainer/cgroups/fs/files.go b/libcontainer/cgroups/fs/files.go +index 3315cda..b02743c 100644 +--- a/libcontainer/cgroups/fs/files.go ++++ b/libcontainer/cgroups/fs/files.go +@@ -18,27 +18,22 @@ import ( + "path/filepath" + ) + +-type FilesGroup struct { +-} ++type FilesGroup struct {} + + func (s *FilesGroup) Name() string { + return "files" + } + +-func (s *FilesGroup) Apply(d *cgroupData) error { +- _, err := d.join("files") +- if err != nil && !cgroups.IsNotFound(err) { +- return err +- } +- return nil ++func (s *FilesGroup) Apply(path string, _ *configs.Resources, pid int) error { ++ return apply(path, pid) + } + +-func (s *FilesGroup) Set(path string, cgroup *configs.Cgroup) error { +- if cgroup.Resources.FilesLimit != 0 { ++func (s *FilesGroup) Set(path string, r *configs.Resources) error { ++ if r.FilesLimit != 0 { + // "max" is the fallback value. + limit := "max" +- if cgroup.Resources.FilesLimit > 0 { +- limit = strconv.FormatInt(cgroup.Resources.FilesLimit, 10) ++ if r.FilesLimit > 0 { ++ limit = strconv.FormatInt(r.FilesLimit, 10) + } + + if err := writeFile(path, "files.limit", limit); err != nil { +@@ -49,10 +44,6 @@ func (s *FilesGroup) Set(path string, cgroup *configs.Cgroup) error { + return nil + } + +-func (s *FilesGroup) Remove(d *cgroupData) error { +- return removePath(d.path("files")) +-} +- + func (s *FilesGroup) GetStats(path string, stats *cgroups.Stats) error { + usage, err := getCgroupParamUint(path, "files.usage") + if err != nil { +diff --git a/libcontainer/cgroups/fs/utils.go b/libcontainer/cgroups/fs/utils.go +new file mode 100644 +index 0000000..38820a8 +--- /dev/null ++++ b/libcontainer/cgroups/fs/utils.go +@@ -0,0 +1,97 @@ ++// +build linux ++ ++package fs ++ ++import ( ++ "errors" ++ "os" ++ "fmt" ++ "io/ioutil" ++ "path/filepath" ++ "strconv" ++ "strings" ++) ++ ++var ( ++ ErrNotValidFormat = errors.New("line is not a valid key value format") ++) ++ ++// Saturates negative values at zero and returns a uint64. ++// Due to kernel bugs, some of the memory cgroup stats can be negative. ++func parseUint(s string, base, bitSize int) (uint64, error) { ++ value, err := strconv.ParseUint(s, base, bitSize) ++ if err != nil { ++ intValue, intErr := strconv.ParseInt(s, base, bitSize) ++ // 1. Handle negative values greater than MinInt64 (and) ++ // 2. Handle negative values lesser than MinInt64 ++ if intErr == nil && intValue < 0 { ++ return 0, nil ++ } else if intErr != nil && intErr.(*strconv.NumError).Err == strconv.ErrRange && intValue < 0 { ++ return 0, nil ++ } ++ ++ return value, err ++ } ++ ++ return value, nil ++} ++ ++// Parses a cgroup param and returns as name, value ++// i.e. "io_service_bytes 1234" will return as io_service_bytes, 1234 ++func getCgroupParamKeyValue(t string) (string, uint64, error) { ++ parts := strings.Fields(t) ++ switch len(parts) { ++ case 2: ++ value, err := parseUint(parts[1], 10, 64) ++ if err != nil { ++ return "", 0, fmt.Errorf("unable to convert param value (%q) to uint64: %v", parts[1], err) ++ } ++ ++ return parts[0], value, nil ++ default: ++ return "", 0, ErrNotValidFormat ++ } ++} ++ ++// Gets a single uint64 value from the specified cgroup file. ++func getCgroupParamUint(cgroupPath, cgroupFile string) (uint64, error) { ++ fileName := filepath.Join(cgroupPath, cgroupFile) ++ contents, err := ioutil.ReadFile(fileName) ++ if err != nil { ++ return 0, err ++ } ++ ++ res, err := parseUint(strings.TrimSpace(string(contents)), 10, 64) ++ if err != nil { ++ return res, fmt.Errorf("unable to parse %q as a uint from Cgroup file %q", string(contents), fileName) ++ } ++ return res, nil ++} ++ ++// Gets a string value from the specified cgroup file ++func getCgroupParamString(cgroupPath, cgroupFile string) (string, error) { ++ contents, err := ioutil.ReadFile(filepath.Join(cgroupPath, cgroupFile)) ++ if err != nil { ++ return "", err ++ } ++ ++ return strings.TrimSpace(string(contents)), nil ++} ++ ++func writeFile(dir, file, data string) error { ++ // Normally dir should not be empty, one case is that cgroup subsystem ++ // is not mounted, we will get empty dir, and we want it fail here. ++ if dir == "" { ++ return fmt.Errorf("no such directory for %s", file) ++ } ++ if err := ioutil.WriteFile(filepath.Join(dir, file), []byte(data), 0700); err != nil { ++ ret := fmt.Errorf("failed to write %v to %v: %v", data, file, err) ++ if _, err = os.Stat(dir); err != nil { ++ ret = fmt.Errorf("%v, failed to stat %v, %v", ret, dir, err) ++ } ++ ++ return ret ++ } ++ return nil ++} ++ +diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go +index 4dbe9f4..0bf1729 100644 +--- a/libcontainer/rootfs_linux.go ++++ b/libcontainer/rootfs_linux.go +@@ -10,6 +10,7 @@ import ( + "path/filepath" + "strconv" + "strings" ++ "syscall" + "time" + + securejoin "github.com/cyphar/filepath-securejoin" +diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go +index 99e7003..c288c88 100644 +--- a/libcontainer/standard_init_linux.go ++++ b/libcontainer/standard_init_linux.go +@@ -3,11 +3,11 @@ package libcontainer + import ( + "errors" + "fmt" +- "io/ioutil" + "os" + "os/exec" +- "path/filepath" + "strconv" ++ "strings" ++ "syscall" + "time" + + "github.com/opencontainers/runtime-spec/specs-go" +diff --git a/main.go b/main.go +index e624347..e52a2ea 100644 +--- a/main.go ++++ b/main.go +@@ -4,7 +4,6 @@ import ( + "errors" + "fmt" + "io" +- "log/syslog" + "os" + "path/filepath" + "runtime" +-- +2.30.0 + diff --git a/patch/0029-runc-runc-log-forward-to-syslog.patch b/patch/0029-runc-runc-log-forward-to-syslog.patch new file mode 100644 index 0000000..980f512 --- /dev/null +++ b/patch/0029-runc-runc-log-forward-to-syslog.patch @@ -0,0 +1,88 @@ +From 0013fb97dd10a75ae6f455d8c839315f13a39969 Mon Sep 17 00:00:00 2001 +From: zhongjiawei +Date: Thu, 5 Jan 2023 16:52:16 +0800 +Subject: [PATCH] runc:runc log forward to syslog + +--- + main.go | 27 ++++++++++++++++++- + .../sirupsen/logrus/hooks/syslog/syslog.go | 2 +- + 2 files changed, 27 insertions(+), 2 deletions(-) + +diff --git a/main.go b/main.go +index e52a2ea..381681e 100644 +--- a/main.go ++++ b/main.go +@@ -1,19 +1,23 @@ + package main + + import ( ++ "encoding/json" + "errors" + "fmt" + "io" ++ "log/syslog" + "os" + "path/filepath" + "runtime" + "strconv" + "strings" ++ "time" + + "github.com/opencontainers/runc/libcontainer/seccomp" + "github.com/opencontainers/runtime-spec/specs-go" + + "github.com/sirupsen/logrus" ++ logrus_syslog "github.com/sirupsen/logrus/hooks/syslog" + "github.com/urfave/cli" + ) + +@@ -215,6 +219,12 @@ func configLogrus(context *cli.Context) error { + return err + } + logrus.SetOutput(f) ++ hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") ++ if serr != nil { ++ logToFile(f, "error", fmt.Sprintf("new syslog hook get %s", serr)) ++ } else { ++ logrus.AddHook(hook) ++ } + } + if logLevel := context.GlobalString("log-level"); logLevel != "" { + lvl, err := logrus.ParseLevel(logLevel) +@@ -230,4 +240,19 @@ func configLogrus(context *cli.Context) error { + } + return nil + } +- ++func logToFile(f io.Writer, level string, msg string) { ++ var ( ++ log struct { ++ Level string ++ Msg string ++ Time time.Time ++ } ++ ) ++ log.Level = level ++ log.Msg = msg ++ log.Time = time.Now() ++ s, err := json.Marshal(log) ++ if err != nil { ++ fmt.Fprint(f, string(s)) ++ } ++} +diff --git a/vendor/github.com/sirupsen/logrus/hooks/syslog/syslog.go b/vendor/github.com/sirupsen/logrus/hooks/syslog/syslog.go +index b6fa374..430f646 100644 +--- a/vendor/github.com/sirupsen/logrus/hooks/syslog/syslog.go ++++ b/vendor/github.com/sirupsen/logrus/hooks/syslog/syslog.go +@@ -2,7 +2,7 @@ package logrus_syslog + + import ( + "fmt" +- "github.com/Sirupsen/logrus" ++ "github.com/sirupsen/logrus" + "log/syslog" + "os" + ) +-- +2.30.0 + diff --git a/patch/0029-vendor-runtime-spec-fork-docker-runtime-spe.patch b/patch/0029-vendor-runtime-spec-fork-docker-runtime-spe.patch deleted file mode 100644 index d5a6ea3..0000000 --- a/patch/0029-vendor-runtime-spec-fork-docker-runtime-spe.patch +++ /dev/null @@ -1,59 +0,0 @@ -From c9d66ffed85529579f4247581d0d387fc21d92fa Mon Sep 17 00:00:00 2001 -From: Tibor Vass -Date: Thu, 6 Jul 2017 10:28:14 -0700 -Subject: [PATCH 29/94] vendor runtime-spec fork - docker/runtime-spec@a45ba0989fc26c695fe166a49c45bb8b7618ab36 - -This vendoring brings in the change from uint64 to int64 in the Memory -structs. - -Change-Id: Ic928ff9cde8055a24ad039ccff64b8ceff917142 -Signed-off-by: Tibor Vass ---- - vendor.conf | 2 +- - .../opencontainers/runtime-spec/specs-go/config.go | 12 ++++++------ - 2 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/vendor.conf b/vendor.conf -index 6ab9bf8..b961707 100644 ---- a/vendor.conf -+++ b/vendor.conf -@@ -1,7 +1,7 @@ - # OCI runtime-spec. When updating this, make sure you use a version tag rather - # than a commit ID so it's much more obvious what version of the spec we are - # using. --github.com/opencontainers/runtime-spec v1.0.0-rc5 -+github.com/opencontainers/runtime-spec a45ba0989fc26c695fe166a49c45bb8b7618ab36 https://github.com/docker/runtime-spec - # Core libcontainer functionality. - github.com/mrunalp/fileutils ed869b029674c0e9ce4c0dfa781405c2d9946d08 - github.com/opencontainers/selinux v1.0.0-rc1 -diff --git a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -index bd8e96a..6d2a026 100644 ---- a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -+++ b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -@@ -281,16 +281,16 @@ type LinuxBlockIO struct { - // LinuxMemory for Linux cgroup 'memory' resource management - type LinuxMemory struct { - // Memory limit (in bytes). -- Limit *uint64 `json:"limit,omitempty"` -+ Limit *int64 `json:"limit,omitempty"` - // Memory reservation or soft_limit (in bytes). -- Reservation *uint64 `json:"reservation,omitempty"` -+ Reservation *int64 `json:"reservation,omitempty"` - // Total memory limit (memory + swap). -- Swap *uint64 `json:"swap,omitempty"` -+ Swap *int64 `json:"swap,omitempty"` - // Kernel memory limit (in bytes). -- Kernel *uint64 `json:"kernel,omitempty"` -+ Kernel *int64 `json:"kernel,omitempty"` - // Kernel memory limit for tcp (in bytes) -- KernelTCP *uint64 `json:"kernelTCP,omitempty"` -- // How aggressive the kernel will swap memory pages. Range from 0 to 100. -+ KernelTCP *int64 `json:"kernelTCP,omitempty"` -+ // How aggressive the kernel will swap memory pages. - Swappiness *uint64 `json:"swappiness,omitempty"` - } - --- -2.7.4.3 - diff --git a/patch/0030-Update-memory-specs-to-use-int64-not-uint64.patch b/patch/0030-Update-memory-specs-to-use-int64-not-uint64.patch deleted file mode 100644 index 382ce82..0000000 --- a/patch/0030-Update-memory-specs-to-use-int64-not-uint64.patch +++ /dev/null @@ -1,198 +0,0 @@ -From 8ffbf2a8b8ae7119ae31bb15a30cb41711b809e2 Mon Sep 17 00:00:00 2001 -From: Justin Cormack -Date: Fri, 23 Jun 2017 17:17:00 -0700 -Subject: [PATCH 30/94] Update memory specs to use int64 not uint64 - -replace #1492 #1494 -fix #1422 - -Since https://github.com/opencontainers/runtime-spec/pull/876 the memory -specifications are now `int64`, as that better matches the visible interface where -`-1` is a valid value. Otherwise finding the correct value was difficult as it -was kernel dependent. - -Signed-off-by: Justin Cormack -(cherry picked from commit 3d9074ead33a5c27dc20bb49457c69c6d2ae6b57) -Signed-off-by: Tibor Vass - -Change-Id: I07ec53368c5058076d3bd35e122f32259bf69854 ---- - libcontainer/cgroups/fs/memory.go | 36 +++++++++++++++++------------------- - libcontainer/configs/cgroup_unix.go | 10 +++++----- - update.go | 14 +++++++------- - 3 files changed, 29 insertions(+), 31 deletions(-) - -diff --git a/libcontainer/cgroups/fs/memory.go b/libcontainer/cgroups/fs/memory.go -index 0981cfb..c993839 100644 ---- a/libcontainer/cgroups/fs/memory.go -+++ b/libcontainer/cgroups/fs/memory.go -@@ -71,14 +71,14 @@ func EnableKernelMemoryAccounting(path string) error { - // until a limit is set on the cgroup and limit cannot be set once the - // cgroup has children, or if there are already tasks in the cgroup. - for _, i := range []int64{1, -1} { -- if err := setKernelMemory(path, uint64(i)); err != nil { -+ if err := setKernelMemory(path, i); err != nil { - return err - } - } - return nil - } - --func setKernelMemory(path string, kernelMemoryLimit uint64) error { -+func setKernelMemory(path string, kernelMemoryLimit int64) error { - if path == "" { - return fmt.Errorf("no such directory for %s", cgroupKernelMemoryLimit) - } -@@ -86,7 +86,7 @@ func setKernelMemory(path string, kernelMemoryLimit uint64) error { - // kernel memory is not enabled on the system so we should do nothing - return nil - } -- if err := ioutil.WriteFile(filepath.Join(path, cgroupKernelMemoryLimit), []byte(strconv.FormatUint(kernelMemoryLimit, 10)), 0700); err != nil { -+ if err := ioutil.WriteFile(filepath.Join(path, cgroupKernelMemoryLimit), []byte(strconv.FormatInt(kernelMemoryLimit, 10)), 0700); err != nil { - // Check if the error number returned by the syscall is "EBUSY" - // The EBUSY signal is returned on attempts to write to the - // memory.kmem.limit_in_bytes file if the cgroup has children or -@@ -104,14 +104,12 @@ func setKernelMemory(path string, kernelMemoryLimit uint64) error { - } - - func setMemoryAndSwap(path string, cgroup *configs.Cgroup) error { -- ulimited := -1 -- -- // If the memory update is set to uint64(-1) we should also -- // set swap to uint64(-1), it means unlimited memory. -- if cgroup.Resources.Memory == uint64(ulimited) { -- // Only set swap if it's enbled in kernel -+ // If the memory update is set to -1 we should also -+ // set swap to -1, it means unlimited memory. -+ if cgroup.Resources.Memory == -1 { -+ // Only set swap if it's enabled in kernel - if cgroups.PathExists(filepath.Join(path, cgroupMemorySwapLimit)) { -- cgroup.Resources.MemorySwap = uint64(ulimited) -+ cgroup.Resources.MemorySwap = -1 - } - } - -@@ -126,29 +124,29 @@ func setMemoryAndSwap(path string, cgroup *configs.Cgroup) error { - // When update memory limit, we should adapt the write sequence - // for memory and swap memory, so it won't fail because the new - // value and the old value don't fit kernel's validation. -- if cgroup.Resources.MemorySwap == uint64(ulimited) || memoryUsage.Limit < cgroup.Resources.MemorySwap { -- if err := writeFile(path, cgroupMemorySwapLimit, strconv.FormatUint(cgroup.Resources.MemorySwap, 10)); err != nil { -+ if cgroup.Resources.MemorySwap == -1 || memoryUsage.Limit < uint64(cgroup.Resources.MemorySwap) { -+ if err := writeFile(path, cgroupMemorySwapLimit, strconv.FormatInt(cgroup.Resources.MemorySwap, 10)); err != nil { - return err - } -- if err := writeFile(path, cgroupMemoryLimit, strconv.FormatUint(cgroup.Resources.Memory, 10)); err != nil { -+ if err := writeFile(path, cgroupMemoryLimit, strconv.FormatInt(cgroup.Resources.Memory, 10)); err != nil { - return err - } - } else { -- if err := writeFile(path, cgroupMemoryLimit, strconv.FormatUint(cgroup.Resources.Memory, 10)); err != nil { -+ if err := writeFile(path, cgroupMemoryLimit, strconv.FormatInt(cgroup.Resources.Memory, 10)); err != nil { - return err - } -- if err := writeFile(path, cgroupMemorySwapLimit, strconv.FormatUint(cgroup.Resources.MemorySwap, 10)); err != nil { -+ if err := writeFile(path, cgroupMemorySwapLimit, strconv.FormatInt(cgroup.Resources.MemorySwap, 10)); err != nil { - return err - } - } - } else { - if cgroup.Resources.Memory != 0 { -- if err := writeFile(path, cgroupMemoryLimit, strconv.FormatUint(cgroup.Resources.Memory, 10)); err != nil { -+ if err := writeFile(path, cgroupMemoryLimit, strconv.FormatInt(cgroup.Resources.Memory, 10)); err != nil { - return err - } - } - if cgroup.Resources.MemorySwap != 0 { -- if err := writeFile(path, cgroupMemorySwapLimit, strconv.FormatUint(cgroup.Resources.MemorySwap, 10)); err != nil { -+ if err := writeFile(path, cgroupMemorySwapLimit, strconv.FormatInt(cgroup.Resources.MemorySwap, 10)); err != nil { - return err - } - } -@@ -169,13 +167,13 @@ func (s *MemoryGroup) Set(path string, cgroup *configs.Cgroup) error { - } - - if cgroup.Resources.MemoryReservation != 0 { -- if err := writeFile(path, "memory.soft_limit_in_bytes", strconv.FormatUint(cgroup.Resources.MemoryReservation, 10)); err != nil { -+ if err := writeFile(path, "memory.soft_limit_in_bytes", strconv.FormatInt(cgroup.Resources.MemoryReservation, 10)); err != nil { - return err - } - } - - if cgroup.Resources.KernelMemoryTCP != 0 { -- if err := writeFile(path, "memory.kmem.tcp.limit_in_bytes", strconv.FormatUint(cgroup.Resources.KernelMemoryTCP, 10)); err != nil { -+ if err := writeFile(path, "memory.kmem.tcp.limit_in_bytes", strconv.FormatInt(cgroup.Resources.KernelMemoryTCP, 10)); err != nil { - return err - } - } -diff --git a/libcontainer/configs/cgroup_unix.go b/libcontainer/configs/cgroup_unix.go -index 7572289..e654960 100644 ---- a/libcontainer/configs/cgroup_unix.go -+++ b/libcontainer/configs/cgroup_unix.go -@@ -45,19 +45,19 @@ type Resources struct { - Devices []*Device `json:"devices"` - - // Memory limit (in bytes) -- Memory uint64 `json:"memory"` -+ Memory int64 `json:"memory"` - - // Memory reservation or soft_limit (in bytes) -- MemoryReservation uint64 `json:"memory_reservation"` -+ MemoryReservation int64 `json:"memory_reservation"` - - // Total memory usage (memory + swap); set `-1` to enable unlimited swap -- MemorySwap uint64 `json:"memory_swap"` -+ MemorySwap int64 `json:"memory_swap"` - - // Kernel memory limit (in bytes) -- KernelMemory uint64 `json:"kernel_memory"` -+ KernelMemory int64 `json:"kernel_memory"` - - // Kernel memory limit for TCP use (in bytes) -- KernelMemoryTCP uint64 `json:"kernel_memory_tcp"` -+ KernelMemoryTCP int64 `json:"kernel_memory_tcp"` - - // CPU shares (relative weight vs. other containers) - CpuShares uint64 `json:"cpu_shares"` -diff --git a/update.go b/update.go -index 5520681..226a18a 100644 ---- a/update.go -+++ b/update.go -@@ -124,11 +124,11 @@ other options are ignored. - - r := specs.LinuxResources{ - Memory: &specs.LinuxMemory{ -- Limit: u64Ptr(0), -- Reservation: u64Ptr(0), -- Swap: u64Ptr(0), -- Kernel: u64Ptr(0), -- KernelTCP: u64Ptr(0), -+ Limit: i64Ptr(0), -+ Reservation: i64Ptr(0), -+ Swap: i64Ptr(0), -+ Kernel: i64Ptr(0), -+ KernelTCP: i64Ptr(0), - }, - CPU: &specs.LinuxCPU{ - Shares: u64Ptr(0), -@@ -213,7 +213,7 @@ other options are ignored. - } - for _, pair := range []struct { - opt string -- dest *uint64 -+ dest *int64 - }{ - {"memory", r.Memory.Limit}, - {"memory-swap", r.Memory.Swap}, -@@ -232,7 +232,7 @@ other options are ignored. - } else { - v = -1 - } -- *pair.dest = uint64(v) -+ *pair.dest = v - } - } - r.Pids.Limit = int64(context.Int("pids-limit")) --- -2.7.4.3 - diff --git a/patch/0140-runc-support-specify-umask.patch b/patch/0030-runc-support-specify-umask.patch similarity index 44% rename from patch/0140-runc-support-specify-umask.patch rename to patch/0030-runc-support-specify-umask.patch index c3ece81..a76e795 100644 --- a/patch/0140-runc-support-specify-umask.patch +++ b/patch/0030-runc-support-specify-umask.patch @@ -1,56 +1,54 @@ -From 9e76966232e71cfabc2553c6a0dee1f59ee9216c Mon Sep 17 00:00:00 2001 +From cb7c43347df720787be7457d4a991181ba608080 Mon Sep 17 00:00:00 2001 From: zhongjiawei -Date: Sat, 17 Dec 2022 11:18:41 +0800 +Date: Tue, 10 Jan 2023 11:52:14 +0800 Subject: [PATCH] runc:support specify umask --- - libcontainer/rootfs_linux.go | 7 ++++++- - libcontainer/setns_init_linux.go | 8 ++++++++ - 2 files changed, 14 insertions(+), 1 deletion(-) + libcontainer/rootfs_linux.go | 6 ++++++ + libcontainer/setns_init_linux.go | 7 +++++++ + 2 files changed, 13 insertions(+) diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index a1bd7e7..b005429 100644 +index 0bf1729..280a633 100644 --- a/libcontainer/rootfs_linux.go +++ b/libcontainer/rootfs_linux.go -@@ -140,7 +140,12 @@ func finalizeRootfs(config *configs.Config) (err error) { - } +@@ -190,6 +190,12 @@ func finalizeRootfs(config *configs.Config) (err error) { + } else { + unix.Umask(0o022) } - -- syscall.Umask(0022) -+ umask := libcontainerUtils.SearchLabels(config.Labels, "native.umask") ++ umask := utils.SearchLabels(config.Labels, "native.umask") + if umask == "normal" { -+ syscall.Umask(0022) ++ unix.Umask(0o022) + } else { -+ syscall.Umask(0027) ++ unix.Umask(0o027) + } return nil } diff --git a/libcontainer/setns_init_linux.go b/libcontainer/setns_init_linux.go -index e6dfbba..1f7ec98 100644 +index 09ab552..e9b8d62 100644 --- a/libcontainer/setns_init_linux.go +++ b/libcontainer/setns_init_linux.go -@@ -11,6 +11,7 @@ import ( +@@ -14,6 +14,7 @@ import ( "github.com/opencontainers/runc/libcontainer/keys" "github.com/opencontainers/runc/libcontainer/seccomp" "github.com/opencontainers/runc/libcontainer/system" + "github.com/opencontainers/runc/libcontainer/utils" - "github.com/opencontainers/selinux/go-selinux/label" ) -@@ -42,6 +43,13 @@ func (l *linuxSetnsInit) Init() error { + // linuxSetnsInit performs the container's initialization for running a new process +@@ -54,6 +55,12 @@ func (l *linuxSetnsInit) Init() error { return err } } -+ // set exec process umask to 0027 or 0022 according to container's config -+ umask := utils.SearchLabels(l.config.Config.Labels, "native.umask") -+ if umask == "normal" { -+ syscall.Umask(0022) -+ } else { -+ syscall.Umask(0027) -+ } ++ umask := utils.SearchLabels(l.config.Config.Labels, "native.umask") ++ if umask == "normal" { ++ unix.Umask(0o022) ++ } else { ++ unix.Umask(0o027) ++ } if l.config.NoNewPrivileges { - if err := system.Prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0); err != nil { + if err := unix.Prctl(unix.PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0); err != nil { return err -- 2.30.0 diff --git a/patch/0032-runc-17-Always-save-own-namespace-paths.patch b/patch/0032-runc-17-Always-save-own-namespace-paths.patch deleted file mode 100644 index 886e2cb..0000000 --- a/patch/0032-runc-17-Always-save-own-namespace-paths.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 59a5c027ef71cbad624c7547f3031dc87fc6220d Mon Sep 17 00:00:00 2001 -From: Yuanhong Peng -Date: Thu, 13 Jul 2017 16:57:00 +0800 -Subject: [PATCH 32/94] runc-17: Always save own namespace paths - -[Changelog]: Always save own namespace paths - -fix https://github.com/opencontainers/runc/issues/1476 - -If containerA shares namespace, say ipc namespace, with containerB, then -its ipc namespace path would be the same as containerB and be stored in -`state.json`. Exec into containerA will just read the namespace paths -stored in this file and join these namespaces. So, if containerB has -already been stopped, `docker exec containerA` will fail. - -To address this issue, we should always save own namespace paths no -matter if we share namespaces with other containers. - -**before:** -``` - # docker run -tid --name 111 ubuntu - b123d1a43786523996a52f88c0484b77f778ff59435e257b901926366ba9e046 - # docker run -tid --name 222 --net container:111 ubuntu - 4685ca6a5e9fd03c634a88f6a07009738729f6210b13d32ea8fc46a058b1f004 - # docker restart 111 - 111 - # docker exec -ti 222 bash - rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:240: - creating new parent process caused "container_linux.go:1266: running lstat on namespace - path \"/proc/14575/ns/net\" caused \"lstat /proc/14575/ns/net: no such file or directory\"" -``` - -**after:** -``` - # docker run -tid --name 111 ubuntu - e00dbfe3bf56272d7bdec232135f707b4a715cb0d39cdc4d3e90b05075497175 - # docker run -tid --name 222 --net container:111 ubuntu - 0806efe28080392f5a3ef416c363be0d82c3bc64d069f227d57ab34170b6fb16 - # docker restart 111 - 111 - # docker exec -ti 222 bash - root@e00dbfe3bf56:/# -``` - -related upstream PR: https://github.com/opencontainers/runc/pull/1477 - -Change-Id: I4278f64704c4b0ab0c2e5b44ec9ecdd34735144d -Signed-off-by: Yuanhong Peng -Signed-off-by: yangshukui ---- - libcontainer/configs/namespaces_unix.go | 3 --- - libcontainer/container_linux_test.go | 2 +- - 2 files changed, 1 insertion(+), 4 deletions(-) - -diff --git a/libcontainer/configs/namespaces_unix.go b/libcontainer/configs/namespaces_unix.go -index 1f0b3ee..12470a0 100644 ---- a/libcontainer/configs/namespaces_unix.go -+++ b/libcontainer/configs/namespaces_unix.go -@@ -81,9 +81,6 @@ type Namespace struct { - } - - func (n *Namespace) GetPath(pid int) string { -- if n.Path != "" { -- return n.Path -- } - return fmt.Sprintf("/proc/%d/ns/%s", pid, NsName(n.Type)) - } - -diff --git a/libcontainer/container_linux_test.go b/libcontainer/container_linux_test.go -index b7ce552..b69e344 100644 ---- a/libcontainer/container_linux_test.go -+++ b/libcontainer/container_linux_test.go -@@ -134,7 +134,7 @@ func TestGetContainerState(t *testing.T) { - var ( - pid = os.Getpid() - expectedMemoryPath = "/sys/fs/cgroup/memory/myid" -- expectedNetworkPath = "/networks/fd" -+ expectedNetworkPath = fmt.Sprintf("/proc/%d/ns/net", pid) - ) - container := &linuxContainer{ - id: "myid", --- -2.7.4.3 - diff --git a/patch/0033-runc-change-runc-default-umask-to-027.patch b/patch/0033-runc-change-runc-default-umask-to-027.patch deleted file mode 100644 index bee6ab3..0000000 --- a/patch/0033-runc-change-runc-default-umask-to-027.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 49ff7be84939cf93b8bf4861ddc783704fb3f50b Mon Sep 17 00:00:00 2001 -From: dengguangxing -Date: Mon, 8 Jan 2018 10:35:34 +0800 -Subject: [PATCH 33/94] runc: change runc default umask to 027 - -[Changelog]:change runc default umask to 027 -change exec process default umask to 0027 - -Change-Id: Ia7ff0216adc17d61586954de83031be21ab88338 -Signed-off-by: dengguangxing ---- - libcontainer/rootfs_linux.go | 2 +- - libcontainer/setns_init_linux.go | 3 +++ - 2 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index d507373..1c93903 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -136,7 +136,7 @@ func finalizeRootfs(config *configs.Config) (err error) { - } - } - -- syscall.Umask(0022) -+ syscall.Umask(0027) - return nil - } - -diff --git a/libcontainer/setns_init_linux.go b/libcontainer/setns_init_linux.go -index 48cc0ae..e8e969a 100644 ---- a/libcontainer/setns_init_linux.go -+++ b/libcontainer/setns_init_linux.go -@@ -5,6 +5,7 @@ package libcontainer - import ( - "fmt" - "os" -+ "syscall" - - "github.com/opencontainers/runc/libcontainer/apparmor" - "github.com/opencontainers/runc/libcontainer/keys" -@@ -40,6 +41,8 @@ func (l *linuxSetnsInit) Init() error { - return err - } - } -+ // set exec process umask to 0027 according to secure policy -+ syscall.Umask(0027) - if l.config.NoNewPrivileges { - if err := system.Prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0); err != nil { - return err --- -2.7.4.3 - diff --git a/patch/0034-runc-17-Add-some-compatibility-code-to-surpor.patch b/patch/0034-runc-17-Add-some-compatibility-code-to-surpor.patch deleted file mode 100644 index b6e8352..0000000 --- a/patch/0034-runc-17-Add-some-compatibility-code-to-surpor.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 661a5bf6a414ded19e8722e81ea20f6218d9b7de Mon Sep 17 00:00:00 2001 -From: yangshukui -Date: Fri, 20 Apr 2018 22:38:32 +0800 -Subject: [PATCH 34/94] runc-17: Add some compatibility code to surport - docker's liverestore from docker-1.11.2 to docker-17.06 - -[Changelog]: Add some compatibility code to surport docker's liverestore from docker-1.11.2 to docker-17.06 - -[Author]:Shukui Yang - -Change-Id: I376cc81f781727ea8d0bc61bc0c6e72ca485d880 -Signed-off-by: yangshukui ---- - libcontainer/factory_linux.go | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -diff --git a/libcontainer/factory_linux.go b/libcontainer/factory_linux.go -index 6a0f855..8bf448a 100644 ---- a/libcontainer/factory_linux.go -+++ b/libcontainer/factory_linux.go -@@ -10,6 +10,7 @@ import ( - "regexp" - "runtime/debug" - "strconv" -+ "strings" - "syscall" - - "github.com/docker/docker/pkg/mount" -@@ -321,7 +322,17 @@ func (l *LinuxFactory) loadState(root, id string) (*State, error) { - defer f.Close() - var state *State - if err := json.NewDecoder(f).Decode(&state); err != nil { -- return nil, newGenericError(err, SystemError) -+ if !strings.Contains(err.Error(), "memory_swappiness") { -+ return nil, newGenericError(err, SystemError) -+ } -+ -+ if state.BaseState.Config.Cgroups != nil && -+ state.BaseState.Config.Cgroups.Resources != nil && -+ state.BaseState.Config.Cgroups.Resources.MemorySwappiness != nil { -+ memorySwappiness := int64(-1) -+ *state.BaseState.Config.Cgroups.Resources.MemorySwappiness = uint64(memorySwappiness) -+ } -+ - } - return state, nil - } --- -2.7.4.3 - diff --git a/patch/0035-runc-17-Add-root-to-HookState-for-compatibili.patch b/patch/0035-runc-17-Add-root-to-HookState-for-compatibili.patch deleted file mode 100644 index 95d2ccf..0000000 --- a/patch/0035-runc-17-Add-root-to-HookState-for-compatibili.patch +++ /dev/null @@ -1,141 +0,0 @@ -From 35c1ee336b5714b077c0007ed6c37149bd965260 Mon Sep 17 00:00:00 2001 -From: yangshukui -Date: Fri, 27 Apr 2018 20:24:42 +0800 -Subject: [PATCH 35/94] runc-17: Add root to HookState for - compatibility. - -[Changelog]:refactor HookState for backward compatibility. -[Author]:Shukui Yang - -Change-Id: I471a748005fe5a7be69d5a857944bf8599408c3b -Signed-off-by: yangshukui ---- - libcontainer/configs/config.go | 8 +++++++- - libcontainer/container_linux.go | 22 ++++++++++++++-------- - libcontainer/process_linux.go | 22 ++++++++++++++-------- - libcontainer/state_linux.go | 9 ++++++--- - 4 files changed, 41 insertions(+), 20 deletions(-) - -diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go -index 98f4b85..af25972 100644 ---- a/libcontainer/configs/config.go -+++ b/libcontainer/configs/config.go -@@ -259,8 +259,14 @@ func (hooks Hooks) MarshalJSON() ([]byte, error) { - }) - } - -+// Alias of specs.State -+type SpecState specs.State -+ - // HookState is the payload provided to a hook on execution. --type HookState specs.State -+type HookState struct { -+ SpecState -+ Root string `json:"root"` -+} - - type Hook interface { - // Run executes the hook with the provided state. -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 173a3f0..ea6ef4c 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -275,10 +275,13 @@ func (c *linuxContainer) start(process *Process, isInit bool) error { - - if c.config.Hooks != nil { - s := configs.HookState{ -- Version: c.config.Version, -- ID: c.id, -- Pid: parent.pid(), -- Bundle: utils.SearchLabels(c.config.Labels, "bundle"), -+ SpecState: configs.SpecState{ -+ Version: c.config.Version, -+ ID: c.id, -+ Pid: parent.pid(), -+ Bundle: utils.SearchLabels(c.config.Labels, "bundle"), -+ }, -+ Root: c.config.Rootfs, - } - for i, hook := range c.config.Hooks.Poststart { - if err := hook.Run(s); err != nil { -@@ -1243,10 +1246,13 @@ func (c *linuxContainer) criuNotifications(resp *criurpc.CriuResp, process *Proc - case notify.GetScript() == "setup-namespaces": - if c.config.Hooks != nil { - s := configs.HookState{ -- Version: c.config.Version, -- ID: c.id, -- Pid: int(notify.GetPid()), -- Bundle: utils.SearchLabels(c.config.Labels, "bundle"), -+ SpecState: configs.SpecState{ -+ Version: c.config.Version, -+ ID: c.id, -+ Pid: int(notify.GetPid()), -+ Bundle: utils.SearchLabels(c.config.Labels, "bundle"), -+ }, -+ Root: c.config.Rootfs, - } - for i, hook := range c.config.Hooks.Prestart { - if err := hook.Run(s); err != nil { -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index bfe9955..c9fb202 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -292,10 +292,13 @@ func (p *initProcess) start() error { - if !p.config.Config.Namespaces.Contains(configs.NEWNS) { - if p.config.Config.Hooks != nil { - s := configs.HookState{ -- Version: p.container.config.Version, -- ID: p.container.id, -- Pid: p.pid(), -- Bundle: utils.SearchLabels(p.config.Config.Labels, "bundle"), -+ SpecState: configs.SpecState{ -+ Version: p.container.config.Version, -+ ID: p.container.id, -+ Pid: p.pid(), -+ Bundle: utils.SearchLabels(p.config.Config.Labels, "bundle"), -+ }, -+ Root: p.config.Config.Rootfs, - } - for i, hook := range p.config.Config.Hooks.Prestart { - if err := hook.Run(s); err != nil { -@@ -312,10 +315,13 @@ func (p *initProcess) start() error { - case procHooks: - if p.config.Config.Hooks != nil { - s := configs.HookState{ -- Version: p.container.config.Version, -- ID: p.container.id, -- Pid: p.pid(), -- Bundle: utils.SearchLabels(p.config.Config.Labels, "bundle"), -+ SpecState: configs.SpecState{ -+ Version: p.container.config.Version, -+ ID: p.container.id, -+ Pid: p.pid(), -+ Bundle: utils.SearchLabels(p.config.Config.Labels, "bundle"), -+ }, -+ Root: p.config.Config.Rootfs, - } - for i, hook := range p.config.Config.Hooks.Prestart { - if err := hook.Run(s); err != nil { -diff --git a/libcontainer/state_linux.go b/libcontainer/state_linux.go -index 62878ac..9f8def2 100644 ---- a/libcontainer/state_linux.go -+++ b/libcontainer/state_linux.go -@@ -58,9 +58,12 @@ func destroy(c *linuxContainer) error { - func runPoststopHooks(c *linuxContainer) error { - if c.config.Hooks != nil { - s := configs.HookState{ -- Version: c.config.Version, -- ID: c.id, -- Bundle: utils.SearchLabels(c.config.Labels, "bundle"), -+ SpecState: configs.SpecState{ -+ Version: c.config.Version, -+ ID: c.id, -+ Bundle: utils.SearchLabels(c.config.Labels, "bundle"), -+ }, -+ Root: c.config.Rootfs, - } - for _, hook := range c.config.Hooks.Poststop { - if err := hook.Run(s); err != nil { --- -2.7.4.3 - diff --git a/patch/0036-runc-17-add-compatibility-for-docker-1.11.2.patch b/patch/0036-runc-17-add-compatibility-for-docker-1.11.2.patch deleted file mode 100644 index 06cf771..0000000 --- a/patch/0036-runc-17-add-compatibility-for-docker-1.11.2.patch +++ /dev/null @@ -1,208 +0,0 @@ -From 988554ab5c12971383bc717cda615ca672953cd5 Mon Sep 17 00:00:00 2001 -From: yangshukui -Date: Fri, 18 May 2018 11:03:48 +0800 -Subject: [PATCH 36/94] runc-17: add compatibility for docker-1.11.2 - -[Changelog]: add compatibility for docker-1.11.2 -[Author]: Shukui Yang - -Change-Id: I188db47db8f4bcd744ac8218bfe966de48e97c22 -Signed-off-by: yangshukui ---- - libcontainer/configs/cgroup_unix.go | 6 +++ - libcontainer/configs/config.go | 11 ++++ - libcontainer/container_linux.go | 6 +++ - libcontainer/factory_linux.go | 102 +++++++++++++++++++++++++++++++----- - 4 files changed, 113 insertions(+), 12 deletions(-) - -diff --git a/libcontainer/configs/cgroup_unix.go b/libcontainer/configs/cgroup_unix.go -index e654960..75a3db0 100644 ---- a/libcontainer/configs/cgroup_unix.go -+++ b/libcontainer/configs/cgroup_unix.go -@@ -33,6 +33,12 @@ type Cgroup struct { - *Resources - } - -+// CompatCgroup -+type CompatCgroup struct { -+ Cgroup -+ MemorySwappiness interface{} `json:"memory_swappiness"` -+} -+ - type Resources struct { - // If this is true allow access to any kind of device within the container. If false, allow access only to devices explicitly listed in the allowed_devices list. - // Deprecated -diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go -index af25972..3a2e824 100644 ---- a/libcontainer/configs/config.go -+++ b/libcontainer/configs/config.go -@@ -188,6 +188,17 @@ type Config struct { - Rootless bool `json:"rootless"` - } - -+// CompatConfig is a structure inheriting from spec.Process defined -+// in runtime-spec/specs-go package. The goal is to be compatible with -+// both v1.0.0-rc4 and v1.0.0-rc5 since the latter introduced a change -+// about the type of the Capabilities field. -+// Refer to: https://github.com/opencontainers/runtime-spec/commit/37391fb -+type CompatConfig struct { -+ Config -+ Cgroups *CompatCgroup `json:"cgroups"` -+ Capabilities interface{} `json:"capabilities,omitempty" platform:"linux"` -+} -+ - type Hooks struct { - // Prestart commands are executed after the container namespaces are created, - // but before the user supplied command is executed from init. -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index ea6ef4c..f4eec7e 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -66,6 +66,12 @@ type State struct { - ExternalDescriptors []string `json:"external_descriptors,omitempty"` - } - -+// CompatState -+type CompatState struct{ -+ State -+ Config configs.CompatConfig `json:"config"` -+} -+ - // Container is a libcontainer container object. - // - // Each container is thread-safe within the same process. Since a container can -diff --git a/libcontainer/factory_linux.go b/libcontainer/factory_linux.go -index 8bf448a..b533346 100644 ---- a/libcontainer/factory_linux.go -+++ b/libcontainer/factory_linux.go -@@ -10,8 +10,9 @@ import ( - "regexp" - "runtime/debug" - "strconv" -- "strings" - "syscall" -+ "io/ioutil" -+ "errors" - - "github.com/docker/docker/pkg/mount" - "github.com/opencontainers/runc/libcontainer/cgroups" -@@ -311,28 +312,105 @@ func (l *LinuxFactory) StartInitialization() (err error) { - return i.Init() - } - --func (l *LinuxFactory) loadState(root, id string) (*State, error) { -- f, err := os.Open(filepath.Join(root, stateFilename)) -+func (l *LinuxFactory) updateStateCapabilites(compatState *CompatState, configPath string) error { -+ needUpdate := false -+ -+ // In spec v1.0.0-rc4, capabilities was a list of strings. This was changed -+ // to an object with v1.0.0-rc5. -+ // Check for the interface type to support both the versions. -+ capabilities := compatState.Config.Capabilities -+ switch caps := capabilities.(type) { -+ case []interface{}: -+ var list []string -+ for _, str := range caps { -+ list = append(list, str.(string)) -+ } -+ -+ c := configs.Capabilities{ -+ Bounding: list, -+ Effective: list, -+ Inheritable: list, -+ Ambient: list, -+ Permitted: list, -+ } -+ compatState.Config.Capabilities = c -+ needUpdate = true -+ } -+ -+ //In spec v1.0.0-rc4, MemorySwappiness was a *int64. This was changed -+ // to an *uint64 with v1.0.0-rc5. -+ if compatState.Config.Cgroups != nil && -+ compatState.Config.Cgroups.MemorySwappiness != nil { -+ memorySwappiness, ok := compatState.Config.Cgroups.MemorySwappiness.(float64) -+ if ok { -+ var memSize int64 = int64(memorySwappiness) -+ if memSize < 0 { -+ memSize = 0 -+ var memUSize uint64 = uint64(memSize-1) -+ compatState.Config.Cgroups.MemorySwappiness = &memUSize -+ needUpdate = true -+ } -+ } -+ } -+ -+ if needUpdate { -+ f, err := os.Create(configPath) -+ if err != nil { -+ return err -+ } -+ defer f.Close() -+ if err := json.NewEncoder(f).Encode(&compatState); err != nil { -+ return err -+ } -+ return nil -+ } -+ -+ return errors.New("updateStateCapabilites unexpected format for capabilities") -+} -+ -+func (l *LinuxFactory) loadOriginState(configPath string) (*State, error) { -+ f, err := os.Open(configPath) - if err != nil { - if os.IsNotExist(err) { -- return nil, newGenericError(fmt.Errorf("container %q does not exist", id), ContainerNotExists) -+ return nil, newGenericError(err, ContainerNotExists) - } - return nil, newGenericError(err, SystemError) - } - defer f.Close() - var state *State - if err := json.NewDecoder(f).Decode(&state); err != nil { -- if !strings.Contains(err.Error(), "memory_swappiness") { -- return nil, newGenericError(err, SystemError) -- } -+ return nil, newGenericError(err, SystemError) -+ } -+ return state, nil -+} - -- if state.BaseState.Config.Cgroups != nil && -- state.BaseState.Config.Cgroups.Resources != nil && -- state.BaseState.Config.Cgroups.Resources.MemorySwappiness != nil { -- memorySwappiness := int64(-1) -- *state.BaseState.Config.Cgroups.Resources.MemorySwappiness = uint64(memorySwappiness) -+func (l *LinuxFactory) loadCompatState(configPath string) (*State, error) { -+ dt, err := ioutil.ReadFile(configPath) -+ if err != nil { -+ if os.IsNotExist(err) { -+ return nil, newGenericError(err, ContainerNotExists) - } -+ return nil, newGenericError(err, SystemError) -+ } - -+ var state *CompatState -+ if err := json.Unmarshal(dt, &state); err != nil { -+ return nil, newGenericError(err, SystemError) -+ } -+ -+ err = l.updateStateCapabilites(state, configPath) -+ if err != nil { -+ return nil, newGenericError(err, SystemError) -+ } -+ -+ return l.loadOriginState(configPath) -+} -+ -+func (l *LinuxFactory) loadState(root, id string) (*State, error) { -+ configPath := filepath.Join(root, stateFilename) -+ state, err := l.loadOriginState(configPath) -+ if err != nil { -+ return l.loadCompatState(configPath) - } - return state, nil - } --- -2.7.4.3 - diff --git a/patch/0037-docker-Don-t-enalbe-kmem-accounting-by-defa.patch b/patch/0037-docker-Don-t-enalbe-kmem-accounting-by-defa.patch deleted file mode 100644 index 33826dd..0000000 --- a/patch/0037-docker-Don-t-enalbe-kmem-accounting-by-defa.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 093594c58411b6a25844650b40463449e1af11ce Mon Sep 17 00:00:00 2001 -From: lujingxiao -Date: Thu, 23 Aug 2018 15:03:50 +0800 -Subject: [PATCH 37/94] docker: Don't enalbe kmem accounting by - default - -reason:In kernel 3.10, kmem cgroup is unstable, -we should not enable kmem accounting by default. -Revert part of -https://github.com/hqhq/runc/commit/fe898e7862f945fa3632580139602c627dcb9be0 - -Change-Id: I546d1da875b1df7d525fd5c96a89c439ed6642f2 -Signed-off-by: lujingxiao ---- - libcontainer/cgroups/fs/memory.go | 6 ++---- - script/runc-euleros.spec | 8 ++++++-- - 2 files changed, 8 insertions(+), 6 deletions(-) - -diff --git a/libcontainer/cgroups/fs/memory.go b/libcontainer/cgroups/fs/memory.go -index c993839..118cce8 100644 ---- a/libcontainer/cgroups/fs/memory.go -+++ b/libcontainer/cgroups/fs/memory.go -@@ -41,10 +41,8 @@ func (s *MemoryGroup) Apply(d *cgroupData) (err error) { - if err := os.MkdirAll(path, 0755); err != nil { - return err - } -- // Only enable kernel memory accouting when this cgroup -- // is created by libcontainer, otherwise we might get -- // error when people use `cgroupsPath` to join an existed -- // cgroup whose kernel memory is not initialized. -+ } -+ if d.config.KernelMemory != 0 { - if err := EnableKernelMemoryAccounting(path); err != nil { - return err - } -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index a925e02..c3db7c9 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 1%{?dist} -+Release: 2%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 -@@ -46,4 +46,8 @@ install -p -m 755 runc $RPM_BUILD_ROOT/%{_bindir}/runc - %{_bindir}/runc - - %changelog -- -+* Thu Aug 23 2018 lujingxiao - 1.0.0.rc3-2 -+- Type:bugfix -+- ID:NA -+- SUG:NA -+- DESC:Don't enalbe kmem accounting by default --- -2.7.4.3 - diff --git a/patch/0041-Add-timeout-for-syscall.Openat.patch b/patch/0041-Add-timeout-for-syscall.Openat.patch deleted file mode 100644 index 1381c8e..0000000 --- a/patch/0041-Add-timeout-for-syscall.Openat.patch +++ /dev/null @@ -1,68 +0,0 @@ -From a2f81f8b740b371e710b63b8c81c704842140ace Mon Sep 17 00:00:00 2001 -From: yangshukui -Date: Tue, 18 Apr 2017 19:35:30 +0800 -Subject: [PATCH 41/94] Add timeout for syscall.Openat - -Openat will be blocked until the fifo on the other side is opened, but in some -abnomal scenario(e.g. containerd is killed), Openat maybe be blocked all the time. - -Change-Id: If1d514408b522c8bdf5f1c1cb0d3c625f0ef4a6d -Signed-off-by: yangshukui ---- - libcontainer/standard_init_linux.go | 30 ++++++++++++++++++++++++------ - 1 file changed, 24 insertions(+), 6 deletions(-) - -diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go -index ee6f19a..484ba42 100644 ---- a/libcontainer/standard_init_linux.go -+++ b/libcontainer/standard_init_linux.go -@@ -7,6 +7,7 @@ import ( - "os" - "os/exec" - "syscall" -+ "time" - - "github.com/opencontainers/runc/libcontainer/apparmor" - "github.com/opencontainers/runc/libcontainer/configs" -@@ -166,15 +167,32 @@ func (l *linuxStandardInit) Init() error { - } - // close the pipe to signal that we have completed our init. - l.pipe.Close() -+ - // wait for the fifo to be opened on the other side before - // exec'ing the users process. -- fd, err := syscall.Openat(l.stateDirFD, execFifoFilename, os.O_WRONLY|syscall.O_CLOEXEC, 0) -- if err != nil { -- return newSystemErrorWithCause(err, "openat exec fifo") -- } -- if _, err := syscall.Write(fd, []byte("0")); err != nil { -- return newSystemErrorWithCause(err, "write 0 exec fifo") -+ ch := make(chan Error, 1) -+ go func() { -+ fd, err := syscall.Openat(l.stateDirFD, execFifoFilename, os.O_WRONLY|syscall.O_CLOEXEC, 0) -+ if err != nil { -+ ch <- newSystemErrorWithCause(err, "openat exec fifo") -+ return -+ } -+ if _, err := syscall.Write(fd, []byte("0")); err != nil { -+ ch <- newSystemErrorWithCause(err, "write 0 exec fifo") -+ return -+ } -+ ch <- nil -+ }() -+ -+ select { -+ case chErr := <-ch: -+ if chErr != nil { -+ return chErr -+ } -+ case <-time.After(120 * time.Second): -+ return newSystemErrorWithCause(fmt.Errorf("timeout"), "wait for the fifo to be opened on the other side ") - } -+ - if l.config.Config.Seccomp != nil && l.config.NoNewPrivileges { - if err := seccomp.InitSeccomp(l.config.Config.Seccomp); err != nil { - return newSystemErrorWithCause(err, "init seccomp") --- -2.7.4.3 - diff --git a/patch/0043-runc-Use-rslave-instead-of-rprivate-in-chro.patch b/patch/0043-runc-Use-rslave-instead-of-rprivate-in-chro.patch deleted file mode 100644 index be2f6bd..0000000 --- a/patch/0043-runc-Use-rslave-instead-of-rprivate-in-chro.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 321679149dad13cdfd40831cc288495d4a5caf75 Mon Sep 17 00:00:00 2001 -From: caihaomin -Date: Fri, 15 Dec 2017 17:37:41 +0800 -Subject: [PATCH 43/94] runc: Use rslave instead of rprivate in - chrootarchive - -[Changelog]:With rprivate there exists a race where a reference to a mount has -propagated to the new namespace, when rprivate is set the parent -namespace is not able to remove the mount due to that reference. -With rslave unmounts will propagate correctly into the namespace and -prevent the sort of transient errors that are possible with rprivate. -https://github.com/moby/moby/pull/35217 -[Author]git - -Change-Id: I7a69a5b0c03e896b9cb1722eb676b7b84ea7dd77 -Signed-off-by: caihaomin ---- - libcontainer/rootfs_linux.go | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index 1c93903..7cf5edd 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -668,9 +668,12 @@ func pivotRoot(rootfs string) error { - return err - } - -- // Make oldroot rprivate to make sure our unmounts don't propagate to the -- // host (and thus bork the machine). -- if err := syscall.Mount("", ".", "", syscall.MS_PRIVATE|syscall.MS_REC, ""); err != nil { -+ // Make oldroot rslave to make sure our unmounts don't propagate to the -+ // host (and thus bork the machine). We don't use rprivate because this is -+ // known to cause issues due to races where we still have a reference to a -+ // mount while a process in the host namespace are trying to operate on -+ // something they think has no mounts (devicemapper in particular). -+ if err := syscall.Mount("", ".", "", syscall.MS_SLAVE|syscall.MS_REC, ""); err != nil { - return err - } - // Preform the unmount. MNT_DETACH allows us to unmount /proc/self/cwd. --- -2.7.4.3 - diff --git a/patch/0044-runc-default-mount-propagation-correctly.patch b/patch/0044-runc-default-mount-propagation-correctly.patch deleted file mode 100644 index c22b3a5..0000000 --- a/patch/0044-runc-default-mount-propagation-correctly.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 06109d15b267af73d523817e6dcf501fa071a815 Mon Sep 17 00:00:00 2001 -From: caihaomin -Date: Fri, 15 Dec 2017 17:42:03 +0800 -Subject: [PATCH 44/94] runc: default mount propagation correctly - -[Changelog]:The code in prepareRoot -attempts to default the rootfs mount to `rslave`. However, since the spec -conversion has already defaulted it to `rprivate`, that code doesn't -actually ever do anything. - -This changes the spec conversion code to accept "" and treat it as 0. - -Implicitly, this makes rootfs propagation default to `rslave`, which is -a part of fixing the moby bug moby/moby#34672 - -Alternate implementatoins include changing this defaulting to be -`rslave` and removing the defaulting code in prepareRoot, or skipping -the mapping entirely for "", but I think this change is the cleanest of -those options. -[Author]git - -Change-Id: I35954e2c8a71c1d3713753669044b5bf9d6c57fa -Signed-off-by: caihaomin ---- - libcontainer/specconv/spec_linux.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index 1575ae0..8a2947f 100644 ---- a/libcontainer/specconv/spec_linux.go -+++ b/libcontainer/specconv/spec_linux.go -@@ -36,7 +36,7 @@ var mountPropagationMapping = map[string]int{ - "slave": syscall.MS_SLAVE, - "rshared": syscall.MS_SHARED | syscall.MS_REC, - "shared": syscall.MS_SHARED, -- "": syscall.MS_PRIVATE | syscall.MS_REC, -+ "": 0, - } - - var allowedDevices = []*configs.Device{ --- -2.7.4.3 - diff --git a/patch/0045-runc-add-hook-specific-info-when-error-occurr.patch b/patch/0045-runc-add-hook-specific-info-when-error-occurr.patch deleted file mode 100644 index 584eb64..0000000 --- a/patch/0045-runc-add-hook-specific-info-when-error-occurr.patch +++ /dev/null @@ -1,128 +0,0 @@ -From eed1c5ec5166a151da33b7b9cfd6535f4556c015 Mon Sep 17 00:00:00 2001 -From: dengguangxing -Date: Tue, 16 Jan 2018 18:00:56 +0800 -Subject: [PATCH 45/94] runc: add hook specific info when error - occurred - -[Changelog]: print hook path and args when hook failed to make debug -easier -[Author]:Shukui Yang - -Change-Id: Idf704706b73f1cfa5f7f02b01b2ec58caadca79d -Signed-off-by: dengguangxing ---- - libcontainer/configs/config.go | 10 ++++++++++ - libcontainer/container_linux.go | 2 +- - libcontainer/factory_linux_test.go | 4 ++++ - libcontainer/process_linux.go | 4 ++-- - libcontainer/state_linux.go | 4 ++-- - 5 files changed, 19 insertions(+), 5 deletions(-) - -diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go -index 3a2e824..49bc7a3 100644 ---- a/libcontainer/configs/config.go -+++ b/libcontainer/configs/config.go -@@ -5,6 +5,7 @@ import ( - "encoding/json" - "fmt" - "os/exec" -+ "strings" - "time" - - "github.com/Sirupsen/logrus" -@@ -282,6 +283,7 @@ type HookState struct { - type Hook interface { - // Run executes the hook with the provided state. - Run(HookState) error -+ Info() string - } - - // NewFunctionHook will call the provided function when the hook is run. -@@ -299,6 +301,10 @@ func (f FuncHook) Run(s HookState) error { - return f.run(s) - } - -+func (f FuncHook) Info() string { -+ return "hook function" -+} -+ - type Command struct { - Path string `json:"path"` - Args []string `json:"args"` -@@ -318,6 +324,10 @@ type CommandHook struct { - Command - } - -+func (c Command) Info() string { -+ return c.Path + "," + strings.Join(c.Args, ",") -+} -+ - func (c Command) Run(s HookState) error { - b, err := json.Marshal(s) - if err != nil { -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index f4eec7e..9fabadc 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -294,7 +294,7 @@ func (c *linuxContainer) start(process *Process, isInit bool) error { - if err := parent.terminate(); err != nil { - logrus.Warn(err) - } -- return newSystemErrorWithCausef(err, "running poststart hook %d", i) -+ return newSystemErrorWithCausef(err, "running poststart hook %d:%s", i, hook.Info()) - } - } - } -diff --git a/libcontainer/factory_linux_test.go b/libcontainer/factory_linux_test.go -index ea3b513..0a84a7d 100644 ---- a/libcontainer/factory_linux_test.go -+++ b/libcontainer/factory_linux_test.go -@@ -205,3 +205,7 @@ type unserializableHook struct{} - func (unserializableHook) Run(configs.HookState) error { - return nil - } -+ -+func (unserializableHook) Info() string { -+ return "" -+} -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index 9373595..1b478d7 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -307,7 +307,7 @@ func (p *initProcess) start() error { - } - for i, hook := range p.config.Config.Hooks.Prestart { - if err := hook.Run(s); err != nil { -- return newSystemErrorWithCausef(err, "running prestart hook %d", i) -+ return newSystemErrorWithCausef(err, "running prestart hook %d:%s", i, hook.Info()) - } - } - } -@@ -330,7 +330,7 @@ func (p *initProcess) start() error { - } - for i, hook := range p.config.Config.Hooks.Prestart { - if err := hook.Run(s); err != nil { -- return newSystemErrorWithCausef(err, "running prestart hook %d", i) -+ return newSystemErrorWithCausef(err, "running prestart hook %d:%s", i, hook.Info()) - } - } - } -diff --git a/libcontainer/state_linux.go b/libcontainer/state_linux.go -index 9f8def2..c4f0dfc 100644 ---- a/libcontainer/state_linux.go -+++ b/libcontainer/state_linux.go -@@ -65,9 +65,9 @@ func runPoststopHooks(c *linuxContainer) error { - }, - Root: c.config.Rootfs, - } -- for _, hook := range c.config.Hooks.Poststop { -+ for i, hook := range c.config.Hooks.Poststop { - if err := hook.Run(s); err != nil { -- return err -+ return newSystemErrorWithCausef(err, "running poststop hook %d:%s", i, hook.Info()) - } - } - } --- -2.7.4.3 - diff --git a/patch/0047-runc-add-more-specific-log-for-hooks.patch b/patch/0047-runc-add-more-specific-log-for-hooks.patch deleted file mode 100644 index 2388a8f..0000000 --- a/patch/0047-runc-add-more-specific-log-for-hooks.patch +++ /dev/null @@ -1,104 +0,0 @@ -From f5399113b70807b57ed557bfecf932e5448016c2 Mon Sep 17 00:00:00 2001 -From: dengguangxing -Date: Mon, 22 Jan 2018 20:27:37 +0800 -Subject: [PATCH 47/94] runc: add more specific log for hooks - -[Changelog]: add more specific log for hooks -[Author]:Shukui Yang - -Change-Id: I317232b42a5fd6bc16773fe4aa0a376d8b9b6806 -Signed-off-by: dengguangxing ---- - libcontainer/container_linux.go | 5 +++++ - libcontainer/process_linux.go | 5 +++++ - libcontainer/state_linux.go | 3 +++ - 3 files changed, 13 insertions(+) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 9fabadc..74b82c5 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -290,12 +290,15 @@ func (c *linuxContainer) start(process *Process, isInit bool) error { - Root: c.config.Rootfs, - } - for i, hook := range c.config.Hooks.Poststart { -+ logrus.Infof("run poststart hook %d:%s", i, hook.Info()) - if err := hook.Run(s); err != nil { -+ logrus.Errorf("running poststart hook(%d:%s) failed: %s", i, hook.Info(), err) - if err := parent.terminate(); err != nil { - logrus.Warn(err) - } - return newSystemErrorWithCausef(err, "running poststart hook %d:%s", i, hook.Info()) - } -+ logrus.Infof("poststart hook %d:%s done", i, hook.Info()) - } - } - } else { -@@ -1261,9 +1264,11 @@ func (c *linuxContainer) criuNotifications(resp *criurpc.CriuResp, process *Proc - Root: c.config.Rootfs, - } - for i, hook := range c.config.Hooks.Prestart { -+ logrus.Infof("run prestart hook: %d:%s", i, hook.Info()) - if err := hook.Run(s); err != nil { - return newSystemErrorWithCausef(err, "running prestart hook %d", i) - } -+ logrus.Infof("prestart hook: %d:%s done", i, hook.Info()) - } - } - case notify.GetScript() == "post-restore": -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index 1b478d7..9064c0e 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -13,6 +13,7 @@ import ( - "strconv" - "syscall" - -+ "github.com/Sirupsen/logrus" - "github.com/opencontainers/runc/libcontainer/cgroups" - "github.com/opencontainers/runc/libcontainer/configs" - "github.com/opencontainers/runc/libcontainer/system" -@@ -306,9 +307,11 @@ func (p *initProcess) start() error { - Root: p.config.Config.Rootfs, - } - for i, hook := range p.config.Config.Hooks.Prestart { -+ logrus.Infof("run prestart hook %d:%s", i, hook.Info()) - if err := hook.Run(s); err != nil { - return newSystemErrorWithCausef(err, "running prestart hook %d:%s", i, hook.Info()) - } -+ logrus.Infof("prestart hook %d:%s done", i, hook.Info()) - } - } - } -@@ -329,9 +332,11 @@ func (p *initProcess) start() error { - Root: p.config.Config.Rootfs, - } - for i, hook := range p.config.Config.Hooks.Prestart { -+ logrus.Infof("run prestart hook %d:%s", i, hook.Info()) - if err := hook.Run(s); err != nil { - return newSystemErrorWithCausef(err, "running prestart hook %d:%s", i, hook.Info()) - } -+ logrus.Infof("prestart hook %d:%s done", i, hook.Info()) - } - } - // Sync with child. -diff --git a/libcontainer/state_linux.go b/libcontainer/state_linux.go -index c4f0dfc..b8d2a87 100644 ---- a/libcontainer/state_linux.go -+++ b/libcontainer/state_linux.go -@@ -66,9 +66,12 @@ func runPoststopHooks(c *linuxContainer) error { - Root: c.config.Rootfs, - } - for i, hook := range c.config.Hooks.Poststop { -+ logrus.Infof("run poststop hook %d:%s", i, hook.Info()) - if err := hook.Run(s); err != nil { -+ logrus.Errorf("running poststop hook %d: %s failed: %s", i, hook.Info(), err) - return newSystemErrorWithCausef(err, "running poststop hook %d:%s", i, hook.Info()) - } -+ logrus.Infof("poststop hook %d:%s done", i, hook.Info()) - } - } - return nil --- -2.7.4.3 - diff --git a/patch/0048-runc-Only-configure-networking.patch b/patch/0048-runc-Only-configure-networking.patch deleted file mode 100644 index b1d0945..0000000 --- a/patch/0048-runc-Only-configure-networking.patch +++ /dev/null @@ -1,40 +0,0 @@ -From caeb202a8a95863a44fa8f45e0515437239b173c Mon Sep 17 00:00:00 2001 -From: dengguangxing -Date: Wed, 16 May 2018 15:16:51 +0800 -Subject: [PATCH 48/94] runc: Only configure networking - -[Changelog]: Only configure networking when creating a net ns -When joining an existing namespace, don't default to configuring a -loopback interface in that namespace. - -Its creator should have done that, and we don't want to fail to create -the container when we don't have sufficient privileges to configure the -network namespace. - -This is cherry-picked from runc upstream: - https://github.com/opencontainers/runc/pull/1777 -[Author]:Shukui Yang - -Change-Id: I1f181f18e23c621db6718a185e35b50531d27c09 -Signed-off-by: Nalin Dahyabhai -Signed-off-by: dengguangxing ---- - libcontainer/specconv/spec_linux.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index 8a2947f..a968313 100644 ---- a/libcontainer/specconv/spec_linux.go -+++ b/libcontainer/specconv/spec_linux.go -@@ -194,7 +194,7 @@ func CreateLibcontainerConfig(opts *CreateOpts) (*configs.Config, error) { - } - config.Namespaces.Add(t, ns.Path) - } -- if config.Namespaces.Contains(configs.NEWNET) { -+ if config.Namespaces.Contains(configs.NEWNET) && config.Namespaces.PathOf(configs.NEWNET) == "" { - config.Networks = []*configs.Network{ - { - Type: "loopback", --- -2.7.4.3 - diff --git a/patch/0049-cgroups-fs-fix-NPE-on-Destroy-than-no-cgrou.patch b/patch/0049-cgroups-fs-fix-NPE-on-Destroy-than-no-cgrou.patch deleted file mode 100644 index 508b002..0000000 --- a/patch/0049-cgroups-fs-fix-NPE-on-Destroy-than-no-cgrou.patch +++ /dev/null @@ -1,37 +0,0 @@ -From ee3660e477b70d73812390ad96d82681f82f2e9b Mon Sep 17 00:00:00 2001 -From: Denys Smirnov -Date: Tue, 6 Mar 2018 23:31:31 +0100 -Subject: [PATCH 49/94] cgroups/fs: fix NPE on Destroy than no - cgroups are set - - -[Changelog]: Currently Manager accepts nil cgroups when calling Apply, but -it will panic then trying to call Destroy with the same config. - -This is cherry-picked from runc upstream: - https://github.com/opencontainers/runc/pull/1752 -[Author]:Shukui Yang - -Change-Id: Ie7aba1d1b7086a82a1d186038fb5e6c09b617f75 -Signed-off-by: Denys Smirnov -Signed-off-by: dengguangxing ---- - libcontainer/cgroups/fs/apply_raw.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libcontainer/cgroups/fs/apply_raw.go b/libcontainer/cgroups/fs/apply_raw.go -index 22d82ac..66debae 100644 ---- a/libcontainer/cgroups/fs/apply_raw.go -+++ b/libcontainer/cgroups/fs/apply_raw.go -@@ -152,7 +152,7 @@ func (m *Manager) Apply(pid int) (err error) { - } - - func (m *Manager) Destroy() error { -- if m.Cgroups.Paths != nil { -+ if m.Cgroups == nil || m.Cgroups.Paths != nil { - return nil - } - m.mu.Lock() --- -2.7.4.3 - diff --git a/patch/0050-runc-Avoid-race-when-opening-exec-fifo.patch b/patch/0050-runc-Avoid-race-when-opening-exec-fifo.patch deleted file mode 100644 index 756ac9b..0000000 --- a/patch/0050-runc-Avoid-race-when-opening-exec-fifo.patch +++ /dev/null @@ -1,214 +0,0 @@ -From 7e65e11136e81a834effe40a9f926416fb1eea78 Mon Sep 17 00:00:00 2001 -From: Will Martin -Date: Mon, 22 Jan 2018 17:03:02 +0000 -Subject: [PATCH 50/94] runc: Avoid race when opening exec fifo - - -[Changelog]: Avoid race when opening exec fifo - -When starting a container with `runc start` or `runc run`, the stub -process (runc[2:INIT]) opens a fifo for writing. Its parent runc process -will open the same fifo for reading. In this way, they synchronize. - -If the stub process exits at the wrong time, the parent runc process -will block forever. - -This can happen when racing 2 runc operations against each other: `runc -run/start`, and `runc delete`. It could also happen for other reasons, -e.g. the kernel's OOM killer may select the stub process. - -This commit resolves this race by racing the opening of the exec fifo -from the runc parent process against the stub process exiting. If the -stub process exits before we open the fifo, we return an error. - -Another solution is to wait on the stub process. However, it seems it -would require more refactoring to avoid calling wait multiple times on -the same process, which is an error. - -This is cherry-picked from runc upstream: - https://github.com/opencontainers/runc/pull/1698 -[Author]:Shukui Yang - -Change-Id: Id0ba756349b59463f7ee19ad63a6f243bee4a729 -Signed-off-by: Craig Furman -Signed-off-by: dengguangxing ---- - libcontainer/container_linux.go | 69 +++++++++++++++++++++++++++++++++++------ - libcontainer/system/proc.go | 59 +++++++++++++++++++++++++++++++++++ - 2 files changed, 119 insertions(+), 9 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 74b82c5..278f597 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -5,6 +5,7 @@ package libcontainer - import ( - "bytes" - "encoding/json" -+ "errors" - "fmt" - "io" - "io/ioutil" -@@ -239,20 +240,70 @@ func (c *linuxContainer) Exec() error { - - func (c *linuxContainer) exec() error { - path := filepath.Join(c.root, execFifoFilename) -- f, err := os.OpenFile(path, os.O_RDONLY, 0) -- if err != nil { -- return newSystemErrorWithCause(err, "open exec fifo for reading") -+ -+ fifoOpen := make(chan struct{}) -+ select { -+ case <-awaitProcessExit(c.initProcess.pid(), fifoOpen): -+ return errors.New("container process is already dead") -+ case result := <-awaitFifoOpen(path): -+ close(fifoOpen) -+ if result.err != nil { -+ return result.err -+ } -+ f := result.file -+ defer f.Close() -+ if err := readFromExecFifo(f); err != nil { -+ return err -+ } -+ return os.Remove(path) - } -- defer f.Close() -- data, err := ioutil.ReadAll(f) -+} -+ -+func readFromExecFifo(execFifo io.Reader) error { -+ data, err := ioutil.ReadAll(execFifo) - if err != nil { - return err - } -- if len(data) > 0 { -- os.Remove(path) -- return nil -+ if len(data) <= 0 { -+ return fmt.Errorf("cannot start an already running container") - } -- return fmt.Errorf("cannot start an already running container") -+ return nil -+} -+ -+func awaitProcessExit(pid int, exit <-chan struct{}) <-chan struct{} { -+ isDead := make(chan struct{}) -+ go func() { -+ for { -+ select { -+ case <-exit: -+ return -+ case <-time.After(time.Millisecond * 100): -+ stat, err := system.GetProcessState(pid) -+ if err != nil || stat == system.Zombie { -+ close(isDead) -+ return -+ } -+ } -+ } -+ }() -+ return isDead -+} -+ -+func awaitFifoOpen(path string) <-chan openResult { -+ fifoOpened := make(chan openResult) -+ go func() { -+ f, err := os.OpenFile(path, os.O_RDONLY, 0) -+ if err != nil { -+ fifoOpened <- openResult{err: newSystemErrorWithCause(err, "open exec fifo for reading")} -+ } -+ fifoOpened <- openResult{file: f} -+ }() -+ return fifoOpened -+} -+ -+type openResult struct { -+ file *os.File -+ err error - } - - func (c *linuxContainer) start(process *Process, isInit bool) error { -diff --git a/libcontainer/system/proc.go b/libcontainer/system/proc.go -index a0e9637..03fd940 100644 ---- a/libcontainer/system/proc.go -+++ b/libcontainer/system/proc.go -@@ -1,12 +1,48 @@ - package system - - import ( -+ "fmt" - "io/ioutil" - "path/filepath" - "strconv" - "strings" - ) - -+type State rune -+ -+const ( // Only values for Linux 3.14 and later are listed here -+ Dead State = 'X' -+ DiskSleep State = 'D' -+ Running State = 'R' -+ Sleeping State = 'S' -+ Stopped State = 'T' -+ TracingStop State = 't' -+ Zombie State = 'Z' -+) -+ -+// String forms of the state from proc(5)'s documentation for -+// /proc/[pid]/status' "State" field. -+func (s State) String() string { -+ switch s { -+ case Dead: -+ return "dead" -+ case DiskSleep: -+ return "disk sleep" -+ case Running: -+ return "running" -+ case Sleeping: -+ return "sleeping" -+ case Stopped: -+ return "stopped" -+ case TracingStop: -+ return "tracing stop" -+ case Zombie: -+ return "zombie" -+ default: -+ return fmt.Sprintf("unknown (%c)", s) -+ } -+} -+ - // look in /proc to find the process start time so that we can verify - // that this pid has started after ourself - func GetProcessStartTime(pid int) (string, error) { -@@ -41,3 +77,26 @@ func parseStartTime(stat string) (string, error) { - parts := strings.Split(strings.TrimSpace(s[len(s)-1]), " ") - return parts[22-3], nil // starts at 3 (after the filename pos `2`) - } -+ -+func GetProcessState(pid int) (State, error) { -+ data, err := ioutil.ReadFile(filepath.Join("/proc", strconv.Itoa(pid), "stat")) -+ if err != nil { -+ return State(0), err -+ } -+ return parseState(string(data)) -+ -+} -+ -+func parseState(data string) (State, error) { -+ i := strings.LastIndex(data, ")") -+ if i <= 2 || i >= len(data)-3 { -+ return State(0), fmt.Errorf("invalid stat data: %q", data) -+ } -+ -+ parts := strings.Split(data[i+2:], " ") -+ -+ var state int -+ fmt.Sscanf(parts[3-3], "%c", &state) -+ stateStr := State(state) -+ return stateStr, nil -+} --- -2.7.4.3 - diff --git a/patch/0051-runc-Return-from-goroutine-when-it-should-t.patch b/patch/0051-runc-Return-from-goroutine-when-it-should-t.patch deleted file mode 100644 index 1689f32..0000000 --- a/patch/0051-runc-Return-from-goroutine-when-it-should-t.patch +++ /dev/null @@ -1,33 +0,0 @@ -From df24ec79d3a69e9deab962eacc8ecbd46b0aefd9 Mon Sep 17 00:00:00 2001 -From: Ed King -Date: Tue, 23 Jan 2018 10:46:31 +0000 -Subject: [PATCH 51/94] runc: Return from goroutine when it should - terminate - - -[Changelog]: This is cherry-picked from runc upstream: - https://github.com/opencontainers/runc/pull/1698 -[Author]:Shukui Yang - -Change-Id: Ie99f80c1fb5912d99dd7426b47f93e9f5a6efb23 -Signed-off-by: Craig Furman -Signed-off-by: dengguangxing ---- - libcontainer/container_linux.go | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 278f597..50fe657 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -295,6 +295,7 @@ func awaitFifoOpen(path string) <-chan openResult { - f, err := os.OpenFile(path, os.O_RDONLY, 0) - if err != nil { - fifoOpened <- openResult{err: newSystemErrorWithCause(err, "open exec fifo for reading")} -+ return - } - fifoOpened <- openResult{file: f} - }() --- -2.7.4.3 - diff --git a/patch/0054-runc-ignore-exec.fifo-removing-not-exist-erro.patch b/patch/0054-runc-ignore-exec.fifo-removing-not-exist-erro.patch deleted file mode 100644 index 184f6be..0000000 --- a/patch/0054-runc-ignore-exec.fifo-removing-not-exist-erro.patch +++ /dev/null @@ -1,31 +0,0 @@ -From a119a29bc908bfd1385cbdcee4cc800e2b022b09 Mon Sep 17 00:00:00 2001 -From: panwenxiang -Date: Wed, 22 Aug 2018 17:06:01 +0800 -Subject: [PATCH 54/94] runc: ignore exec.fifo removing not exist error - -[Changelog]:cherry-pick from vtwrse <4af7ee1635962fe3bd86ac87064fdcd7e60c1135> -Change-Id: I34a30672fb92c974965b3a53cfb8ccc75932e6d8 -Signed-off-by: jiangpengfei9 ---- - libcontainer/container_linux.go | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 50fe657..502a274 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -255,7 +255,10 @@ func (c *linuxContainer) exec() error { - if err := readFromExecFifo(f); err != nil { - return err - } -- return os.Remove(path) -+ if err := os.Remove(path); !os.IsNotExist(err) { -+ return err -+ } -+ return nil - } - } - --- -2.7.4.3 - diff --git a/patch/0056-runc-Modify-max-files.limit-to-max-because-of.patch b/patch/0056-runc-Modify-max-files.limit-to-max-because-of.patch deleted file mode 100644 index 729a155..0000000 --- a/patch/0056-runc-Modify-max-files.limit-to-max-because-of.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 0a5b23584d79bba18429905c43774bc50a117b4b Mon Sep 17 00:00:00 2001 -From: yangshukui -Date: Sat, 4 Nov 2017 14:55:40 +0800 -Subject: [PATCH 56/94] runc: Modify max files.limit to max because of - the change of kernel. - -[Changelog]: Kernel has change max files.limit to max,So docker need -change too. - -Change-Id: Iea6e5eb1dddf0f8d2d55ee3182ed78957cb09a75 -Signed-off-by: yangshukui ---- - libcontainer/cgroups/fs/files.go | 16 ++-------------- - 1 file changed, 2 insertions(+), 14 deletions(-) - -diff --git a/libcontainer/cgroups/fs/files.go b/libcontainer/cgroups/fs/files.go -index f2e253a..3214a82 100644 ---- a/libcontainer/cgroups/fs/files.go -+++ b/libcontainer/cgroups/fs/files.go -@@ -4,28 +4,15 @@ package fs - - import ( - "fmt" -- "io/ioutil" - "strconv" - - "github.com/opencontainers/runc/libcontainer/cgroups" - "github.com/opencontainers/runc/libcontainer/configs" - ) - --var ( -- defaultFilesMax = "8192" --) -- - type FilesGroup struct { - } - --func init() { -- contents, err := ioutil.ReadFile("/proc/sys/fs/file-max") -- if err != nil { -- return -- } -- defaultFilesMax = string(contents) --} -- - func (s *FilesGroup) Name() string { - return "files" - } -@@ -40,7 +27,8 @@ func (s *FilesGroup) Apply(d *cgroupData) error { - - func (s *FilesGroup) Set(path string, cgroup *configs.Cgroup) error { - if cgroup.Resources.FilesLimit != 0 { -- limit := defaultFilesMax -+ // "max" is the fallback value. -+ limit := "max" - if cgroup.Resources.FilesLimit > 0 { - limit = strconv.FormatInt(cgroup.Resources.FilesLimit, 10) - } --- -2.7.4.3 - diff --git a/patch/0057-runc-change-read-value-of-cgroup-files.limit-.patch b/patch/0057-runc-change-read-value-of-cgroup-files.limit-.patch deleted file mode 100644 index 46462b5..0000000 --- a/patch/0057-runc-change-read-value-of-cgroup-files.limit-.patch +++ /dev/null @@ -1,55 +0,0 @@ -From aff98c05dbaf30fec52a0afed19ebf4a03303d63 Mon Sep 17 00:00:00 2001 -From: caihaomin -Date: Mon, 6 Nov 2017 01:43:45 +0000 -Subject: [PATCH 57/94] runc: change read value of cgroup files.limit - into string - -[Changelog]:change read value of cgroup files.limit from int to string. -For avoiding of value `max` -[Author]git - -Change-Id: Iec6197528b1aebb13a0ea64ba919a7b4c6f31d61 -Signed-off-by: caihaomin ---- - libcontainer/cgroups/fs/files.go | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git a/libcontainer/cgroups/fs/files.go b/libcontainer/cgroups/fs/files.go -index 3214a82..70e9524 100644 ---- a/libcontainer/cgroups/fs/files.go -+++ b/libcontainer/cgroups/fs/files.go -@@ -8,6 +8,7 @@ import ( - - "github.com/opencontainers/runc/libcontainer/cgroups" - "github.com/opencontainers/runc/libcontainer/configs" -+ "path/filepath" - ) - - type FilesGroup struct { -@@ -51,12 +52,21 @@ func (s *FilesGroup) GetStats(path string, stats *cgroups.Stats) error { - return fmt.Errorf("failed to parse files.usage - %s", err) - } - -- limit, err := getCgroupParamUint(path, "files.limit") -+ maxString, err := getCgroupParamString(path, "files.limit") - if err != nil { - return fmt.Errorf("failed to parse files.limit - %s", err) - } - -+ // Default if files.limit == "max" is 0 -- which represents "no limit". -+ var max uint64 -+ if maxString != "max" { -+ max, err = parseUint(maxString, 10, 64) -+ if err != nil { -+ return fmt.Errorf("failed to parse files.limit -- unable to parse %q as a uint from Cgroup file %q", maxString, filepath.Join(path, "file.limits")) -+ } -+ } -+ - stats.FilesStats.Usage = usage -- stats.FilesStats.Limit = limit -+ stats.FilesStats.Limit = max - return nil - } --- -2.7.4.3 - diff --git a/patch/0058-runc-fix-panic-when-Linux-is-nil.patch b/patch/0058-runc-fix-panic-when-Linux-is-nil.patch deleted file mode 100644 index 679bc0b..0000000 --- a/patch/0058-runc-fix-panic-when-Linux-is-nil.patch +++ /dev/null @@ -1,194 +0,0 @@ -From 20e119ab64e02e627671957bbfa445b988cc8687 Mon Sep 17 00:00:00 2001 -From: dengguangxing -Date: Wed, 16 May 2018 15:50:27 +0800 -Subject: [PATCH 58/94] runc: fix panic when Linux is nil - - -[Changelog]: Linux is not always not nil. -If Linux is nil, panic will occur. - -This is cherry-picked from runc upstream: - https://github.com/opencontainers/runc/pull/1551 -[Author]:Shukui Yang -Conflicts: - libcontainer/specconv/spec_linux.go - -Change-Id: Ib3bf9e80852dc079ab2d42a8234297397f3c56d9 -Signed-off-by: Ma Shimiao -Signed-off-by: Michael Crosby -Signed-off-by: dengguangxing ---- - libcontainer/specconv/spec_linux.go | 121 +++++++++++++++++++----------------- - 1 file changed, 65 insertions(+), 56 deletions(-) - -diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index b82082e..a8cf114 100644 ---- a/libcontainer/specconv/spec_linux.go -+++ b/libcontainer/specconv/spec_linux.go -@@ -180,20 +180,6 @@ func CreateLibcontainerConfig(opts *CreateOpts) (*configs.Config, error) { - } - - exists := false -- if config.RootPropagation, exists = mountPropagationMapping[spec.Linux.RootfsPropagation]; !exists { -- return nil, fmt.Errorf("rootfsPropagation=%v is not supported", spec.Linux.RootfsPropagation) -- } -- -- for _, ns := range spec.Linux.Namespaces { -- t, exists := namespaceMapping[ns.Type] -- if !exists { -- return nil, fmt.Errorf("namespace %q does not exist", ns) -- } -- if config.Namespaces.Contains(t) { -- return nil, fmt.Errorf("malformed spec file: duplicated ns %q", ns) -- } -- config.Namespaces.Add(t, ns.Path) -- } - if config.Namespaces.Contains(configs.NEWNET) && config.Namespaces.PathOf(configs.NEWNET) == "" { - config.Networks = []*configs.Network{ - { -@@ -215,15 +201,35 @@ func CreateLibcontainerConfig(opts *CreateOpts) (*configs.Config, error) { - return nil, err - } - config.Cgroups = c -- // set extra path masking for libcontainer for the various unsafe places in proc -- config.MaskPaths = spec.Linux.MaskedPaths -- config.ReadonlyPaths = spec.Linux.ReadonlyPaths -- if spec.Linux.Seccomp != nil { -- seccomp, err := setupSeccomp(spec.Linux.Seccomp) -- if err != nil { -- return nil, err -+ // set linux-specific config -+ if spec.Linux != nil { -+ if config.RootPropagation, exists = mountPropagationMapping[spec.Linux.RootfsPropagation]; !exists { -+ return nil, fmt.Errorf("rootfsPropagation=%v is not supported", spec.Linux.RootfsPropagation) -+ } -+ -+ for _, ns := range spec.Linux.Namespaces { -+ t, exists := namespaceMapping[ns.Type] -+ if !exists { -+ return nil, fmt.Errorf("namespace %q does not exist", ns) -+ } -+ if config.Namespaces.Contains(t) { -+ return nil, fmt.Errorf("malformed spec file: duplicated ns %q", ns) -+ } -+ config.Namespaces.Add(t, ns.Path) -+ } -+ -+ // set extra path masking for libcontainer for the various unsafe places in proc -+ config.MaskPaths = spec.Linux.MaskedPaths -+ config.ReadonlyPaths = spec.Linux.ReadonlyPaths -+ config.MountLabel = spec.Linux.MountLabel -+ config.Sysctl = spec.Linux.Sysctl -+ if spec.Linux.Seccomp != nil { -+ seccomp, err := setupSeccomp(spec.Linux.Seccomp) -+ if err != nil { -+ return nil, err -+ } -+ config.Seccomp = seccomp - } -- config.Seccomp = seccomp - } - if spec.Process.SelinuxLabel != "" { - config.ProcessLabel = spec.Process.SelinuxLabel -@@ -242,7 +248,6 @@ func CreateLibcontainerConfig(opts *CreateOpts) (*configs.Config, error) { - } - } - createHooks(spec, config) -- config.MountLabel = spec.Linux.MountLabel - config.Version = specs.Version - return config, nil - } -@@ -565,41 +570,40 @@ func createDevices(spec *specs.Spec, config *configs.Config) error { - }, - } - // merge in additional devices from the spec -- for _, d := range spec.Linux.Devices { -- var uid, gid uint32 -- var filemode os.FileMode = 0666 -+ if spec.Linux != nil { -+ for _, d := range spec.Linux.Devices { -+ var uid, gid uint32 -+ var filemode os.FileMode = 0666 - -- if d.UID != nil { -- uid = *d.UID -- } -- if d.GID != nil { -- gid = *d.GID -- } -- dt, err := stringToDeviceRune(d.Type) -- if err != nil { -- return err -- } -- if d.FileMode != nil { -- filemode = *d.FileMode -- } -- device := &configs.Device{ -- Type: dt, -- Path: d.Path, -- Major: d.Major, -- Minor: d.Minor, -- FileMode: filemode, -- Uid: uid, -- Gid: gid, -+ if d.UID != nil { -+ uid = *d.UID -+ } -+ if d.GID != nil { -+ gid = *d.GID -+ } -+ dt, err := stringToDeviceRune(d.Type) -+ if err != nil { -+ return err -+ } -+ if d.FileMode != nil { -+ filemode = *d.FileMode -+ } -+ device := &configs.Device{ -+ Type: dt, -+ Path: d.Path, -+ Major: d.Major, -+ Minor: d.Minor, -+ FileMode: filemode, -+ Uid: uid, -+ Gid: gid, -+ } -+ config.Devices = append(config.Devices, device) - } -- config.Devices = append(config.Devices, device) - } - return nil - } - - func setupUserNamespace(spec *specs.Spec, config *configs.Config) error { -- if len(spec.Linux.UIDMappings) == 0 { -- return nil -- } - create := func(m specs.LinuxIDMapping) configs.IDMap { - return configs.IDMap{ - HostID: int(m.HostID), -@@ -607,11 +611,16 @@ func setupUserNamespace(spec *specs.Spec, config *configs.Config) error { - Size: int(m.Size), - } - } -- for _, m := range spec.Linux.UIDMappings { -- config.UidMappings = append(config.UidMappings, create(m)) -- } -- for _, m := range spec.Linux.GIDMappings { -- config.GidMappings = append(config.GidMappings, create(m)) -+ if spec.Linux != nil { -+ if len(spec.Linux.UIDMappings) == 0 { -+ return nil -+ } -+ for _, m := range spec.Linux.UIDMappings { -+ config.UidMappings = append(config.UidMappings, create(m)) -+ } -+ for _, m := range spec.Linux.GIDMappings { -+ config.GidMappings = append(config.GidMappings, create(m)) -+ } - } - rootUID, err := config.HostRootUID() - if err != nil { --- -2.7.4.3 - diff --git a/patch/0059-Fix-setup-cgroup-before-prestart-hook.patch b/patch/0059-Fix-setup-cgroup-before-prestart-hook.patch deleted file mode 100644 index b2d1d73..0000000 --- a/patch/0059-Fix-setup-cgroup-before-prestart-hook.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 394c8695f22731938994fdc5d7db678762119481 Mon Sep 17 00:00:00 2001 -From: Wentao Zhang -Date: Tue, 20 Dec 2016 06:21:10 -0500 -Subject: [PATCH 59/94] Fix setup cgroup before prestart hook - -* User Case: -User could use prestart hook to add block devices to container. so the -hook should have a way to set the permissions of the devices. - -Just move cgroup config operation before prestart hook will work. -Conflicts: - libcontainer/process_linux.go - -Change-Id: I991138f4e686c4268e0629204ce1eae6452fdecf -Signed-off-by: Wentao Zhang ---- - libcontainer/process_linux.go | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index 9064c0e..70e93de 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -286,9 +286,6 @@ func (p *initProcess) start() error { - ierr := parseSync(p.parentPipe, func(sync *syncT) error { - switch sync.Type { - case procReady: -- if err := p.manager.Set(p.config.Config); err != nil { -- return newSystemErrorWithCause(err, "setting cgroup config for ready process") -- } - // set rlimits, this has to be done here because we lose permissions - // to raise the limits once we enter a user-namespace - if err := setupRlimits(p.config.Rlimits, p.pid()); err != nil { -@@ -296,6 +293,11 @@ func (p *initProcess) start() error { - } - // call prestart hooks - if !p.config.Config.Namespaces.Contains(configs.NEWNS) { -+ // Setup cgroup before prestart hook, so that the prestart hook could apply cgroup permissions. -+ if err := p.manager.Set(p.config.Config); err != nil { -+ return newSystemErrorWithCause(err, "setting cgroup config for ready process") -+ } -+ - if p.config.Config.Hooks != nil { - s := configs.HookState{ - SpecState: configs.SpecState{ -@@ -321,6 +323,10 @@ func (p *initProcess) start() error { - } - sentRun = true - case procHooks: -+ // Setup cgroup before prestart hook, so that the prestart hook could apply cgroup permissions. -+ if err := p.manager.Set(p.config.Config); err != nil { -+ return newSystemErrorWithCause(err, "setting cgroup config for ready process") -+ } - if p.config.Config.Hooks != nil { - s := configs.HookState{ - SpecState: configs.SpecState{ --- -2.7.4.3 - diff --git a/patch/0061-runc-17-change-golang-build-version-to-make-o.patch b/patch/0061-runc-17-change-golang-build-version-to-make-o.patch deleted file mode 100644 index b0fc5f4..0000000 --- a/patch/0061-runc-17-change-golang-build-version-to-make-o.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 6e457e14dcf0960926109c2f89766e893f79b5da Mon Sep 17 00:00:00 2001 -From: caihaomin -Date: Wed, 24 Oct 2018 14:56:01 +0800 -Subject: [PATCH 61/94] runc-17: change golang build version to make - obs happy - -reason:change golang build version to make obs happy - -Change-Id: Ie4b210056b34611bfb37aa6ea8510540f2c79305 -Signed-off-by: caihaomin ---- - script/runc-euleros.spec | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 5318ec2..048ea86 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 3%{?dist} -+Release: 4%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 -@@ -12,7 +12,7 @@ URL: https://www.opencontainers.org/ - Vendor: OCI - Packager: OCI - --BuildRequires: golang == 1.8.3 -+BuildRequires: golang >= 1.8.3 - BuildRequires: glibc-static - BuildRequires: make - BuildRequires: libseccomp-devel --- -2.7.4.3 - diff --git a/patch/0062-runc-Check-the-hook-timeout-in-case-overflow.patch b/patch/0062-runc-Check-the-hook-timeout-in-case-overflow.patch deleted file mode 100644 index 805c000..0000000 --- a/patch/0062-runc-Check-the-hook-timeout-in-case-overflow.patch +++ /dev/null @@ -1,47 +0,0 @@ -From ccd2660d85f36695032ed075f8f669ccad17bfc3 Mon Sep 17 00:00:00 2001 -From: panwenxiang -Date: Tue, 23 Oct 2018 16:43:20 +0800 -Subject: [PATCH 62/94] runc: Check the hook timeout in case overflow - -reason:the hook timeout is meaningless when more than 120s - -Change-Id: Ibabf059bd9ba5e68b10189ae4e813d47dcec7ec5 ---- - libcontainer/configs/config.go | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go -index d6bc603..9049924 100644 ---- a/libcontainer/configs/config.go -+++ b/libcontainer/configs/config.go -@@ -14,6 +14,7 @@ import ( - const ( - minHookTimeOut = 1 * time.Second - defaultHookTimeOut = 5 * time.Second -+ maxHookTimeOut = 120 * time.Second - //the runc default timeout is 120s, so set the defaultWarnTime to 80% of the default timeout. - defaultWarnTime = 96 * time.Second - ) -@@ -355,6 +356,10 @@ func (c Command) Run(s HookState) error { - if c.Timeout != nil && *c.Timeout < minHookTimeOut { - *c.Timeout = defaultHookTimeOut - } -+ if c.Timeout != nil && *c.Timeout > maxHookTimeOut { -+ logrus.Warnf("hook timeout: %s is too long, ContainerID: %s", *c.Timeout, s.ID) -+ *c.Timeout = maxHookTimeOut -+ } - errC := make(chan error, 1) - var ( - timerCh <-chan time.Time -@@ -382,7 +387,7 @@ func (c Command) Run(s HookState) error { - timer := time.NewTimer(*c.Timeout) - defer timer.Stop() - timerCh = timer.C -- warnTime = float64(*c.Timeout) * 0.8 -+ warnTime = (*c.Timeout).Seconds() * 0.8 - } - for { - select { --- -2.7.4.3 - diff --git a/patch/0063-docker-close-openchan-immediately-to-avoid-er.patch b/patch/0063-docker-close-openchan-immediately-to-avoid-er.patch deleted file mode 100644 index 3a12ead..0000000 --- a/patch/0063-docker-close-openchan-immediately-to-avoid-er.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 256b247e9fa9844c8e0760679411427d43b661c9 Mon Sep 17 00:00:00 2001 -From: wangfengtu -Date: Wed, 5 Sep 2018 15:16:28 +0800 -Subject: [PATCH 63/94] docker: close openchan immediately to avoid - error - -reason: close openchan immediately to avoid error - -Change-Id: I20664570518ea424088a4eb6a5aac3d38ac08449 -Signed-off-by: wangfengtu ---- - libcontainer/container_linux.go | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index ba5dcd6..61ffb76 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -245,8 +245,7 @@ func (c *linuxContainer) exec() error { - select { - case <-awaitProcessExit(c.initProcess.pid(), fifoOpen): - return errors.New("container process is already dead") -- case result := <-awaitFifoOpen(path): -- close(fifoOpen) -+ case result := <-awaitFifoOpen(path, fifoOpen): - if result.err != nil { - return result.err - } -@@ -283,7 +282,12 @@ func awaitProcessExit(pid int, exit <-chan struct{}) <-chan struct{} { - case <-time.After(time.Millisecond * 100): - stat, err := system.GetProcessState(pid) - if err != nil || stat == system.Zombie { -- close(isDead) -+ select { -+ case <-exit: -+ return -+ default: -+ close(isDead) -+ } - return - } - } -@@ -292,10 +296,11 @@ func awaitProcessExit(pid int, exit <-chan struct{}) <-chan struct{} { - return isDead - } - --func awaitFifoOpen(path string) <-chan openResult { -+func awaitFifoOpen(path string, fifoOpen chan struct{}) <-chan openResult { - fifoOpened := make(chan openResult) - go func() { - f, err := os.OpenFile(path, os.O_RDONLY, 0) -+ close(fifoOpen) - if err != nil { - fifoOpened <- openResult{err: newSystemErrorWithCause(err, "open exec fifo for reading")} - return --- -2.7.4.3 - diff --git a/patch/0064-runc-bump-to-v1.0.0.rc3.4-after-normalization.patch b/patch/0064-runc-bump-to-v1.0.0.rc3.4-after-normalization.patch deleted file mode 100644 index 3b3f49f..0000000 --- a/patch/0064-runc-bump-to-v1.0.0.rc3.4-after-normalization.patch +++ /dev/null @@ -1,30 +0,0 @@ -From f7c4eae61c9d532ff9ea77aba147976d05235dba Mon Sep 17 00:00:00 2001 -From: lujingxiao -Date: Tue, 30 Oct 2018 15:24:47 +0800 -Subject: [PATCH 64/94] runc: bump to v1.0.0.rc3.4 after normalization - -reason:bump version to v1.0.0.rc3.4 after making runc and -runc-17 into one project - -Change-Id: I9045945c81f9b21aff53659dac98b4461dea4199 -Signed-off-by: lujingxiao ---- - script/runc-euleros.spec | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 048ea86..0ba07be 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 4%{?dist} -+Release: 5%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0066-runc-bump-to-v1.0.0.rc3.6.patch b/patch/0066-runc-bump-to-v1.0.0.rc3.6.patch deleted file mode 100644 index c94e0e3..0000000 --- a/patch/0066-runc-bump-to-v1.0.0.rc3.6.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c8e1e988fa6509070411c7dbab50edb40092aaf9 Mon Sep 17 00:00:00 2001 -From: jingrui -Date: Sat, 23 Feb 2019 14:13:49 +0800 -Subject: [PATCH 66/94] runc: bump to v1.0.0.rc3.6 - -reason:bump version to v1.0.0.rc3.6 - -Change-Id: I79890c41c7934f96ee6e1d676450d7832cc90f73 -Signed-off-by: jingrui ---- - script/runc-euleros.spec | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 0ba07be..08fceee 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 5%{?dist} -+Release: 6%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0067-runc-make-the-runc-log-more-useful.patch b/patch/0067-runc-make-the-runc-log-more-useful.patch deleted file mode 100644 index 1705ecb..0000000 --- a/patch/0067-runc-make-the-runc-log-more-useful.patch +++ /dev/null @@ -1,137 +0,0 @@ -From 6bc094ef27ebb55f22c5a1b63ab40a66bf73cc35 Mon Sep 17 00:00:00 2001 -From: panwenxiang -Date: Sat, 3 Nov 2018 12:42:49 +0800 -Subject: [PATCH 67/94] runc: make the runc log more useful. - -reason:changed some log infomation. - -Change-Id: Ib6cda4b8a0ef3a441c45f6c435fe11430f8eada8 -Signed-off-by: panwenxiang ---- - libcontainer/configs/config.go | 13 +++++++++---- - libcontainer/container_linux.go | 1 - - libcontainer/process_linux.go | 4 +--- - libcontainer/state_linux.go | 1 - - main.go | 2 +- - script/runc-euleros.spec | 2 +- - 6 files changed, 12 insertions(+), 11 deletions(-) - -diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go -index 9049924..f8f9d05 100644 ---- a/libcontainer/configs/config.go -+++ b/libcontainer/configs/config.go -@@ -12,7 +12,7 @@ import ( - ) - - const ( -- minHookTimeOut = 1 * time.Second -+ minHookTimeOut = 0 - defaultHookTimeOut = 5 * time.Second - maxHookTimeOut = 120 * time.Second - //the runc default timeout is 120s, so set the defaultWarnTime to 80% of the default timeout. -@@ -353,11 +353,12 @@ func (c Command) Run(s HookState) error { - if err := cmd.Start(); err != nil { - return err - } -- if c.Timeout != nil && *c.Timeout < minHookTimeOut { -+ if c.Timeout != nil && *c.Timeout <= minHookTimeOut { - *c.Timeout = defaultHookTimeOut -+ logrus.Warnf("hook timeout should not be negative or zero, set hook timeout as 5s") - } - if c.Timeout != nil && *c.Timeout > maxHookTimeOut { -- logrus.Warnf("hook timeout: %s is too long, ContainerID: %s", *c.Timeout, s.ID) -+ logrus.Warnf("hook timeout: %s is too long, use 120s as timeout. ContainerID: %s", *c.Timeout, s.ID) - *c.Timeout = maxHookTimeOut - } - errC := make(chan error, 1) -@@ -398,7 +399,11 @@ func (c Command) Run(s HookState) error { - cmd.Wait() - return fmt.Errorf("hook ran past specified timeout of %.1fs", c.Timeout.Seconds()) - case <-time.After(time.Duration(warnTime) * time.Second): -- logrus.Warnf("hook ran more than 80%% of the default timeout, ContainerID: %s", s.ID) -+ if c.Timeout != nil { -+ logrus.Warnf("hook ran more than 80%% of the timeout %s, ContainerID: %s", *c.Timeout, s.ID) -+ } else { -+ logrus.Warnf("hook ran more than 80%% of the default timeout 120s, ContainerID: %s", s.ID) -+ } - } - } - } -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 61ffb76..8e0ad12 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -358,7 +358,6 @@ func (c *linuxContainer) start(process *Process, isInit bool) error { - } - return newSystemErrorWithCausef(err, "running poststart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - } -- logrus.Infof("poststart hook %d:%s done", i, hook.Info()) - } - } - } else { -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index 79b1c4e..4a7321c 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -312,7 +312,6 @@ func (p *initProcess) start() error { - if err := hook.Run(s); err != nil { - return newSystemErrorWithCausef(err, "running prestart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - } -- logrus.Infof("prestart hook %d:%s done", i, hook.Info()) - } - } - } -@@ -337,11 +336,10 @@ func (p *initProcess) start() error { - Root: p.config.Config.Rootfs, - } - for i, hook := range p.config.Config.Hooks.Prestart { -- logrus.Infof("run prestart hook %d:%s, ContainerID :%s", i, hook.Info(), s.ID) -+ logrus.Infof("run prestart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - if err := hook.Run(s); err != nil { - return newSystemErrorWithCausef(err, "running prestart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - } -- logrus.Infof("prestart hook %d:%s done", i, hook.Info()) - } - } - // Sync with child. -diff --git a/libcontainer/state_linux.go b/libcontainer/state_linux.go -index 26e091b..6fa62c0 100644 ---- a/libcontainer/state_linux.go -+++ b/libcontainer/state_linux.go -@@ -71,7 +71,6 @@ func runPoststopHooks(c *linuxContainer) error { - logrus.Errorf("running poststop hook %d: %s failed: %s", i, hook.Info(), err) - return newSystemErrorWithCausef(err, "running poststop hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - } -- logrus.Infof("poststop hook %d:%s done", i, hook.Info()) - } - } - return nil -diff --git a/main.go b/main.go -index f15a4ac..e55ff82 100644 ---- a/main.go -+++ b/main.go -@@ -78,7 +78,7 @@ func main() { - }, - cli.StringFlag{ - Name: "log-level", -- Usage: "Set the logging level [debug, info, warn, error, fatal, panic]", -+ Usage: "set the logging level [debug, info, warn, error, fatal, panic]", - }, - cli.StringFlag{ - Name: "root", -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 08fceee..e829cb9 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 6%{?dist} -+Release: 7%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0068-runc-reduced-the-same-log-when-the-hook-exect.patch b/patch/0068-runc-reduced-the-same-log-when-the-hook-exect.patch deleted file mode 100644 index a3b1d4b..0000000 --- a/patch/0068-runc-reduced-the-same-log-when-the-hook-exect.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 940d7088701fbfe6c2d636251490a1d28f90dbdc Mon Sep 17 00:00:00 2001 -From: panwenxiang -Date: Thu, 8 Nov 2018 10:19:23 +0800 -Subject: [PATCH 68/94] runc: reduced the same log when the hook - exected long time. - -reason:runc would print a lot of same logs when the hook executed long time - -Change-Id: I7d0b07cca68590c560580967f8d70143764f53d9 -Signed-off-by: panwenxiang ---- - libcontainer/configs/config.go | 3 ++- - script/runc-euleros.spec | 2 +- - 2 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go -index f8f9d05..78a7d1d 100644 ---- a/libcontainer/configs/config.go -+++ b/libcontainer/configs/config.go -@@ -390,6 +390,7 @@ func (c Command) Run(s HookState) error { - timerCh = timer.C - warnTime = (*c.Timeout).Seconds() * 0.8 - } -+ timeAfter := time.After(time.Duration(warnTime) * time.Second) - for { - select { - case err := <-errC: -@@ -398,7 +399,7 @@ func (c Command) Run(s HookState) error { - cmd.Process.Kill() - cmd.Wait() - return fmt.Errorf("hook ran past specified timeout of %.1fs", c.Timeout.Seconds()) -- case <-time.After(time.Duration(warnTime) * time.Second): -+ case <-timeAfter: - if c.Timeout != nil { - logrus.Warnf("hook ran more than 80%% of the timeout %s, ContainerID: %s", *c.Timeout, s.ID) - } else { -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index e829cb9..025b621 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 7%{?dist} -+Release: 8%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0069-runc-Change-Files-to-LinuxFiles-for-file-limi.patch b/patch/0069-runc-Change-Files-to-LinuxFiles-for-file-limi.patch deleted file mode 100644 index b50ea47..0000000 --- a/patch/0069-runc-Change-Files-to-LinuxFiles-for-file-limi.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 4b8a7b69792c22c1ee3abf3bee88af3590b144cb Mon Sep 17 00:00:00 2001 -From: lujingxiao -Date: Thu, 8 Nov 2018 11:14:01 +0800 -Subject: [PATCH 69/94] runc: Change Files to LinuxFiles for - --file-limit - -reason: after runc-1.0.0.rc3, struct Files should be renamed -to LinuxFiles. - ---file-limit related commits: -- 0c540de runc: change read value of cgroup files.limit into string -- fb2de87 runc: Modify max files.limit to max because of the -change of kernel. -- 5fc9474 Add file fds limit -all are already merged. - -Change-Id: Ida75dd6a7ccd225f6ac851bf4a28ef77d5a3944f -Signed-off-by: lujingxiao ---- - libcontainer/specconv/spec_linux.go | 4 ++-- - script/runc-euleros.spec | 2 +- - vendor/github.com/opencontainers/runtime-spec/Checklist | 1 + - .../github.com/opencontainers/runtime-spec/specs-go/config.go | 10 +++++----- - 4 files changed, 9 insertions(+), 8 deletions(-) - create mode 100644 vendor/github.com/opencontainers/runtime-spec/Checklist - -diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index a8cf114..8ef9574 100644 ---- a/libcontainer/specconv/spec_linux.go -+++ b/libcontainer/specconv/spec_linux.go -@@ -408,8 +408,8 @@ func createCgroupConfig(opts *CreateOpts) (*configs.Cgroup, error) { - if r.Pids != nil { - c.Resources.PidsLimit = r.Pids.Limit - } -- if r.Files != nil && r.Files.Limit != nil { -- c.Resources.FilesLimit = *r.Files.Limit -+ if r.Files != nil { -+ c.Resources.FilesLimit = r.Files.Limit - } - if r.BlockIO != nil { - if r.BlockIO.Weight != nil { -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 025b621..19cdc42 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 8%{?dist} -+Release: 9%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 -diff --git a/vendor/github.com/opencontainers/runtime-spec/Checklist b/vendor/github.com/opencontainers/runtime-spec/Checklist -new file mode 100644 -index 0000000..be85bc8 ---- /dev/null -+++ b/vendor/github.com/opencontainers/runtime-spec/Checklist -@@ -0,0 +1 @@ -+Add struct LinuxFiles to vendor/src/github.com/opencontainers/runtime-spec/specs-go/config.go for supporting --files-limit -diff --git a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -index 603ecf4..fe3c5b6 100644 ---- a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -+++ b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -@@ -318,10 +318,10 @@ type LinuxPids struct { - Limit int64 `json:"limit"` - } - --// Files for Linux cgroup 'files' resource management (https://lwn.net/Articles/604129/) --type Files struct { -- // Maximum number of open files". -- Limit *int64 `json:"limit,omitempty"` -+// LinuxFiles for Linux cgroup 'files' resource management (https://lwn.net/Articles/604129/) -+type LinuxFiles struct { -+ // Maximum number of open files. Default is "no limit". -+ Limit int64 `json:"limit,omitempty"` - } - - // LinuxNetwork identification and priority configuration -@@ -347,7 +347,7 @@ type LinuxResources struct { - // Task resource restriction configuration. - Pids *LinuxPids `json:"pids,omitempty"` - // Files resource restriction configuration. -- Files *Files `json:"files,omitempty"` -+ Files *LinuxFiles `json:"files,omitempty"` - // BlockIO restriction configuration - BlockIO *LinuxBlockIO `json:"blockIO,omitempty"` - // Hugetlb limit (in bytes) --- -2.7.4.3 - diff --git a/patch/0070-runc-not-print-no-such-file-when-cli-err.patch b/patch/0070-runc-not-print-no-such-file-when-cli-err.patch deleted file mode 100644 index 0944073..0000000 --- a/patch/0070-runc-not-print-no-such-file-when-cli-err.patch +++ /dev/null @@ -1,48 +0,0 @@ -From e0f78c86d05f7af62aef49c8c495f417d1bf7beb Mon Sep 17 00:00:00 2001 -From: lujingxiao -Date: Fri, 9 Nov 2018 15:01:27 +0800 -Subject: [PATCH 70/94] runc: not print "no such file" when cli err - -reason: when container does not exists, runc will cannot find -state.json, so "state.json: no such file or directory" is expected. -but user may call runc command anytime, so we should not print such -log to syslog. Just return it with stderr is ok. - -Change-Id: Ia26824d0339f69d8db3ef86c0f8344f60963a177 -Signed-off-by: lujingxiao ---- - main.go | 5 ++++- - script/runc-euleros.spec | 2 +- - 2 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/main.go b/main.go -index e55ff82..be3fba6 100644 ---- a/main.go -+++ b/main.go -@@ -163,6 +163,9 @@ type FatalWriter struct { - } - - func (f *FatalWriter) Write(p []byte) (n int, err error) { -- logrus.Error(string(p)) -+ errStr := string(p) -+ if !strings.Contains(errStr, "state.json: no such file or directory") { -+ logrus.Error(errStr) -+ } - return f.cliErrWriter.Write(p) - } -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 19cdc42..acadd9e 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 9%{?dist} -+Release: 10%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0071-runc-revert-Change-Files-to-LinuxFiles-for-fi.patch b/patch/0071-runc-revert-Change-Files-to-LinuxFiles-for-fi.patch deleted file mode 100644 index 09423be..0000000 --- a/patch/0071-runc-revert-Change-Files-to-LinuxFiles-for-fi.patch +++ /dev/null @@ -1,88 +0,0 @@ -From a667acd5325633858ae671f27075d58345b12619 Mon Sep 17 00:00:00 2001 -From: leizhongkai -Date: Fri, 9 Nov 2018 20:06:31 +0800 -Subject: [PATCH 71/94] runc: [revert]Change Files to LinuxFiles for - --file-limit - -reason:This reverts commit 1695b25310c490fe5038cf5a49e4c17ffc85af0e. - -Signed-off-by: leizhongkai - -Conflicts: - script/runc-euleros.spec - -Change-Id: Iddbcc7eca095b4b8e5d062e06f2f332a2c07caf8 ---- - libcontainer/specconv/spec_linux.go | 4 ++-- - script/runc-euleros.spec | 2 +- - vendor/github.com/opencontainers/runtime-spec/Checklist | 1 - - .../github.com/opencontainers/runtime-spec/specs-go/config.go | 10 +++++----- - 4 files changed, 8 insertions(+), 9 deletions(-) - delete mode 100644 vendor/github.com/opencontainers/runtime-spec/Checklist - -diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index 8ef9574..a8cf114 100644 ---- a/libcontainer/specconv/spec_linux.go -+++ b/libcontainer/specconv/spec_linux.go -@@ -408,8 +408,8 @@ func createCgroupConfig(opts *CreateOpts) (*configs.Cgroup, error) { - if r.Pids != nil { - c.Resources.PidsLimit = r.Pids.Limit - } -- if r.Files != nil { -- c.Resources.FilesLimit = r.Files.Limit -+ if r.Files != nil && r.Files.Limit != nil { -+ c.Resources.FilesLimit = *r.Files.Limit - } - if r.BlockIO != nil { - if r.BlockIO.Weight != nil { -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index acadd9e..16fb43c 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 10%{?dist} -+Release: 11%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 -diff --git a/vendor/github.com/opencontainers/runtime-spec/Checklist b/vendor/github.com/opencontainers/runtime-spec/Checklist -deleted file mode 100644 -index be85bc8..0000000 ---- a/vendor/github.com/opencontainers/runtime-spec/Checklist -+++ /dev/null -@@ -1 +0,0 @@ --Add struct LinuxFiles to vendor/src/github.com/opencontainers/runtime-spec/specs-go/config.go for supporting --files-limit -diff --git a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -index fe3c5b6..603ecf4 100644 ---- a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -+++ b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -@@ -318,10 +318,10 @@ type LinuxPids struct { - Limit int64 `json:"limit"` - } - --// LinuxFiles for Linux cgroup 'files' resource management (https://lwn.net/Articles/604129/) --type LinuxFiles struct { -- // Maximum number of open files. Default is "no limit". -- Limit int64 `json:"limit,omitempty"` -+// Files for Linux cgroup 'files' resource management (https://lwn.net/Articles/604129/) -+type Files struct { -+ // Maximum number of open files". -+ Limit *int64 `json:"limit,omitempty"` - } - - // LinuxNetwork identification and priority configuration -@@ -347,7 +347,7 @@ type LinuxResources struct { - // Task resource restriction configuration. - Pids *LinuxPids `json:"pids,omitempty"` - // Files resource restriction configuration. -- Files *LinuxFiles `json:"files,omitempty"` -+ Files *Files `json:"files,omitempty"` - // BlockIO restriction configuration - BlockIO *LinuxBlockIO `json:"blockIO,omitempty"` - // Hugetlb limit (in bytes) --- -2.7.4.3 - diff --git a/patch/0072-Revert-runc-not-print-no-such-file-when-cli-e.patch b/patch/0072-Revert-runc-not-print-no-such-file-when-cli-e.patch deleted file mode 100644 index 40825f2..0000000 --- a/patch/0072-Revert-runc-not-print-no-such-file-when-cli-e.patch +++ /dev/null @@ -1,32 +0,0 @@ -From b736c8d450f52150db3b8f7a6a247338028b57bf Mon Sep 17 00:00:00 2001 -From: jingrui -Date: Tue, 13 Nov 2018 17:21:19 +0800 -Subject: [PATCH 72/94] Revert "runc: not print "no such file" when cli - err" - -reason: This reverts commit 21c62a431c2795f59a82312dd9b8a437a1b2ca28. - -Change-Id: Ice19acd48ef916a3d992d9f4d06cf056361565e5 -Signed-off-by: jingrui ---- - main.go | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/main.go b/main.go -index be3fba6..e55ff82 100644 ---- a/main.go -+++ b/main.go -@@ -163,9 +163,6 @@ type FatalWriter struct { - } - - func (f *FatalWriter) Write(p []byte) (n int, err error) { -- errStr := string(p) -- if !strings.Contains(errStr, "state.json: no such file or directory") { -- logrus.Error(errStr) -- } -+ logrus.Error(string(p)) - return f.cliErrWriter.Write(p) - } --- -2.7.4.3 - diff --git a/patch/0073-runc-fix-state.json-no-such-file-or-directory.patch b/patch/0073-runc-fix-state.json-no-such-file-or-directory.patch deleted file mode 100644 index 433e67e..0000000 --- a/patch/0073-runc-fix-state.json-no-such-file-or-directory.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 3c0c0adf121e44ee00b7191a2693575676eb90be Mon Sep 17 00:00:00 2001 -From: jingrui -Date: Tue, 13 Nov 2018 15:38:05 +0800 -Subject: [PATCH 73/94] runc: fix state.json: no such file or directory - -reason: fix 8c14d652 * runc-17: add compatibility for docker-1.11.2 - -Change-Id: I8ff0b3ae90611dfb6e1f5fbd1b8170c460d9ea2d -Signed-off-by: jingrui ---- - libcontainer/factory_linux.go | 14 +++++++------- - script/runc-euleros.spec | 2 +- - 2 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/libcontainer/factory_linux.go b/libcontainer/factory_linux.go -index b533346..fe9ce24 100644 ---- a/libcontainer/factory_linux.go -+++ b/libcontainer/factory_linux.go -@@ -368,11 +368,11 @@ func (l *LinuxFactory) updateStateCapabilites(compatState *CompatState, configPa - return errors.New("updateStateCapabilites unexpected format for capabilities") - } - --func (l *LinuxFactory) loadOriginState(configPath string) (*State, error) { -+func (l *LinuxFactory) loadOriginState(configPath, id string) (*State, error) { - f, err := os.Open(configPath) - if err != nil { - if os.IsNotExist(err) { -- return nil, newGenericError(err, ContainerNotExists) -+ return nil, newGenericError(fmt.Errorf("container %q does not exist", id), ContainerNotExists) - } - return nil, newGenericError(err, SystemError) - } -@@ -384,11 +384,11 @@ func (l *LinuxFactory) loadOriginState(configPath string) (*State, error) { - return state, nil - } - --func (l *LinuxFactory) loadCompatState(configPath string) (*State, error) { -+func (l *LinuxFactory) loadCompatState(configPath, id string) (*State, error) { - dt, err := ioutil.ReadFile(configPath) - if err != nil { - if os.IsNotExist(err) { -- return nil, newGenericError(err, ContainerNotExists) -+ return nil, newGenericError(fmt.Errorf("container %q does not exist", id), ContainerNotExists) - } - return nil, newGenericError(err, SystemError) - } -@@ -403,14 +403,14 @@ func (l *LinuxFactory) loadCompatState(configPath string) (*State, error) { - return nil, newGenericError(err, SystemError) - } - -- return l.loadOriginState(configPath) -+ return l.loadOriginState(configPath, id) - } - - func (l *LinuxFactory) loadState(root, id string) (*State, error) { - configPath := filepath.Join(root, stateFilename) -- state, err := l.loadOriginState(configPath) -+ state, err := l.loadOriginState(configPath, id) - if err != nil { -- return l.loadCompatState(configPath) -+ return l.loadCompatState(configPath, id) - } - return state, nil - } -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 16fb43c..536678d 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 11%{?dist} -+Release: 12%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0074-runc-fix-check-sysctl-in-host-network-mode.patch b/patch/0074-runc-fix-check-sysctl-in-host-network-mode.patch deleted file mode 100644 index c75dccb..0000000 --- a/patch/0074-runc-fix-check-sysctl-in-host-network-mode.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 0a760e4753e743a0fe874471584d378b81a02d07 Mon Sep 17 00:00:00 2001 -From: zhangyuyun -Date: Thu, 15 Nov 2018 01:10:44 -0500 -Subject: [PATCH 74/94] runc: fix check sysctl in host network mode - -reason:it's found failed in runc to check if the container is in - the host namespace,which introduced by - https://github.com/opencontainers/runc/pull/1138 - https://github.com/opencontainers/runc/pull/1221 - -Change-Id: If1374c081cea93c700d627b40d2ca1ad58b5fb83 ---- - libcontainer/configs/validate/validator.go | 27 ++++++++++++++++++--------- - script/runc-euleros.spec | 2 +- - 2 files changed, 19 insertions(+), 10 deletions(-) - -diff --git a/libcontainer/configs/validate/validator.go b/libcontainer/configs/validate/validator.go -index 8284345..5cb50fb 100644 ---- a/libcontainer/configs/validate/validator.go -+++ b/libcontainer/configs/validate/validator.go -@@ -5,6 +5,7 @@ import ( - "os" - "path/filepath" - "strings" -+ "syscall" - - "github.com/opencontainers/runc/libcontainer/configs" - selinux "github.com/opencontainers/selinux/go-selinux" -@@ -177,16 +178,24 @@ func checkHostNs(sysctlConfig string, path string) error { - return fmt.Errorf("could not check that %q is a symlink: %v", path, err) - } - -+ var destOfContainer string - if symLink == false { -- // The provided namespace is not a symbolic link, -- // it is not the host namespace. -- return nil -- } -- -- // readlink on the path provided in the struct -- destOfContainer, err := os.Readlink(path) -- if err != nil { -- return fmt.Errorf("read soft link %q error", path) -+ // try getting inode number for comparsion -+ f, err := os.Stat(path) -+ if err != nil { -+ return err -+ } -+ stat, ok := f.Sys().(*syscall.Stat_t) -+ if !ok { -+ return fmt.Errorf("cannot convert stat value of %q to syscall.Stat_t", path) -+ } -+ destOfContainer = fmt.Sprintf("net:[%d]", stat.Ino) -+ } else { -+ // readlink on the path provided in the struct -+ destOfContainer, err = os.Readlink(path) -+ if err != nil { -+ return fmt.Errorf("read soft link %q error", path) -+ } - } - if destOfContainer == destOfCurrentProcess { - return fmt.Errorf("sysctl %q is not allowed in the hosts network namespace", sysctlConfig) -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 536678d..0e92bf0 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 12%{?dist} -+Release: 13%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0075-runc-Fix-systemd-journald-service-dependency.patch b/patch/0075-runc-Fix-systemd-journald-service-dependency.patch deleted file mode 100644 index 57fc63d..0000000 --- a/patch/0075-runc-Fix-systemd-journald-service-dependency.patch +++ /dev/null @@ -1,62 +0,0 @@ -From b35de14c25e51f98c3e61636ed79ba91e6259596 Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Thu, 6 Dec 2018 19:44:58 +0800 -Subject: [PATCH 75/94] runc: Fix systemd-journald service dependency - -reason:runc logs forwarding to syslog only when systemd-journald service -status is active and running. - -Change-Id: Ib95f0269c6905642050be1c4d195e95919245159 -Signed-off-by: zhangsong34 ---- - main.go | 12 ++++++++---- - script/runc-euleros.spec | 2 +- - 2 files changed, 9 insertions(+), 5 deletions(-) - -diff --git a/main.go b/main.go -index e55ff82..dcc2925 100644 ---- a/main.go -+++ b/main.go -@@ -8,6 +8,7 @@ import ( - "github.com/urfave/cli" - "io" - "log/syslog" -+ "net" - "os" - "strings" - ) -@@ -121,11 +122,14 @@ func main() { - return err - } - logrus.SetOutput(f) -- hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") -- if serr != nil { -- fmt.Fprint(f, fmt.Sprintf("Leo: new syslog hook get %s", serr)) -+ if conn, err := net.Dial("unixgram", "/run/systemd/journal/socket"); err == nil { -+ defer conn.Close() -+ hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") -+ if serr != nil { -+ fmt.Fprint(f, fmt.Sprintf("new syslog hook get %s", serr)) -+ } -+ logrus.AddHook(hook) - } -- logrus.AddHook(hook) - } - switch context.GlobalString("log-format") { - case "text": -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 0e92bf0..354bb24 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 13%{?dist} -+Release: 14%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0076-runc-Fix-syslog-hook-bug.patch b/patch/0076-runc-Fix-syslog-hook-bug.patch deleted file mode 100644 index 321bc41..0000000 --- a/patch/0076-runc-Fix-syslog-hook-bug.patch +++ /dev/null @@ -1,60 +0,0 @@ -From e42b9955244945b3571aad2e2a612b827f6cafa2 Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Thu, 6 Dec 2018 21:41:59 +0800 -Subject: [PATCH 76/94] runc: Fix syslog hook bug - -reason:If NewSyslogHook() function returns error, it indicates that -systemd-journald service is not running, do not add this hook. - -Change-Id: Ifd6c9a79a4055da275a8c4c867195f220b0cdffd -Signed-off-by: zhangsong34 ---- - main.go | 11 ++++------- - script/runc-euleros.spec | 2 +- - 2 files changed, 5 insertions(+), 8 deletions(-) - -diff --git a/main.go b/main.go -index dcc2925..5f0ec91 100644 ---- a/main.go -+++ b/main.go -@@ -8,7 +8,6 @@ import ( - "github.com/urfave/cli" - "io" - "log/syslog" -- "net" - "os" - "strings" - ) -@@ -122,12 +121,10 @@ func main() { - return err - } - logrus.SetOutput(f) -- if conn, err := net.Dial("unixgram", "/run/systemd/journal/socket"); err == nil { -- defer conn.Close() -- hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") -- if serr != nil { -- fmt.Fprint(f, fmt.Sprintf("new syslog hook get %s", serr)) -- } -+ hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") -+ if serr != nil { -+ fmt.Fprint(f, fmt.Sprintf("new syslog hook get %s", serr)) -+ } else { - logrus.AddHook(hook) - } - } -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 354bb24..34f9d22 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 14%{?dist} -+Release: 15%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0077-runc-Require-libseccomp-static-lib-for-upgrade-f.patch b/patch/0077-runc-Require-libseccomp-static-lib-for-upgrade-f.patch deleted file mode 100644 index 2d72192..0000000 --- a/patch/0077-runc-Require-libseccomp-static-lib-for-upgrade-f.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 2f064ca54d3e1fcc41bc8f97c3ac8a354de34fff Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Wed, 12 Dec 2018 18:53:48 +0800 -Subject: [PATCH 77/94] runc: Require libseccomp-static lib for - upgrade - -reason:Require libseccomp-static lib for upgrade - -Change-Id: Ie80603197c95ab36ce23c11c8b0807b43d0fb916 -Signed-off-by: zhangsong34 ---- - script/runc-euleros.spec | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 34f9d22..f21ac08 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 15%{?dist} -+Release: 16%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 -@@ -18,6 +18,7 @@ BuildRequires: make - BuildRequires: libseccomp-devel - BuildRequires: libselinux-devel - -+BuildRequires: libseccomp-static - - %description - runc is a CLI tool for spawning and running containers according to the OCF specification --- -2.7.4.3 - diff --git a/patch/0078-runc-Fix-race-in-runc-exec.patch b/patch/0078-runc-Fix-race-in-runc-exec.patch deleted file mode 100644 index 0a96a80..0000000 --- a/patch/0078-runc-Fix-race-in-runc-exec.patch +++ /dev/null @@ -1,499 +0,0 @@ -From 7bef8ad8bbe3fed26c02b070b6ba09d484ec514b Mon Sep 17 00:00:00 2001 -From: wangfengtu -Date: Fri, 1 Jun 2018 12:56:13 -0700 -Subject: [PATCH 78/94] runc: Fix race in runc exec - -reason:There is a race in runc exec when the init process stops just before -the check for the container status. It is then wrongly assumed that -we are trying to start an init process instead of an exec process. - -This commit add an Init field to libcontainer Process to distinguish -between init and exec processes to prevent this race. - -cherry-picked from upstream https://github.com/opencontainers/runc/pull/1812 - -conflicts: - exec.go - libcontainer/container_linux.go - utils_linux.go - -Change-Id: I945a5f663914e652cc117aa33885d687f70a51e4 -Signed-off-by: Mrunal Patel -Signed-off-by: wangfengtu ---- - exec.go | 1 + - libcontainer/container_linux.go | 29 +++++++++-------------------- - libcontainer/integration/checkpoint_test.go | 2 ++ - libcontainer/integration/exec_test.go | 19 +++++++++++++++++++ - libcontainer/integration/execin_test.go | 11 +++++++++++ - libcontainer/integration/seccomp_test.go | 3 +++ - libcontainer/integration/utils_test.go | 1 + - libcontainer/process.go | 3 +++ - utils_linux.go | 7 +++++-- - 9 files changed, 54 insertions(+), 22 deletions(-) - -diff --git a/exec.go b/exec.go -index 22f2689..9ed90ea 100644 ---- a/exec.go -+++ b/exec.go -@@ -135,6 +135,7 @@ func execProcess(context *cli.Context) (int, error) { - consoleSocket: context.String("console-socket"), - detach: detach, - pidFile: context.String("pid-file"), -+ init: false, - } - return r.run(p) - } -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 8e0ad12..8100aca 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -197,17 +197,13 @@ func (c *linuxContainer) Set(config configs.Config) error { - func (c *linuxContainer) Start(process *Process) error { - c.m.Lock() - defer c.m.Unlock() -- status, err := c.currentStatus() -- if err != nil { -- return err -- } -- if status == Stopped { -+ if process.Init { - if err := c.createExecFifo(); err != nil { - return err - } - } -- if err := c.start(process, status == Stopped); err != nil { -- if status == Stopped { -+ if err := c.start(process); err != nil { -+ if process.Init { - c.deleteExecFifo() - } - return err -@@ -216,17 +212,10 @@ func (c *linuxContainer) Start(process *Process) error { - } - - func (c *linuxContainer) Run(process *Process) error { -- c.m.Lock() -- status, err := c.currentStatus() -- if err != nil { -- c.m.Unlock() -- return err -- } -- c.m.Unlock() - if err := c.Start(process); err != nil { - return err - } -- if status == Stopped { -+ if process.Init { - return c.exec() - } - return nil -@@ -315,8 +304,8 @@ type openResult struct { - err error - } - --func (c *linuxContainer) start(process *Process, isInit bool) error { -- parent, err := c.newParentProcess(process, isInit) -+func (c *linuxContainer) start(process *Process) error { -+ parent, err := c.newParentProcess(process) - if err != nil { - return newSystemErrorWithCause(err, "creating new parent process") - } -@@ -329,7 +318,7 @@ func (c *linuxContainer) start(process *Process, isInit bool) error { - } - // generate a timestamp indicating when the container was started - c.created = time.Now().UTC() -- if isInit { -+ if process.Init { - c.state = &createdState{ - c: c, - } -@@ -409,7 +398,7 @@ func (c *linuxContainer) deleteExecFifo() { - os.Remove(fifoName) - } - --func (c *linuxContainer) newParentProcess(p *Process, doInit bool) (parentProcess, error) { -+func (c *linuxContainer) newParentProcess(p *Process) (parentProcess, error) { - parentPipe, childPipe, err := utils.NewSockPair("init") - if err != nil { - return nil, newSystemErrorWithCause(err, "creating new init pipe") -@@ -418,7 +407,7 @@ func (c *linuxContainer) newParentProcess(p *Process, doInit bool) (parentProces - if err != nil { - return nil, newSystemErrorWithCause(err, "creating new command template") - } -- if !doInit { -+ if !p.Init { - return c.newSetnsProcess(p, cmd, parentPipe, childPipe) - } - -diff --git a/libcontainer/integration/checkpoint_test.go b/libcontainer/integration/checkpoint_test.go -index bc5b0a3..b4d55e0 100644 ---- a/libcontainer/integration/checkpoint_test.go -+++ b/libcontainer/integration/checkpoint_test.go -@@ -87,6 +87,7 @@ func TestCheckpoint(t *testing.T) { - Env: standardEnvironment, - Stdin: stdinR, - Stdout: &stdout, -+ Init: true, - } - - err = container.Run(&pconfig) -@@ -182,6 +183,7 @@ func TestCheckpoint(t *testing.T) { - Cwd: "/", - Stdin: restoreStdinR, - Stdout: &stdout, -+ Init: true, - } - - err = container.Restore(restoreProcessConfig, checkpointOpts) -diff --git a/libcontainer/integration/exec_test.go b/libcontainer/integration/exec_test.go -index f3dd72a..583b04a 100644 ---- a/libcontainer/integration/exec_test.go -+++ b/libcontainer/integration/exec_test.go -@@ -230,6 +230,7 @@ func TestEnter(t *testing.T) { - Env: standardEnvironment, - Stdin: stdinR, - Stdout: &stdout, -+ Init: true, - } - err = container.Run(&pconfig) - stdinR.Close() -@@ -319,6 +320,7 @@ func TestProcessEnv(t *testing.T) { - }, - Stdin: nil, - Stdout: &stdout, -+ Init: true, - } - err = container.Run(&pconfig) - ok(t, err) -@@ -365,6 +367,7 @@ func TestProcessEmptyCaps(t *testing.T) { - Env: standardEnvironment, - Stdin: nil, - Stdout: &stdout, -+ Init: true, - } - err = container.Run(&pconfig) - ok(t, err) -@@ -416,6 +419,7 @@ func TestProcessCaps(t *testing.T) { - Stdin: nil, - Stdout: &stdout, - Capabilities: &configs.Capabilities{}, -+ Init: true, - } - pconfig.Capabilities.Bounding = append(config.Capabilities.Bounding, "CAP_NET_ADMIN") - pconfig.Capabilities.Permitted = append(config.Capabilities.Permitted, "CAP_NET_ADMIN") -@@ -490,6 +494,7 @@ func TestAdditionalGroups(t *testing.T) { - Stdin: nil, - Stdout: &stdout, - AdditionalGroups: []string{"plugdev", "audio"}, -+ Init: true, - } - err = container.Run(&pconfig) - ok(t, err) -@@ -550,6 +555,7 @@ func testFreeze(t *testing.T, systemd bool) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(pconfig) - stdinR.Close() -@@ -761,6 +767,7 @@ func TestContainerState(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(p) - if err != nil { -@@ -814,6 +821,7 @@ func TestPassExtraFiles(t *testing.T) { - ExtraFiles: []*os.File{pipein1, pipein2}, - Stdin: nil, - Stdout: &stdout, -+ Init: true, - } - err = container.Run(&process) - if err != nil { -@@ -895,6 +903,7 @@ func TestMountCmds(t *testing.T) { - Cwd: "/", - Args: []string{"sh", "-c", "env"}, - Env: standardEnvironment, -+ Init: true, - } - err = container.Run(&pconfig) - if err != nil { -@@ -944,6 +953,7 @@ func TestSysctl(t *testing.T) { - Env: standardEnvironment, - Stdin: nil, - Stdout: &stdout, -+ Init: true, - } - err = container.Run(&pconfig) - ok(t, err) -@@ -1084,6 +1094,7 @@ func TestOomScoreAdj(t *testing.T) { - Env: standardEnvironment, - Stdin: nil, - Stdout: &stdout, -+ Init: true, - } - err = container.Run(&pconfig) - ok(t, err) -@@ -1189,6 +1200,7 @@ func TestHook(t *testing.T) { - Env: standardEnvironment, - Stdin: nil, - Stdout: &stdout, -+ Init: true, - } - err = container.Run(&pconfig) - ok(t, err) -@@ -1305,6 +1317,7 @@ func TestRootfsPropagationSlaveMount(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - - err = container.Run(pconfig) -@@ -1422,6 +1435,7 @@ func TestRootfsPropagationSharedMount(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - - err = container.Run(pconfig) -@@ -1530,6 +1544,7 @@ func TestInitJoinPID(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR1, -+ Init: true, - } - err = container1.Run(init1) - stdinR1.Close() -@@ -1556,6 +1571,7 @@ func TestInitJoinPID(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR2, -+ Init: true, - } - err = container2.Run(init2) - stdinR2.Close() -@@ -1635,6 +1651,7 @@ func TestInitJoinNetworkAndUser(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR1, -+ Init: true, - } - err = container1.Run(init1) - stdinR1.Close() -@@ -1669,6 +1686,7 @@ func TestInitJoinNetworkAndUser(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR2, -+ Init: true, - } - err = container2.Run(init2) - stdinR2.Close() -@@ -1736,6 +1754,7 @@ func TestTmpfsCopyUp(t *testing.T) { - Env: standardEnvironment, - Stdin: nil, - Stdout: &stdout, -+ Init: true, - } - err = container.Run(&pconfig) - ok(t, err) -diff --git a/libcontainer/integration/execin_test.go b/libcontainer/integration/execin_test.go -index f06075e..988b667 100644 ---- a/libcontainer/integration/execin_test.go -+++ b/libcontainer/integration/execin_test.go -@@ -36,6 +36,7 @@ func TestExecIn(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(process) - stdinR.Close() -@@ -103,6 +104,7 @@ func testExecInRlimit(t *testing.T, userns bool) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(process) - stdinR.Close() -@@ -121,6 +123,7 @@ func testExecInRlimit(t *testing.T, userns bool) { - // increase process rlimit higher than container rlimit to test per-process limit - {Type: syscall.RLIMIT_NOFILE, Hard: 1026, Soft: 1026}, - }, -+ Init: true, - } - err = container.Run(ps) - ok(t, err) -@@ -157,6 +160,7 @@ func TestExecInAdditionalGroups(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(process) - stdinR.Close() -@@ -213,6 +217,7 @@ func TestExecInError(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(process) - stdinR.Close() -@@ -265,6 +270,7 @@ func TestExecInTTY(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(process) - stdinR.Close() -@@ -349,6 +355,7 @@ func TestExecInEnvironment(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(process) - stdinR.Close() -@@ -368,6 +375,7 @@ func TestExecInEnvironment(t *testing.T) { - Stdin: buffers.Stdin, - Stdout: buffers.Stdout, - Stderr: buffers.Stderr, -+ Init: true, - } - err = container.Run(process2) - ok(t, err) -@@ -413,6 +421,7 @@ func TestExecinPassExtraFiles(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(process) - stdinR.Close() -@@ -486,6 +495,7 @@ func TestExecInOomScoreAdj(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(process) - stdinR.Close() -@@ -541,6 +551,7 @@ func TestExecInUserns(t *testing.T) { - Args: []string{"cat"}, - Env: standardEnvironment, - Stdin: stdinR, -+ Init: true, - } - err = container.Run(process) - stdinR.Close() -diff --git a/libcontainer/integration/seccomp_test.go b/libcontainer/integration/seccomp_test.go -index 055f887..8e2c7cd 100644 ---- a/libcontainer/integration/seccomp_test.go -+++ b/libcontainer/integration/seccomp_test.go -@@ -48,6 +48,7 @@ func TestSeccompDenyGetcwd(t *testing.T) { - Stdin: buffers.Stdin, - Stdout: buffers.Stdout, - Stderr: buffers.Stderr, -+ Init: true, - } - - err = container.Run(pwd) -@@ -123,6 +124,7 @@ func TestSeccompPermitWriteConditional(t *testing.T) { - Stdin: buffers.Stdin, - Stdout: buffers.Stdout, - Stderr: buffers.Stderr, -+ Init: true, - } - - err = container.Run(dmesg) -@@ -184,6 +186,7 @@ func TestSeccompDenyWriteConditional(t *testing.T) { - Stdin: buffers.Stdin, - Stdout: buffers.Stdout, - Stderr: buffers.Stderr, -+ Init: true, - } - - err = container.Run(dmesg) -diff --git a/libcontainer/integration/utils_test.go b/libcontainer/integration/utils_test.go -index 74d9413..dc6a4d8 100644 ---- a/libcontainer/integration/utils_test.go -+++ b/libcontainer/integration/utils_test.go -@@ -148,6 +148,7 @@ func runContainer(config *configs.Config, console string, args ...string) (buffe - Stdin: buffers.Stdin, - Stdout: buffers.Stdout, - Stderr: buffers.Stderr, -+ Init: true, - } - - err = container.Run(process) -diff --git a/libcontainer/process.go b/libcontainer/process.go -index f1ad081..150510d 100644 ---- a/libcontainer/process.go -+++ b/libcontainer/process.go -@@ -68,6 +68,9 @@ type Process struct { - // ConsoleSocket provides the masterfd console. - ConsoleSocket *os.File - -+ // Init specifies whether the process is the first process in the container. -+ Init bool -+ - ops processOperations - } - -diff --git a/utils_linux.go b/utils_linux.go -index c6a8c02..df98cf9 100644 ---- a/utils_linux.go -+++ b/utils_linux.go -@@ -72,7 +72,7 @@ func getDefaultImagePath(context *cli.Context) string { - - // newProcess returns a new libcontainer Process with the arguments from the - // spec and stdio from the current process. --func newProcess(p specs.Process) (*libcontainer.Process, error) { -+func newProcess(p specs.Process, init bool) (*libcontainer.Process, error) { - lp := &libcontainer.Process{ - Args: p.Args, - Env: p.Env, -@@ -82,6 +82,7 @@ func newProcess(p specs.Process) (*libcontainer.Process, error) { - Label: p.SelinuxLabel, - NoNewPrivileges: &p.NoNewPrivileges, - AppArmorProfile: p.ApparmorProfile, -+ Init: init, - } - if p.Capabilities != nil { - lp.Capabilities = &configs.Capabilities{} -@@ -212,6 +213,7 @@ func createContainer(context *cli.Context, id string, spec *specs.Spec) (libcont - } - - type runner struct { -+ init bool - enableSubreaper bool - shouldDestroy bool - detach bool -@@ -229,7 +231,7 @@ func (r *runner) run(config *specs.Process) (int, error) { - r.destroy() - return -1, err - } -- process, err := newProcess(*config) -+ process, err := newProcess(*config, r.init) - if err != nil { - r.destroy() - return -1, err -@@ -373,6 +375,7 @@ func startContainer(context *cli.Context, spec *specs.Spec, create bool) (int, e - pidFile: context.String("pid-file"), - preserveFDs: context.Int("preserve-fds"), - create: create, -+ init: true, - } - return r.run(&spec.Process) - } --- -2.7.4.3 - diff --git a/patch/0079-runc-modify-spec-file-for-upgrade.patch b/patch/0079-runc-modify-spec-file-for-upgrade.patch deleted file mode 100644 index 30c0d4f..0000000 --- a/patch/0079-runc-modify-spec-file-for-upgrade.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 912f3b9001459f118fd85f04d7614cbaaa1c351b Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Tue, 25 Dec 2018 19:13:32 +0800 -Subject: [PATCH 79/94] runc: modify spec file for upgrade - -reason:modify spec file for upgrade - -Change-Id: Ifad62b1e80bf67bb0a043bdd98e5ac03233727f5 -Signed-off-by: zhangsong34 ---- - script/runc-euleros.spec | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index f21ac08..faccbf6 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 16%{?dist} -+Release: 17%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0080-runc-support-specify-umask.patch b/patch/0080-runc-support-specify-umask.patch deleted file mode 100644 index 4f351a6..0000000 --- a/patch/0080-runc-support-specify-umask.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 18f5c5e20e342af002b0edb2295f64ea12632cc4 Mon Sep 17 00:00:00 2001 -From: wangfengtu -Date: Fri, 21 Dec 2018 15:02:16 +0800 -Subject: [PATCH 80/94] runc: support specify umask - -reason:support specify umask. -Umask can be 0022 or 0027(default) by specify umask when -start container by command `docker create/run` or start -daemon by command `dockerd`. For example: -$ dockerd --annotation native.umask=normal -$ dockerd --annotation native.umask=secure -$ docker run --exec-opt native.umask=normal -$ docker run --exec-opt native.umask=secure -`normal` reparent umask is 0022, `secure` -reparent umask is 0027. - -Change-Id: I49166759ad42dca0ac1f9755f85592e93951c249 -Signed-off-by: lujingxiao -Signed-off-by: wangfengtu ---- - libcontainer/rootfs_linux.go | 7 ++++++- - libcontainer/setns_init_linux.go | 10 ++++++++-- - 2 files changed, 14 insertions(+), 3 deletions(-) - -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index 38bdd1b..3dd5113 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -136,7 +136,12 @@ func finalizeRootfs(config *configs.Config) (err error) { - } - } - -- syscall.Umask(0027) -+ umask := libcontainerUtils.SearchLabels(config.Labels, "native.umask") -+ if umask == "normal" { -+ syscall.Umask(0022) -+ } else { -+ syscall.Umask(0027) -+ } - return nil - } - -diff --git a/libcontainer/setns_init_linux.go b/libcontainer/setns_init_linux.go -index e8e969a..b3fab21 100644 ---- a/libcontainer/setns_init_linux.go -+++ b/libcontainer/setns_init_linux.go -@@ -11,6 +11,7 @@ import ( - "github.com/opencontainers/runc/libcontainer/keys" - "github.com/opencontainers/runc/libcontainer/seccomp" - "github.com/opencontainers/runc/libcontainer/system" -+ "github.com/opencontainers/runc/libcontainer/utils" - "github.com/opencontainers/selinux/go-selinux/label" - ) - -@@ -41,8 +42,13 @@ func (l *linuxSetnsInit) Init() error { - return err - } - } -- // set exec process umask to 0027 according to secure policy -- syscall.Umask(0027) -+ // set exec process umask to 0027 or 0022 according to container's config -+ umask := utils.SearchLabels(l.config.Config.Labels, "native.umask") -+ if umask == "normal" { -+ syscall.Umask(0022) -+ } else { -+ syscall.Umask(0027) -+ } - if l.config.NoNewPrivileges { - if err := system.Prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0); err != nil { - return err --- -2.7.4.3 - diff --git a/patch/0081-runc-fix-oom-killer-disable-unhandled-due-t.patch b/patch/0081-runc-fix-oom-killer-disable-unhandled-due-t.patch deleted file mode 100644 index fb9e530..0000000 --- a/patch/0081-runc-fix-oom-killer-disable-unhandled-due-t.patch +++ /dev/null @@ -1,151 +0,0 @@ -From 1948bc88664ef018f87bd16c004ea2de32be3ec3 Mon Sep 17 00:00:00 2001 -From: caihaomin -Date: Mon, 21 Jan 2019 13:50:35 +0800 -Subject: [PATCH 81/94] runc: fix oom-killer-disable unhandled due to - the spec - -reason:fix oom-killer-disable unhandled due to the spec - -Change-Id: I646b0420f8c387906afb80536352259ec1482729 -Signed-off-by: caihaomin ---- - spec.go | 100 +++++++++++++++++++++++++++++++++++++++++++++++++++++----------- - 1 file changed, 83 insertions(+), 17 deletions(-) - -diff --git a/spec.go b/spec.go -index a15c84e..b33e44c 100644 ---- a/spec.go -+++ b/spec.go -@@ -7,7 +7,6 @@ import ( - "fmt" - "io/ioutil" - "os" -- "runtime" - - "github.com/opencontainers/runc/libcontainer/configs" - "github.com/opencontainers/runc/libcontainer/specconv" -@@ -117,24 +116,101 @@ generate a proper rootless spec file.`, - - func sPtr(s string) *string { return &s } - -+type compatSpec struct { -+ specs.Spec -+ Linux *linux `json:"linux,omitempty" platform:"linux"` -+} -+ -+type linux struct { -+ specs.Linux -+ Resources *linuxResources `json:"resources,omitempty"` -+} -+ -+type linuxResources struct { -+ specs.LinuxResources -+ Memory *linuxMemory `json:"memory,omitempty"` -+} -+ -+type linuxMemory struct { -+ // Memory limit (in bytes). -+ Limit *int64 `json:"limit,omitempty"` -+ // Memory reservation or soft_limit (in bytes). -+ Reservation *int64 `json:"reservation,omitempty"` -+ // Total memory limit (memory + swap). -+ Swap *int64 `json:"swap,omitempty"` -+ // Kernel memory limit (in bytes). -+ Kernel *int64 `json:"kernel,omitempty"` -+ // Kernel memory limit for tcp (in bytes) -+ KernelTCP *int64 `json:"kernelTCP,omitempty"` -+ // How aggressive the kernel will swap memory pages. -+ Swappiness *uint64 `json:"swappiness,omitempty"` -+ // DisableOOMKiller disables the OOM killer for out of memory conditions -+ DisableOOMKiller *bool `json:"disableOOMKiller,omitempty"` -+} -+ - // loadSpec loads the specification from the provided path. - func loadSpec(cPath string) (spec *specs.Spec, err error) { -- cf, err := os.Open(cPath) -- if err != nil { -+ spec, err = loadOriginSpec(cPath) -+ if err != nil || spec.Linux.Resources.DisableOOMKiller == nil { -+ return loadCompactSpec(cPath) -+ } -+ -+ return spec, validateProcessSpec(&spec.Process) -+} -+ -+func loadOriginSpec(cPath string) (*specs.Spec, error) { -+ var spec specs.Spec -+ if _, err := os.Stat(cPath); err != nil { - if os.IsNotExist(err) { - return nil, fmt.Errorf("JSON specification file %s not found", cPath) - } - return nil, err - } -- defer cf.Close() - -- if err = json.NewDecoder(cf).Decode(&spec); err != nil { -+ cData, err := ioutil.ReadFile(cPath) -+ if err != nil { -+ return nil, err -+ } -+ if err := json.Unmarshal(cData, &spec); err != nil { -+ return nil, fmt.Errorf("config.json %q error :%v", cPath, err) -+ } -+ -+ return &spec, nil -+} -+ -+func loadCompactSpec(cPath string) (*specs.Spec, error) { -+ var compatSpec compatSpec -+ cData, err := ioutil.ReadFile(cPath) -+ if err != nil { -+ if os.IsNotExist(err) { -+ return nil, fmt.Errorf("JSON specification file %s not found", cPath) -+ } - return nil, err - } -- if err = validatePlatform(&spec.Platform); err != nil { -+ if err := json.Unmarshal(cData, &compatSpec); err != nil { -+ return nil, fmt.Errorf("config.json %q error :%v", cPath, err) -+ } -+ -+ var spec *specs.Spec -+ if spec, err = updateCompactSpec(&compatSpec); err != nil { - return nil, err - } -- return spec, validateProcessSpec(&spec.Process) -+ -+ return spec, nil -+ -+} -+ -+func updateCompactSpec(compatSpec *compatSpec) (*specs.Spec, error) { -+ compatjson, _ := json.Marshal(compatSpec) -+ var spec specs.Spec -+ err := json.Unmarshal(compatjson, &spec) -+ if err != nil { -+ return nil, fmt.Errorf("update config failed %v", err) -+ } -+ -+ spec.Linux.Resources.DisableOOMKiller = compatSpec.Linux.Resources.Memory.DisableOOMKiller -+ -+ return &spec, nil - } - - func createLibContainerRlimit(rlimit specs.LinuxRlimit) (configs.Rlimit, error) { -@@ -148,13 +224,3 @@ func createLibContainerRlimit(rlimit specs.LinuxRlimit) (configs.Rlimit, error) - Soft: rlimit.Soft, - }, nil - } -- --func validatePlatform(platform *specs.Platform) error { -- if platform.OS != runtime.GOOS { -- return fmt.Errorf("target os %s mismatch with current os %s", platform.OS, runtime.GOOS) -- } -- if platform.Arch != runtime.GOARCH { -- return fmt.Errorf("target arch %s mismatch with current arch %s", platform.Arch, runtime.GOARCH) -- } -- return nil --} --- -2.7.4.3 - diff --git a/patch/0082-runc-make-runc-spec-and-docker-18.9-compati.patch b/patch/0082-runc-make-runc-spec-and-docker-18.9-compati.patch deleted file mode 100644 index 5e02756..0000000 --- a/patch/0082-runc-make-runc-spec-and-docker-18.9-compati.patch +++ /dev/null @@ -1,118 +0,0 @@ -From e8e1ec218358495648893370e19eec093681766d Mon Sep 17 00:00:00 2001 -From: leizhongkai -Date: Thu, 24 Jan 2019 20:18:14 +0800 -Subject: [PATCH 82/94] runc: make runc spec and docker-18.9 - compatible - -reason:make runc spec and docker-18.9 compatible - -Change-Id: I794c936579a4decc1d0cd92e3483c6378dba5bfd -Signed-off-by: leizhongkai ---- - spec.go | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 75 insertions(+), 1 deletion(-) - -diff --git a/spec.go b/spec.go -index b33e44c..0bbe967 100644 ---- a/spec.go -+++ b/spec.go -@@ -121,6 +121,30 @@ type compatSpec struct { - Linux *linux `json:"linux,omitempty" platform:"linux"` - } - -+// linuxBlockIODevice holds major:minor format supported in blkio cgroup -+type linuxBlockIODevice struct { -+ // Major is the device's major number. -+ Major int64 `json:"major"` -+ // Minor is the device's minor number. -+ Minor int64 `json:"minor"` -+} -+ -+// LinuxWeightDevice struct holds a `major:minor weight` pair for blkioWeightDevice -+type LinuxWeightDevice struct { -+ linuxBlockIODevice -+ // Weight is the bandwidth rate for the device, range is from 10 to 1000 -+ Weight *uint16 `json:"weight,omitempty"` -+ // LeafWeight is the bandwidth rate for the device while competing with the cgroup's child cgroups, range is from 10 to 1000, CFQ scheduler only -+ LeafWeight *uint16 `json:"leafWeight,omitempty"` -+} -+ -+// LinuxThrottleDevice struct holds a `major:minor rate_per_second` pair -+type LinuxThrottleDevice struct { -+ linuxBlockIODevice -+ // Rate is the IO rate limit per cgroup per device -+ Rate uint64 `json:"rate"` -+} -+ - type linux struct { - specs.Linux - Resources *linuxResources `json:"resources,omitempty"` -@@ -128,7 +152,26 @@ type linux struct { - - type linuxResources struct { - specs.LinuxResources -- Memory *linuxMemory `json:"memory,omitempty"` -+ Memory *linuxMemory `json:"memory,omitempty"` -+ BlockIO *LinuxBlockIO `json:"blockIO,omitempty"` -+} -+ -+// LinuxBlockIO for Linux cgroup 'blkio' resource management -+type LinuxBlockIO struct { -+ // Specifies per cgroup weight -+ Weight *uint16 `json:"weight,omitempty"` -+ // Specifies tasks' weight in the given cgroup while competing with the cgroup's child cgroups, CFQ scheduler only -+ LeafWeight *uint16 `json:"leafWeight,omitempty"` -+ // Weight per cgroup per device, can override BlkioWeight -+ WeightDevice []LinuxWeightDevice `json:"weightDevice,omitempty"` -+ // IO read rate limit per cgroup per device, bytes per second -+ ThrottleReadBpsDevice []LinuxThrottleDevice `json:"throttleReadBpsDevice,omitempty"` -+ // IO write rate limit per cgroup per device, bytes per second -+ ThrottleWriteBpsDevice []LinuxThrottleDevice `json:"throttleWriteBpsDevice,omitempty"` -+ // IO read rate limit per cgroup per device, IO per second -+ ThrottleReadIOPSDevice []LinuxThrottleDevice `json:"throttleReadIOPSDevice,omitempty"` -+ // IO write rate limit per cgroup per device, IO per second -+ ThrottleWriteIOPSDevice []LinuxThrottleDevice `json:"throttleWriteIOPSDevice,omitempty"` - } - - type linuxMemory struct { -@@ -209,6 +252,37 @@ func updateCompactSpec(compatSpec *compatSpec) (*specs.Spec, error) { - } - - spec.Linux.Resources.DisableOOMKiller = compatSpec.Linux.Resources.Memory.DisableOOMKiller -+ if compatSpec.Linux.Resources.BlockIO != nil { -+ spec.Linux.Resources.BlockIO.Weight = compatSpec.Linux.Resources.BlockIO.Weight -+ spec.Linux.Resources.BlockIO.LeafWeight = compatSpec.Linux.Resources.BlockIO.LeafWeight -+ if compatSpec.Linux.Resources.BlockIO.WeightDevice != nil { -+ for _, wd := range compatSpec.Linux.Resources.BlockIO.WeightDevice { -+ wdSpec := specs.LinuxWeightDevice{ -+ Weight: wd.Weight, -+ LeafWeight: wd.LeafWeight, -+ } -+ wdSpec.Major = wd.Major -+ wdSpec.Minor = wd.Minor -+ spec.Linux.Resources.BlockIO.WeightDevice = append(spec.Linux.Resources.BlockIO.WeightDevice, wdSpec) -+ } -+ } -+ procLinuxThrottleDevice := func(src []LinuxThrottleDevice, dest *[]specs.LinuxThrottleDevice) { -+ if src != nil { -+ for _, ltd := range src { -+ ltdSpec := specs.LinuxThrottleDevice{ -+ Rate: ltd.Rate, -+ } -+ ltdSpec.Major = ltd.Major -+ ltdSpec.Minor = ltd.Minor -+ *dest = append(*dest, ltdSpec) -+ } -+ } -+ } -+ procLinuxThrottleDevice(compatSpec.Linux.Resources.BlockIO.ThrottleReadBpsDevice, &spec.Linux.Resources.BlockIO.ThrottleReadBpsDevice) -+ procLinuxThrottleDevice(compatSpec.Linux.Resources.BlockIO.ThrottleWriteBpsDevice, &spec.Linux.Resources.BlockIO.ThrottleWriteBpsDevice) -+ procLinuxThrottleDevice(compatSpec.Linux.Resources.BlockIO.ThrottleReadIOPSDevice, &spec.Linux.Resources.BlockIO.ThrottleReadIOPSDevice) -+ procLinuxThrottleDevice(compatSpec.Linux.Resources.BlockIO.ThrottleWriteIOPSDevice, &spec.Linux.Resources.BlockIO.ThrottleWriteIOPSDevice) -+ } - - return &spec, nil - } --- -2.7.4.3 - diff --git a/patch/0083-log-fix-runc-log-decode-failed.patch b/patch/0083-log-fix-runc-log-decode-failed.patch deleted file mode 100644 index 3403407..0000000 --- a/patch/0083-log-fix-runc-log-decode-failed.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 52e08b0e3d4e44d555efde15a4ab698500d060db Mon Sep 17 00:00:00 2001 -From: jingrui -Date: Tue, 15 Jan 2019 15:16:54 +0800 -Subject: [PATCH 83/94] log: fix runc log decode failed - -reason: plain logs can not parsed by containerd, using json formatted -error logs. - -Change-Id: I293454c038c3b4f36a8ac9df07fc3557c51179e1 -Signed-off-by: jingrui ---- - main.go | 30 +++++++++++++++++++++++++----- - 1 file changed, 25 insertions(+), 5 deletions(-) - -diff --git a/main.go b/main.go -index 5f0ec91..0476242 100644 ---- a/main.go -+++ b/main.go -@@ -1,15 +1,18 @@ - package main - - import ( -+ "encoding/json" - "fmt" -- "github.com/Sirupsen/logrus" -- "github.com/Sirupsen/logrus/hooks/syslog" -- "github.com/opencontainers/runtime-spec/specs-go" -- "github.com/urfave/cli" - "io" - "log/syslog" - "os" - "strings" -+ "time" -+ -+ "github.com/Sirupsen/logrus" -+ "github.com/Sirupsen/logrus/hooks/syslog" -+ "github.com/opencontainers/runtime-spec/specs-go" -+ "github.com/urfave/cli" - ) - - // version will be populated by the Makefile, read from -@@ -123,7 +126,7 @@ func main() { - logrus.SetOutput(f) - hook, serr := logrus_syslog.NewSyslogHook("", "", syslog.LOG_INFO|syslog.LOG_USER, "docker-runc") - if serr != nil { -- fmt.Fprint(f, fmt.Sprintf("new syslog hook get %s", serr)) -+ logToFile(f, "error", fmt.Sprintf("new syslog hook get %s", serr)) - } else { - logrus.AddHook(hook) - } -@@ -167,3 +170,20 @@ func (f *FatalWriter) Write(p []byte) (n int, err error) { - logrus.Error(string(p)) - return f.cliErrWriter.Write(p) - } -+ -+func logToFile(f io.Writer, level string, msg string) { -+ var ( -+ log struct { -+ Level string -+ Msg string -+ Time time.Time -+ } -+ ) -+ log.Level = level -+ log.Msg = msg -+ log.Time = time.Now() -+ s, err := json.Marshal(log) -+ if err != nil { -+ fmt.Fprint(f, string(s)) -+ } -+} --- -2.7.4.3 - diff --git a/patch/0084-oci-fix-runc-panic-and-support-oom-score.patch b/patch/0084-oci-fix-runc-panic-and-support-oom-score.patch deleted file mode 100644 index a522917..0000000 --- a/patch/0084-oci-fix-runc-panic-and-support-oom-score.patch +++ /dev/null @@ -1,108 +0,0 @@ -From 19106da5ad20c3b46888a75b08c00d0b0b12e13b Mon Sep 17 00:00:00 2001 -From: jingrui -Date: Wed, 23 Jan 2019 22:40:51 +0800 -Subject: [PATCH 84/94] oci: fix runc panic and support oom score - -reason: see below. - -1. docker plugin using simple spec, should add more check to avoid runc - panic. -2. add oom-score support. - -Change-Id: I0999c8f61209e8127390508577034446d9ae1b4f -Signed-off-by: jingrui ---- - script/runc-euleros.spec | 2 +- - spec.go | 39 ++++++++++++++++++++++++++++++++++++--- - 2 files changed, 37 insertions(+), 4 deletions(-) - -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index faccbf6..bcbcff1 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 17%{?dist} -+Release: 18%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 -diff --git a/spec.go b/spec.go -index 0bbe967..3b90791 100644 ---- a/spec.go -+++ b/spec.go -@@ -118,7 +118,8 @@ func sPtr(s string) *string { return &s } - - type compatSpec struct { - specs.Spec -- Linux *linux `json:"linux,omitempty" platform:"linux"` -+ Linux *linux `json:"linux,omitempty" platform:"linux"` -+ Process processRc6 `json:"process"` - } - - // linuxBlockIODevice holds major:minor format supported in blkio cgroup -@@ -150,6 +151,11 @@ type linux struct { - Resources *linuxResources `json:"resources,omitempty"` - } - -+type processRc6 struct { -+ specs.Process -+ OOMScoreAdj *int `json:"oomScoreAdj,omitempty" platform:"linux"` -+} -+ - type linuxResources struct { - specs.LinuxResources - Memory *linuxMemory `json:"memory,omitempty"` -@@ -191,10 +197,26 @@ type linuxMemory struct { - DisableOOMKiller *bool `json:"disableOOMKiller,omitempty"` - } - -+func versionRc6Plus(ver string) bool { -+ if len(ver) < 5 { // version should be a.b.c[-rcn][x] -+ return false -+ } -+ -+ // docker-18.09 1.0.1 -+ if ver[:5] >= "1.0.1" { -+ return true -+ } -+ -+ // TODO: add more version detect, support ab.cd.ef format. -+ -+ // < 1.0.0-rc6: include 1.0.0-rc5xxx -+ return false -+} -+ - // loadSpec loads the specification from the provided path. - func loadSpec(cPath string) (spec *specs.Spec, err error) { - spec, err = loadOriginSpec(cPath) -- if err != nil || spec.Linux.Resources.DisableOOMKiller == nil { -+ if err != nil || versionRc6Plus(spec.Version) { - return loadCompactSpec(cPath) - } - -@@ -251,7 +273,18 @@ func updateCompactSpec(compatSpec *compatSpec) (*specs.Spec, error) { - return nil, fmt.Errorf("update config failed %v", err) - } - -- spec.Linux.Resources.DisableOOMKiller = compatSpec.Linux.Resources.Memory.DisableOOMKiller -+ if compatSpec != nil && compatSpec.Linux != nil && -+ compatSpec.Linux.Resources != nil && -+ compatSpec.Linux.Resources.Memory != nil && -+ compatSpec.Linux.Resources.Memory.DisableOOMKiller != nil { -+ spec.Linux.Resources.DisableOOMKiller = compatSpec.Linux.Resources.Memory.DisableOOMKiller -+ } -+ -+ if compatSpec != nil && compatSpec.Process.OOMScoreAdj != nil && -+ spec.Linux != nil && spec.Linux.Resources != nil { -+ spec.Linux.Resources.OOMScoreAdj = compatSpec.Process.OOMScoreAdj -+ } -+ - if compatSpec.Linux.Resources.BlockIO != nil { - spec.Linux.Resources.BlockIO.Weight = compatSpec.Linux.Resources.BlockIO.Weight - spec.Linux.Resources.BlockIO.LeafWeight = compatSpec.Linux.Resources.BlockIO.LeafWeight --- -2.7.4.3 - diff --git a/patch/0087-runc-fix-spec-LinuxSyscall-struct.patch b/patch/0087-runc-fix-spec-LinuxSyscall-struct.patch deleted file mode 100644 index 8948d51..0000000 --- a/patch/0087-runc-fix-spec-LinuxSyscall-struct.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 23829a0c51a77222c842b0a1d277e4738ad22942 Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Sun, 3 Feb 2019 09:26:44 +0800 -Subject: [PATCH 87/94] runc: fix spec LinuxSyscall struct - -reason:fix spec LinuxSyscall struct - -Change-Id: Iab6d095b43c062ad72aad8f7f1f9206f46a4f88d -Signed-off-by: zhangsong34 ---- - script/runc-euleros.spec | 2 +- - vendor/github.com/opencontainers/runtime-spec/specs-go/config.go | 9 +++++---- - 2 files changed, 6 insertions(+), 5 deletions(-) - -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index bcbcff1..b3db2ab 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 18%{?dist} -+Release: 19%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 -diff --git a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -index 603ecf4..8439744 100644 ---- a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -+++ b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -@@ -554,8 +554,9 @@ type LinuxSeccompArg struct { - - // LinuxSyscall is used to match a syscall in Seccomp - type LinuxSyscall struct { -- Names []string `json:"names"` -- Action LinuxSeccompAction `json:"action"` -- Args []LinuxSeccompArg `json:"args"` -- Comment string `json:"comment"` -+ Names []string `json:"names"` -+ Action LinuxSeccompAction `json:"action"` -+ Priority uint8 `json:"priority,omitempty"` -+ Args []LinuxSeccompArg `json:"args"` -+ Comment string `json:"comment"` - } --- -2.7.4.3 - diff --git a/patch/0088-nsenter-clone-proc-self-exe-to-avoid-exposi.patch b/patch/0088-nsenter-clone-proc-self-exe-to-avoid-exposi.patch deleted file mode 100644 index 92e0060..0000000 --- a/patch/0088-nsenter-clone-proc-self-exe-to-avoid-exposi.patch +++ /dev/null @@ -1,306 +0,0 @@ -From 55dc2797a066480f836baf541a9ab858d9999421 Mon Sep 17 00:00:00 2001 -From: lujingxiao -Date: Mon, 28 Jan 2019 22:12:18 +0800 -Subject: [PATCH 88/94] nsenter: clone /proc/self/exe to avoid - exposing host binary to container - -reason: There are quite a few circumstances where /proc/self/exe pointing to a -pretty important container binary is a _bad_ thing, so to avoid this we -have to make a copy (preferably doing self-clean-up and not being -writeable). - -As a hotfix we require memfd_create(2), but we can always extend this to -use a scratch MNT_DETACH overlayfs or tmpfs. The main downside to this -approach is no page-cache sharing for the runc binary (which overlayfs -would give us) but this is far less complicated. - -This is only done during nsenter so that it happens transparently to the -Go code, and any libcontainer users benefit from it. This also makes -ExtraFiles and --preserve-fds handling trivial (because we don't need to -worry about it). - -Fixes: CVE-2019-5736 -Signed-off-by: Aleksa Sarai - -Change-Id: Id54b4827173affa0f2063eef4159c87343f4d672 -Signed-off-by: lujingxiao ---- - libcontainer/nsenter/cloned_binary.c | 236 +++++++++++++++++++++++++++++++++++ - libcontainer/nsenter/nsexec.c | 11 ++ - 2 files changed, 247 insertions(+) - create mode 100644 libcontainer/nsenter/cloned_binary.c - -diff --git a/libcontainer/nsenter/cloned_binary.c b/libcontainer/nsenter/cloned_binary.c -new file mode 100644 -index 0000000..ec383c1 ---- /dev/null -+++ b/libcontainer/nsenter/cloned_binary.c -@@ -0,0 +1,236 @@ -+#define _GNU_SOURCE -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+#define MEMFD_COMMENT "runc_cloned:/proc/self/exe" -+#define MEMFD_LNKNAME "/memfd:" MEMFD_COMMENT " (deleted)" -+ -+/* Use our own wrapper for memfd_create. */ -+#if !defined(SYS_memfd_create) && defined(__NR_memfd_create) -+# define SYS_memfd_create __NR_memfd_create -+#endif -+#ifndef SYS_memfd_create -+# error "memfd_create(2) syscall not supported by this glibc version" -+#endif -+int memfd_create(const char *name, unsigned int flags) -+{ -+ return syscall(SYS_memfd_create, name, flags); -+} -+ -+/* This comes directly from . */ -+#ifndef F_LINUX_SPECIFIC_BASE -+# define F_LINUX_SPECIFIC_BASE 1024 -+#endif -+#ifndef F_ADD_SEALS -+# define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) -+# define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10) -+#endif -+#ifndef F_SEAL_SEAL -+# define F_SEAL_SEAL 0x0001 /* prevent further seals from being set */ -+# define F_SEAL_SHRINK 0x0002 /* prevent file from shrinking */ -+# define F_SEAL_GROW 0x0004 /* prevent file from growing */ -+# define F_SEAL_WRITE 0x0008 /* prevent writes */ -+#endif -+ -+/* -+ * Verify whether we are currently in a self-cloned program. It's not really -+ * possible to trivially identify a memfd compared to a regular tmpfs file, so -+ * the best we can do is to check whether the readlink(2) looks okay and that -+ * it is on a tmpfs. -+ */ -+static int is_self_cloned(void) -+{ -+ struct statfs statfsbuf = {0}; -+ char linkname[PATH_MAX + 1] = {0}; -+ -+ if (statfs("/proc/self/exe", &statfsbuf) < 0) -+ return -1; -+ if (readlink("/proc/self/exe", linkname, PATH_MAX) < 0) -+ return -1; -+ -+ return statfsbuf.f_type == TMPFS_MAGIC && -+ !strncmp(linkname, MEMFD_LNKNAME, PATH_MAX); -+} -+ -+/* -+ * Basic wrapper around mmap(2) that gives you the file length so you can -+ * safely treat it as an ordinary buffer. Only gives you read access. -+ */ -+static char *read_file(char *path, size_t *length) -+{ -+ int fd; -+ char buf[4096], *copy = NULL; -+ -+ if (!length) -+ goto err; -+ *length = 0; -+ -+ fd = open(path, O_RDONLY|O_CLOEXEC); -+ if (fd < 0) -+ goto err_free; -+ -+ for (;;) { -+ int n; -+ char *old = copy; -+ -+ n = read(fd, buf, sizeof(buf)); -+ if (n < 0) -+ goto err_fd; -+ if (!n) -+ break; -+ -+ do { -+ copy = realloc(old, (*length + n) * sizeof(*old)); -+ } while(!copy); -+ -+ memcpy(copy + *length, buf, n); -+ *length += n; -+ } -+ close(fd); -+ return copy; -+ -+err_fd: -+ close(fd); -+err_free: -+ free(copy); -+err: -+ return NULL; -+} -+ -+/* -+ * A poor-man's version of "xargs -0". Basically parses a given block of -+ * NUL-delimited data, within the given length and adds a pointer to each entry -+ * to the array of pointers. -+ */ -+static int parse_xargs(char *data, int data_length, char ***output) -+{ -+ int num = 0; -+ char *cur = data; -+ -+ if (!data || *output) -+ return -1; -+ -+ do { -+ *output = malloc(sizeof(**output)); -+ } while (!*output); -+ -+ while (cur < data + data_length) { -+ char **old = *output; -+ -+ num++; -+ do { -+ *output = realloc(old, (num + 1) * sizeof(*old)); -+ } while (!*output); -+ -+ (*output)[num - 1] = cur; -+ cur += strlen(cur) + 1; -+ } -+ (*output)[num] = NULL; -+ return num; -+} -+ -+/* -+ * "Parse" out argv and envp from /proc/self/cmdline and /proc/self/environ. -+ * This is necessary because we are running in a context where we don't have a -+ * main() that we can just get the arguments from. -+ */ -+static int fetchve(char ***argv, char ***envp) -+{ -+ char *cmdline, *environ; -+ size_t cmdline_size, environ_size; -+ -+ cmdline = read_file("/proc/self/cmdline", &cmdline_size); -+ if (!cmdline) -+ goto err; -+ environ = read_file("/proc/self/environ", &environ_size); -+ if (!environ) -+ goto err_free; -+ -+ if (parse_xargs(cmdline, cmdline_size, argv) <= 0) -+ goto err_free_both; -+ if (parse_xargs(environ, environ_size, envp) <= 0) -+ goto err_free_both; -+ -+ return 0; -+ -+err_free_both: -+ free(environ); -+err_free: -+ free(cmdline); -+err: -+ return -1; -+} -+ -+static int clone_binary(void) -+{ -+ int binfd, memfd, err; -+ ssize_t sent = 0; -+ struct stat statbuf = {0}; -+ -+ binfd = open("/proc/self/exe", O_RDONLY|O_CLOEXEC); -+ if (binfd < 0) -+ goto err; -+ if (fstat(binfd, &statbuf) < 0) -+ goto err_binfd; -+ -+ memfd = memfd_create(MEMFD_COMMENT, MFD_CLOEXEC|MFD_ALLOW_SEALING); -+ if (memfd < 0) -+ goto err_binfd; -+ -+ while (sent < statbuf.st_size) { -+ ssize_t n = sendfile(memfd, binfd, NULL, statbuf.st_size - sent); -+ if (n < 0) -+ goto err_memfd; -+ sent += n; -+ } -+ -+ err = fcntl(memfd, F_ADD_SEALS, F_SEAL_SHRINK|F_SEAL_GROW|F_SEAL_WRITE|F_SEAL_SEAL); -+ if (err < 0) -+ goto err_memfd; -+ -+ close(binfd); -+ return memfd; -+ -+err_memfd: -+ close(memfd); -+err_binfd: -+ close(binfd); -+err: -+ return -1; -+} -+ -+int ensure_cloned_binary(void) -+{ -+ int execfd; -+ char **argv = NULL, **envp = NULL; -+ -+ /* Check that we're not self-cloned, and if we are then bail. */ -+ int cloned = is_self_cloned(); -+ if (cloned != 0) -+ return cloned; -+ -+ if (fetchve(&argv, &envp) < 0) -+ return -1; -+ -+ execfd = clone_binary(); -+ if (execfd < 0) -+ return -1; -+ -+ fexecve(execfd, argv, envp); -+ return -1; -+} -diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c -index 0ad6883..75211c8 100644 ---- a/libcontainer/nsenter/nsexec.c -+++ b/libcontainer/nsenter/nsexec.c -@@ -432,6 +432,9 @@ void join_namespaces(char *nslist) - free(namespaces); - } - -+/* Defined in cloned_binary.c. */ -+int ensure_cloned_binary(void); -+ - void nsexec(void) - { - int pipenum; -@@ -447,6 +450,14 @@ void nsexec(void) - if (pipenum == -1) - return; - -+ /* -+ * We need to re-exec if we are not in a cloned binary. This is necessary -+ * to ensure that containers won't be able to access the host binary -+ * through /proc/self/exe. See CVE-2019-5736. -+ */ -+ if (ensure_cloned_binary() < 0) -+ bail("could not ensure we are a cloned binary"); -+ - /* Parse all of the netlink configuration. */ - nl_parse(pipenum, &config); - --- -2.7.4.3 - diff --git a/patch/0089-Revert-nsenter-clone-proc-self-exe-to-avoid.patch b/patch/0089-Revert-nsenter-clone-proc-self-exe-to-avoid.patch deleted file mode 100644 index f374607..0000000 --- a/patch/0089-Revert-nsenter-clone-proc-self-exe-to-avoid.patch +++ /dev/null @@ -1,294 +0,0 @@ -From eb6c73cc11d6f8da5f19ef6d0794c41374dbfae4 Mon Sep 17 00:00:00 2001 -From: lujingxiao -Date: Tue, 12 Feb 2019 19:07:09 +0800 -Subject: [PATCH 89/94] Revert "nsenter: clone /proc/self/exe to - avoid exposing host binary to container" - -reason: This reverts commit 275c8d34e6a6fa915ea4a4e47c45ce4c246a2410. -The origin patch is from discussion email, it is the early version, -which is different with the upstream: -https://github.com/opencontainers/runc/commit/0a8e4117e7f715d5fbeef398405813ce8e88558b -So revert this patch, and recommit with newer patch - -Change-Id: Idb9250ce6dc86bd1a7640015b746c7afe8b03f49 -Signed-off-by: lujingxiao ---- - libcontainer/nsenter/cloned_binary.c | 236 ----------------------------------- - libcontainer/nsenter/nsexec.c | 11 -- - 2 files changed, 247 deletions(-) - delete mode 100644 libcontainer/nsenter/cloned_binary.c - -diff --git a/libcontainer/nsenter/cloned_binary.c b/libcontainer/nsenter/cloned_binary.c -deleted file mode 100644 -index ec383c1..0000000 ---- a/libcontainer/nsenter/cloned_binary.c -+++ /dev/null -@@ -1,236 +0,0 @@ --#define _GNU_SOURCE --#include --#include --#include --#include --#include --#include --#include -- --#include --#include --#include --#include --#include --#include -- --#include --#include -- --#define MEMFD_COMMENT "runc_cloned:/proc/self/exe" --#define MEMFD_LNKNAME "/memfd:" MEMFD_COMMENT " (deleted)" -- --/* Use our own wrapper for memfd_create. */ --#if !defined(SYS_memfd_create) && defined(__NR_memfd_create) --# define SYS_memfd_create __NR_memfd_create --#endif --#ifndef SYS_memfd_create --# error "memfd_create(2) syscall not supported by this glibc version" --#endif --int memfd_create(const char *name, unsigned int flags) --{ -- return syscall(SYS_memfd_create, name, flags); --} -- --/* This comes directly from . */ --#ifndef F_LINUX_SPECIFIC_BASE --# define F_LINUX_SPECIFIC_BASE 1024 --#endif --#ifndef F_ADD_SEALS --# define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) --# define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10) --#endif --#ifndef F_SEAL_SEAL --# define F_SEAL_SEAL 0x0001 /* prevent further seals from being set */ --# define F_SEAL_SHRINK 0x0002 /* prevent file from shrinking */ --# define F_SEAL_GROW 0x0004 /* prevent file from growing */ --# define F_SEAL_WRITE 0x0008 /* prevent writes */ --#endif -- --/* -- * Verify whether we are currently in a self-cloned program. It's not really -- * possible to trivially identify a memfd compared to a regular tmpfs file, so -- * the best we can do is to check whether the readlink(2) looks okay and that -- * it is on a tmpfs. -- */ --static int is_self_cloned(void) --{ -- struct statfs statfsbuf = {0}; -- char linkname[PATH_MAX + 1] = {0}; -- -- if (statfs("/proc/self/exe", &statfsbuf) < 0) -- return -1; -- if (readlink("/proc/self/exe", linkname, PATH_MAX) < 0) -- return -1; -- -- return statfsbuf.f_type == TMPFS_MAGIC && -- !strncmp(linkname, MEMFD_LNKNAME, PATH_MAX); --} -- --/* -- * Basic wrapper around mmap(2) that gives you the file length so you can -- * safely treat it as an ordinary buffer. Only gives you read access. -- */ --static char *read_file(char *path, size_t *length) --{ -- int fd; -- char buf[4096], *copy = NULL; -- -- if (!length) -- goto err; -- *length = 0; -- -- fd = open(path, O_RDONLY|O_CLOEXEC); -- if (fd < 0) -- goto err_free; -- -- for (;;) { -- int n; -- char *old = copy; -- -- n = read(fd, buf, sizeof(buf)); -- if (n < 0) -- goto err_fd; -- if (!n) -- break; -- -- do { -- copy = realloc(old, (*length + n) * sizeof(*old)); -- } while(!copy); -- -- memcpy(copy + *length, buf, n); -- *length += n; -- } -- close(fd); -- return copy; -- --err_fd: -- close(fd); --err_free: -- free(copy); --err: -- return NULL; --} -- --/* -- * A poor-man's version of "xargs -0". Basically parses a given block of -- * NUL-delimited data, within the given length and adds a pointer to each entry -- * to the array of pointers. -- */ --static int parse_xargs(char *data, int data_length, char ***output) --{ -- int num = 0; -- char *cur = data; -- -- if (!data || *output) -- return -1; -- -- do { -- *output = malloc(sizeof(**output)); -- } while (!*output); -- -- while (cur < data + data_length) { -- char **old = *output; -- -- num++; -- do { -- *output = realloc(old, (num + 1) * sizeof(*old)); -- } while (!*output); -- -- (*output)[num - 1] = cur; -- cur += strlen(cur) + 1; -- } -- (*output)[num] = NULL; -- return num; --} -- --/* -- * "Parse" out argv and envp from /proc/self/cmdline and /proc/self/environ. -- * This is necessary because we are running in a context where we don't have a -- * main() that we can just get the arguments from. -- */ --static int fetchve(char ***argv, char ***envp) --{ -- char *cmdline, *environ; -- size_t cmdline_size, environ_size; -- -- cmdline = read_file("/proc/self/cmdline", &cmdline_size); -- if (!cmdline) -- goto err; -- environ = read_file("/proc/self/environ", &environ_size); -- if (!environ) -- goto err_free; -- -- if (parse_xargs(cmdline, cmdline_size, argv) <= 0) -- goto err_free_both; -- if (parse_xargs(environ, environ_size, envp) <= 0) -- goto err_free_both; -- -- return 0; -- --err_free_both: -- free(environ); --err_free: -- free(cmdline); --err: -- return -1; --} -- --static int clone_binary(void) --{ -- int binfd, memfd, err; -- ssize_t sent = 0; -- struct stat statbuf = {0}; -- -- binfd = open("/proc/self/exe", O_RDONLY|O_CLOEXEC); -- if (binfd < 0) -- goto err; -- if (fstat(binfd, &statbuf) < 0) -- goto err_binfd; -- -- memfd = memfd_create(MEMFD_COMMENT, MFD_CLOEXEC|MFD_ALLOW_SEALING); -- if (memfd < 0) -- goto err_binfd; -- -- while (sent < statbuf.st_size) { -- ssize_t n = sendfile(memfd, binfd, NULL, statbuf.st_size - sent); -- if (n < 0) -- goto err_memfd; -- sent += n; -- } -- -- err = fcntl(memfd, F_ADD_SEALS, F_SEAL_SHRINK|F_SEAL_GROW|F_SEAL_WRITE|F_SEAL_SEAL); -- if (err < 0) -- goto err_memfd; -- -- close(binfd); -- return memfd; -- --err_memfd: -- close(memfd); --err_binfd: -- close(binfd); --err: -- return -1; --} -- --int ensure_cloned_binary(void) --{ -- int execfd; -- char **argv = NULL, **envp = NULL; -- -- /* Check that we're not self-cloned, and if we are then bail. */ -- int cloned = is_self_cloned(); -- if (cloned != 0) -- return cloned; -- -- if (fetchve(&argv, &envp) < 0) -- return -1; -- -- execfd = clone_binary(); -- if (execfd < 0) -- return -1; -- -- fexecve(execfd, argv, envp); -- return -1; --} -diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c -index 75211c8..0ad6883 100644 ---- a/libcontainer/nsenter/nsexec.c -+++ b/libcontainer/nsenter/nsexec.c -@@ -432,9 +432,6 @@ void join_namespaces(char *nslist) - free(namespaces); - } - --/* Defined in cloned_binary.c. */ --int ensure_cloned_binary(void); -- - void nsexec(void) - { - int pipenum; -@@ -450,14 +447,6 @@ void nsexec(void) - if (pipenum == -1) - return; - -- /* -- * We need to re-exec if we are not in a cloned binary. This is necessary -- * to ensure that containers won't be able to access the host binary -- * through /proc/self/exe. See CVE-2019-5736. -- */ -- if (ensure_cloned_binary() < 0) -- bail("could not ensure we are a cloned binary"); -- - /* Parse all of the netlink configuration. */ - nl_parse(pipenum, &config); - --- -2.7.4.3 - diff --git a/patch/0090-nsenter-clone-proc-self-exe-to-avoid-exposi.patch b/patch/0090-nsenter-clone-proc-self-exe-to-avoid-exposi.patch deleted file mode 100644 index c822adb..0000000 --- a/patch/0090-nsenter-clone-proc-self-exe-to-avoid-exposi.patch +++ /dev/null @@ -1,357 +0,0 @@ -From 2f3550fa67d6e2eb21276775e05ba145f8b5768b Mon Sep 17 00:00:00 2001 -From: lujingxiao -Date: Tue, 12 Feb 2019 19:15:11 +0800 -Subject: [PATCH 90/94] nsenter: clone /proc/self/exe to avoid - exposing host binary to container - -reason: There are quite a few circumstances where /proc/self/exe pointing to a -pretty important container binary is a _bad_ thing, so to avoid this we -have to make a copy (preferably doing self-clean-up and not being -writeable). - -We require memfd_create(2) -- though there is an O_TMPFILE fallback -- -but we can always extend this to use a scratch MNT_DETACH overlayfs or -tmpfs. The main downside to this approach is no page-cache sharing for -the runc binary (which overlayfs would give us) but this is far less -complicated. - -This is only done during nsenter so that it happens transparently to the -Go code, and any libcontainer users benefit from it. This also makes -ExtraFiles and --preserve-fds handling trivial (because we don't need to -worry about it). - -Fixes: CVE-2019-5736 -Co-developed-by: Christian Brauner -Signed-off-by: Aleksa Sarai - -Recommit this patch with the upstream one: -https://github.com/opencontainers/runc/commit/0a8e4117e7f715d5fbeef398405813ce8e88558b - -Change-Id: I4d4d87d480c12a7844b9ef6bd955457cb152ba51 -Signed-off-by: lujingxiao ---- - libcontainer/nsenter/cloned_binary.c | 268 +++++++++++++++++++++++++++++++++++ - libcontainer/nsenter/nsexec.c | 11 ++ - script/runc-euleros.spec | 2 +- - 3 files changed, 280 insertions(+), 1 deletion(-) - create mode 100644 libcontainer/nsenter/cloned_binary.c - -diff --git a/libcontainer/nsenter/cloned_binary.c b/libcontainer/nsenter/cloned_binary.c -new file mode 100644 -index 0000000..c8a42c2 ---- /dev/null -+++ b/libcontainer/nsenter/cloned_binary.c -@@ -0,0 +1,268 @@ -+/* -+ * Copyright (C) 2019 Aleksa Sarai -+ * Copyright (C) 2019 SUSE LLC -+ * -+ * Licensed under the Apache License, Version 2.0 (the "License"); -+ * you may not use this file except in compliance with the License. -+ * You may obtain a copy of the License at -+ * -+ * http://www.apache.org/licenses/LICENSE-2.0 -+ * -+ * Unless required by applicable law or agreed to in writing, software -+ * distributed under the License is distributed on an "AS IS" BASIS, -+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -+ * See the License for the specific language governing permissions and -+ * limitations under the License. -+ */ -+ -+#define _GNU_SOURCE -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+/* Use our own wrapper for memfd_create. */ -+#if !defined(SYS_memfd_create) && defined(__NR_memfd_create) -+# define SYS_memfd_create __NR_memfd_create -+#endif -+#ifdef SYS_memfd_create -+# define HAVE_MEMFD_CREATE -+/* memfd_create(2) flags -- copied from . */ -+# ifndef MFD_CLOEXEC -+# define MFD_CLOEXEC 0x0001U -+# define MFD_ALLOW_SEALING 0x0002U -+# endif -+int memfd_create(const char *name, unsigned int flags) -+{ -+ return syscall(SYS_memfd_create, name, flags); -+} -+#endif -+ -+/* This comes directly from . */ -+#ifndef F_LINUX_SPECIFIC_BASE -+# define F_LINUX_SPECIFIC_BASE 1024 -+#endif -+#ifndef F_ADD_SEALS -+# define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) -+# define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10) -+#endif -+#ifndef F_SEAL_SEAL -+# define F_SEAL_SEAL 0x0001 /* prevent further seals from being set */ -+# define F_SEAL_SHRINK 0x0002 /* prevent file from shrinking */ -+# define F_SEAL_GROW 0x0004 /* prevent file from growing */ -+# define F_SEAL_WRITE 0x0008 /* prevent writes */ -+#endif -+ -+#define RUNC_SENDFILE_MAX 0x7FFFF000 /* sendfile(2) is limited to 2GB. */ -+#ifdef HAVE_MEMFD_CREATE -+# define RUNC_MEMFD_COMMENT "runc_cloned:/proc/self/exe" -+# define RUNC_MEMFD_SEALS \ -+ (F_SEAL_SEAL | F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE) -+#endif -+ -+static void *must_realloc(void *ptr, size_t size) -+{ -+ void *old = ptr; -+ do { -+ ptr = realloc(old, size); -+ } while(!ptr); -+ return ptr; -+} -+ -+/* -+ * Verify whether we are currently in a self-cloned program (namely, is -+ * /proc/self/exe a memfd). F_GET_SEALS will only succeed for memfds (or rather -+ * for shmem files), and we want to be sure it's actually sealed. -+ */ -+static int is_self_cloned(void) -+{ -+ int fd, ret, is_cloned = 0; -+ -+ fd = open("/proc/self/exe", O_RDONLY|O_CLOEXEC); -+ if (fd < 0) -+ return -ENOTRECOVERABLE; -+ -+#ifdef HAVE_MEMFD_CREATE -+ ret = fcntl(fd, F_GET_SEALS); -+ is_cloned = (ret == RUNC_MEMFD_SEALS); -+#else -+ struct stat statbuf = {0}; -+ ret = fstat(fd, &statbuf); -+ if (ret >= 0) -+ is_cloned = (statbuf.st_nlink == 0); -+#endif -+ close(fd); -+ return is_cloned; -+} -+ -+/* -+ * Basic wrapper around mmap(2) that gives you the file length so you can -+ * safely treat it as an ordinary buffer. Only gives you read access. -+ */ -+static char *read_file(char *path, size_t *length) -+{ -+ int fd; -+ char buf[4096], *copy = NULL; -+ -+ if (!length) -+ return NULL; -+ -+ fd = open(path, O_RDONLY | O_CLOEXEC); -+ if (fd < 0) -+ return NULL; -+ -+ *length = 0; -+ for (;;) { -+ int n; -+ -+ n = read(fd, buf, sizeof(buf)); -+ if (n < 0) -+ goto error; -+ if (!n) -+ break; -+ -+ copy = must_realloc(copy, (*length + n) * sizeof(*copy)); -+ memcpy(copy + *length, buf, n); -+ *length += n; -+ } -+ close(fd); -+ return copy; -+ -+error: -+ close(fd); -+ free(copy); -+ return NULL; -+} -+ -+/* -+ * A poor-man's version of "xargs -0". Basically parses a given block of -+ * NUL-delimited data, within the given length and adds a pointer to each entry -+ * to the array of pointers. -+ */ -+static int parse_xargs(char *data, int data_length, char ***output) -+{ -+ int num = 0; -+ char *cur = data; -+ -+ if (!data || *output != NULL) -+ return -1; -+ -+ while (cur < data + data_length) { -+ num++; -+ *output = must_realloc(*output, (num + 1) * sizeof(**output)); -+ (*output)[num - 1] = cur; -+ cur += strlen(cur) + 1; -+ } -+ (*output)[num] = NULL; -+ return num; -+} -+ -+/* -+ * "Parse" out argv and envp from /proc/self/cmdline and /proc/self/environ. -+ * This is necessary because we are running in a context where we don't have a -+ * main() that we can just get the arguments from. -+ */ -+static int fetchve(char ***argv, char ***envp) -+{ -+ char *cmdline = NULL, *environ = NULL; -+ size_t cmdline_size, environ_size; -+ -+ cmdline = read_file("/proc/self/cmdline", &cmdline_size); -+ if (!cmdline) -+ goto error; -+ environ = read_file("/proc/self/environ", &environ_size); -+ if (!environ) -+ goto error; -+ -+ if (parse_xargs(cmdline, cmdline_size, argv) <= 0) -+ goto error; -+ if (parse_xargs(environ, environ_size, envp) <= 0) -+ goto error; -+ -+ return 0; -+ -+error: -+ free(environ); -+ free(cmdline); -+ return -EINVAL; -+} -+ -+static int clone_binary(void) -+{ -+ int binfd, memfd; -+ ssize_t sent = 0; -+ -+#ifdef HAVE_MEMFD_CREATE -+ memfd = memfd_create(RUNC_MEMFD_COMMENT, MFD_CLOEXEC | MFD_ALLOW_SEALING); -+#else -+ memfd = open("/tmp", O_TMPFILE | O_EXCL | O_RDWR | O_CLOEXEC, 0711); -+#endif -+ if (memfd < 0) -+ return -ENOTRECOVERABLE; -+ -+ binfd = open("/proc/self/exe", O_RDONLY | O_CLOEXEC); -+ if (binfd < 0) -+ goto error; -+ -+ sent = sendfile(memfd, binfd, NULL, RUNC_SENDFILE_MAX); -+ close(binfd); -+ if (sent < 0) -+ goto error; -+ -+#ifdef HAVE_MEMFD_CREATE -+ int err = fcntl(memfd, F_ADD_SEALS, RUNC_MEMFD_SEALS); -+ if (err < 0) -+ goto error; -+#else -+ /* Need to re-open "memfd" as read-only to avoid execve(2) giving -EXTBUSY. */ -+ int newfd; -+ char *fdpath = NULL; -+ -+ if (asprintf(&fdpath, "/proc/self/fd/%d", memfd) < 0) -+ goto error; -+ newfd = open(fdpath, O_RDONLY | O_CLOEXEC); -+ free(fdpath); -+ if (newfd < 0) -+ goto error; -+ -+ close(memfd); -+ memfd = newfd; -+#endif -+ return memfd; -+ -+error: -+ close(memfd); -+ return -EIO; -+} -+ -+int ensure_cloned_binary(void) -+{ -+ int execfd; -+ char **argv = NULL, **envp = NULL; -+ -+ /* Check that we're not self-cloned, and if we are then bail. */ -+ int cloned = is_self_cloned(); -+ if (cloned > 0 || cloned == -ENOTRECOVERABLE) -+ return cloned; -+ -+ if (fetchve(&argv, &envp) < 0) -+ return -EINVAL; -+ -+ execfd = clone_binary(); -+ if (execfd < 0) -+ return -EIO; -+ -+ fexecve(execfd, argv, envp); -+ return -ENOEXEC; -+} -diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c -index 0ad6883..64ed76f 100644 ---- a/libcontainer/nsenter/nsexec.c -+++ b/libcontainer/nsenter/nsexec.c -@@ -432,6 +432,9 @@ void join_namespaces(char *nslist) - free(namespaces); - } - -+/* Defined in cloned_binary.c. */ -+extern int ensure_cloned_binary(void); -+ - void nsexec(void) - { - int pipenum; -@@ -447,6 +450,14 @@ void nsexec(void) - if (pipenum == -1) - return; - -+ /* -+ * We need to re-exec if we are not in a cloned binary. This is necessary -+ * to ensure that containers won't be able to access the host binary -+ * through /proc/self/exe. See CVE-2019-5736. -+ */ -+ if (ensure_cloned_binary() < 0) -+ bail("could not ensure we are a cloned binary"); -+ - /* Parse all of the netlink configuration. */ - nl_parse(pipenum, &config); - -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index b3db2ab..2448078 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 19%{?dist} -+Release: 20%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0091-runc-cve-2019-5736-workaround-if-memfd_create.patch b/patch/0091-runc-cve-2019-5736-workaround-if-memfd_create.patch deleted file mode 100644 index bd015b2..0000000 --- a/patch/0091-runc-cve-2019-5736-workaround-if-memfd_create.patch +++ /dev/null @@ -1,207 +0,0 @@ -From 621c01059536ec167da8c9d5571e8bf860b4dadb Mon Sep 17 00:00:00 2001 -From: wangfengtu -Date: Wed, 13 Feb 2019 05:26:38 -0500 -Subject: [PATCH 91/94] runc: cve-2019-5736: workaround if - memfd_create and O_TMPFILE not work - -[Changelog]: create tmpfile using mkostemp when memfd_create and -O_TMPFILE not work -[Author]: git - -Change-Id: I785295b19759487ddaa5e0dcb5c11e4aa9ace838 -Signed-off-by: sdu.liu -Signed-off-by: wangfengtu ---- - libcontainer/nsenter/cloned_binary.c | 117 +++++++++++++++++++++++++---------- - script/runc-euleros.spec | 2 +- - 2 files changed, 87 insertions(+), 32 deletions(-) - -diff --git a/libcontainer/nsenter/cloned_binary.c b/libcontainer/nsenter/cloned_binary.c -index c8a42c2..e59d434 100644 ---- a/libcontainer/nsenter/cloned_binary.c -+++ b/libcontainer/nsenter/cloned_binary.c -@@ -71,6 +71,14 @@ int memfd_create(const char *name, unsigned int flags) - (F_SEAL_SEAL | F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE) - #endif - -+enum clone_type -+{ -+ USING_MEMFD = 0, -+ USING_UNAMED_FILE, -+ USING_TMPFILE, -+}; -+ -+ - static void *must_realloc(void *ptr, size_t size) - { - void *old = ptr; -@@ -80,6 +88,23 @@ static void *must_realloc(void *ptr, size_t size) - return ptr; - } - -+static int get_clone_type() -+{ -+ int memfd = 0; -+#ifdef HAVE_MEMFD_CREATE -+ memfd = memfd_create(RUNC_MEMFD_COMMENT, MFD_CLOEXEC | MFD_ALLOW_SEALING); -+ if (memfd > 0 || memfd == 0) { -+ close(memfd); -+ return USING_MEMFD; -+ } -+#else -+#ifdef O_TMPFILE -+ return USING_UNAMED_FILE; -+#endif -+#endif -+ return USING_TMPFILE; -+} -+ - /* - * Verify whether we are currently in a self-cloned program (namely, is - * /proc/self/exe a memfd). F_GET_SEALS will only succeed for memfds (or rather -@@ -87,21 +112,23 @@ static void *must_realloc(void *ptr, size_t size) - */ - static int is_self_cloned(void) - { -- int fd, ret, is_cloned = 0; -+ int fd, ret, type, is_cloned = 0; - - fd = open("/proc/self/exe", O_RDONLY|O_CLOEXEC); - if (fd < 0) - return -ENOTRECOVERABLE; -+ type = get_clone_type(); -+ -+ if (type == USING_MEMFD) { -+ ret = fcntl(fd, F_GET_SEALS); -+ is_cloned = (ret == RUNC_MEMFD_SEALS); -+ } else { -+ struct stat statbuf = {0}; -+ ret = fstat(fd, &statbuf); -+ if (ret >= 0) -+ is_cloned = (statbuf.st_nlink == 0); -+ } - --#ifdef HAVE_MEMFD_CREATE -- ret = fcntl(fd, F_GET_SEALS); -- is_cloned = (ret == RUNC_MEMFD_SEALS); --#else -- struct stat statbuf = {0}; -- ret = fstat(fd, &statbuf); -- if (ret >= 0) -- is_cloned = (statbuf.st_nlink == 0); --#endif - close(fd); - return is_cloned; - } -@@ -198,16 +225,37 @@ error: - return -EINVAL; - } - -+ - static int clone_binary(void) - { - int binfd, memfd; - ssize_t sent = 0; -+ char template[] = "/tmp/runc.XXXXXX"; -+ int type = 0; -+ char *tmpfile = NULL; -+ -+ type = get_clone_type(); -+ switch (type) { -+ case USING_MEMFD: -+ memfd = memfd_create(RUNC_MEMFD_COMMENT, MFD_CLOEXEC | MFD_ALLOW_SEALING); -+ break; -+ case USING_UNAMED_FILE: -+ memfd = open("/tmp", O_TMPFILE | O_EXCL | O_RDWR | O_CLOEXEC, 0711); -+ break; -+ case USING_TMPFILE: -+ memfd = mkostemp(template,O_EXCL | O_RDWR | O_CLOEXEC); -+ if (memfd < 0) { -+ goto error; -+ } -+ tmpfile = template; -+ if (fchmod(memfd, 0711)) { -+ goto error; -+ } -+ break; -+ default: -+ return -ENOTRECOVERABLE; -+ } - --#ifdef HAVE_MEMFD_CREATE -- memfd = memfd_create(RUNC_MEMFD_COMMENT, MFD_CLOEXEC | MFD_ALLOW_SEALING); --#else -- memfd = open("/tmp", O_TMPFILE | O_EXCL | O_RDWR | O_CLOEXEC, 0711); --#endif - if (memfd < 0) - return -ENOTRECOVERABLE; - -@@ -220,29 +268,36 @@ static int clone_binary(void) - if (sent < 0) - goto error; - --#ifdef HAVE_MEMFD_CREATE -- int err = fcntl(memfd, F_ADD_SEALS, RUNC_MEMFD_SEALS); -- if (err < 0) -- goto error; --#else -+ if (type == USING_MEMFD) { -+ int err = fcntl(memfd, F_ADD_SEALS, RUNC_MEMFD_SEALS); -+ if (err < 0) -+ goto error; -+ } else { - /* Need to re-open "memfd" as read-only to avoid execve(2) giving -EXTBUSY. */ -- int newfd; -- char *fdpath = NULL; -+ int newfd; -+ char *fdpath = NULL; - -- if (asprintf(&fdpath, "/proc/self/fd/%d", memfd) < 0) -- goto error; -- newfd = open(fdpath, O_RDONLY | O_CLOEXEC); -- free(fdpath); -- if (newfd < 0) -- goto error; -+ if (asprintf(&fdpath, "/proc/self/fd/%d", memfd) < 0) -+ goto error; -+ newfd = open(fdpath, O_RDONLY | O_CLOEXEC); -+ free(fdpath); -+ if (newfd < 0) -+ goto error; -+ close(memfd); - -- close(memfd); -- memfd = newfd; --#endif -+ memfd = newfd; -+ } -+ -+ if(tmpfile) { -+ remove(tmpfile); -+ } - return memfd; - - error: - close(memfd); -+ if(tmpfile) { -+ remove(tmpfile); -+ } - return -EIO; - } - -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 2448078..b577d1a 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 20%{?dist} -+Release: 21%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0092-runc-cve-2019-5736-fix-build-failure.patch b/patch/0092-runc-cve-2019-5736-fix-build-failure.patch deleted file mode 100644 index 4c5509d..0000000 --- a/patch/0092-runc-cve-2019-5736-fix-build-failure.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 096172d15e1d29ba177a39d8ded3ca6b5b1c0ac4 Mon Sep 17 00:00:00 2001 -From: wangfengtu -Date: Thu, 14 Feb 2019 00:08:01 +0800 -Subject: [PATCH 92/94] runc: cve-2019-5736 fix build failure - -[Changelog]: fix build failure -[Author]: git - -Change-Id: Ie422758618726d9e98a7f9ec9a14e34d4479251f -Signed-off-by: wangfengtu ---- - libcontainer/nsenter/cloned_binary.c | 2 ++ - script/runc-euleros.spec | 2 +- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/libcontainer/nsenter/cloned_binary.c b/libcontainer/nsenter/cloned_binary.c -index e59d434..ff7ecb0 100644 ---- a/libcontainer/nsenter/cloned_binary.c -+++ b/libcontainer/nsenter/cloned_binary.c -@@ -239,9 +239,11 @@ static int clone_binary(void) - case USING_MEMFD: - memfd = memfd_create(RUNC_MEMFD_COMMENT, MFD_CLOEXEC | MFD_ALLOW_SEALING); - break; -+#ifdef O_TMPFILE - case USING_UNAMED_FILE: - memfd = open("/tmp", O_TMPFILE | O_EXCL | O_RDWR | O_CLOEXEC, 0711); - break; -+#endif - case USING_TMPFILE: - memfd = mkostemp(template,O_EXCL | O_RDWR | O_CLOEXEC); - if (memfd < 0) { -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index b577d1a..6e96326 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 21%{?dist} -+Release: 22%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0093-runc-fix-error-when-check-the-init-process.patch b/patch/0093-runc-fix-error-when-check-the-init-process.patch deleted file mode 100644 index dc9b0f9..0000000 --- a/patch/0093-runc-fix-error-when-check-the-init-process.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 20ce68df5145a8c56a53322fcf8c6a149d9df535 Mon Sep 17 00:00:00 2001 -From: zhangyu235 -Date: Sun, 24 Feb 2019 17:49:09 +0800 -Subject: [PATCH 93/94] runc: fix error when check the init process - -reason:We shoule ensure the porcess is still the original init process -using doesInitProcessExist(). But it could happen when the process exited -just when we call function doesInitProcessExist(). Due to this reason, -we shoule not return error in this case. - -Change-Id: If515af5beed73adf19b2c31eae919c5a39911a18 -Signed-off-by: zhangyu235 ---- - libcontainer/container_linux.go | 2 +- - script/runc-euleros.spec | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 8100aca..5a3705e 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -1411,7 +1411,7 @@ func (c *linuxContainer) refreshState() error { - func (c *linuxContainer) doesInitProcessExist(initPid int) (bool, error) { - startTime, err := system.GetProcessStartTime(initPid) - if err != nil { -- return false, newSystemErrorWithCausef(err, "getting init process %d start time", initPid) -+ return false, nil - } - if c.initProcessStartTime != startTime { - return false, nil -diff --git a/script/runc-euleros.spec b/script/runc-euleros.spec -index 6e96326..09be036 100644 ---- a/script/runc-euleros.spec -+++ b/script/runc-euleros.spec -@@ -2,7 +2,7 @@ - - Name: docker-runc - Version: 1.0.0.rc3 --Release: 22%{?dist} -+Release: 23%{?dist} - Summary: runc is a CLI tool for spawning and running containers according to the OCF specification - - License: ASL 2.0 --- -2.7.4.3 - diff --git a/patch/0094-runc-If-tmp-is-mounted-by-option-noexec-docke.patch b/patch/0094-runc-If-tmp-is-mounted-by-option-noexec-docke.patch deleted file mode 100644 index 0f3626c..0000000 --- a/patch/0094-runc-If-tmp-is-mounted-by-option-noexec-docke.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 662893f67295028a128885544d4a0ee25491da95 Mon Sep 17 00:00:00 2001 -From: wangfengtu -Date: Sat, 2 Mar 2019 19:51:08 +0800 -Subject: [PATCH 94/94] runc: If /tmp is mounted by option - noexec,docker run will fail - -reason: Change /tmp to /run for storage temporary runc - -Change-Id: Ia442b489dc1b57c6e4fd720b98b5061f83a88214 -Signed-off-by: wangfengtu ---- - libcontainer/nsenter/cloned_binary.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libcontainer/nsenter/cloned_binary.c b/libcontainer/nsenter/cloned_binary.c -index ff7ecb0..8e8b70e 100644 ---- a/libcontainer/nsenter/cloned_binary.c -+++ b/libcontainer/nsenter/cloned_binary.c -@@ -230,7 +230,7 @@ static int clone_binary(void) - { - int binfd, memfd; - ssize_t sent = 0; -- char template[] = "/tmp/runc.XXXXXX"; -+ char template[] = "/run/runc.XXXXXX"; - int type = 0; - char *tmpfile = NULL; - --- -2.7.4.3 - diff --git a/patch/0095-runc-just-warning-when-poststart-and-poststop.patch b/patch/0095-runc-just-warning-when-poststart-and-poststop.patch deleted file mode 100644 index b27e595..0000000 --- a/patch/0095-runc-just-warning-when-poststart-and-poststop.patch +++ /dev/null @@ -1,50 +0,0 @@ -From a854b14193b62c93bd62ccddebca29a77c8c07a2 Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Fri, 8 Mar 2019 14:32:39 +0800 -Subject: [PATCH] runc: just warning when poststart and poststop - failed - -reason:just warning when poststart and poststop failed. - -Change-Id: I65e816c344506bbf9ea2f8c5ff4dc2d47cc0a35e -Signed-off-by: mashimiao -Signed-off-by: zhangsong34 ---- - libcontainer/container_linux.go | 3 +-- - libcontainer/state_linux.go | 3 +-- - 2 files changed, 2 insertions(+), 4 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 5a3705e..1f587c7 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -341,11 +341,10 @@ func (c *linuxContainer) start(process *Process) error { - for i, hook := range c.config.Hooks.Poststart { - logrus.Infof("run poststart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - if err := hook.Run(s); err != nil { -- logrus.Errorf("running poststart hook(%d:%s) failed: %s", i, hook.Info(), err) -+ logrus.Warnf("running poststart hook %d:%s failed: %s, ContainerId: %s", i, hook.Info(), err, s.ID) - if err := parent.terminate(); err != nil { - logrus.Warnf("run poststart hook failed: %s, ContainerID: %s", err, s.ID) - } -- return newSystemErrorWithCausef(err, "running poststart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - } - } - } -diff --git a/libcontainer/state_linux.go b/libcontainer/state_linux.go -index 6fa62c0..b570a24 100644 ---- a/libcontainer/state_linux.go -+++ b/libcontainer/state_linux.go -@@ -68,8 +68,7 @@ func runPoststopHooks(c *linuxContainer) error { - for i, hook := range c.config.Hooks.Poststop { - logrus.Infof("run poststop hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - if err := hook.Run(s); err != nil { -- logrus.Errorf("running poststop hook %d: %s failed: %s", i, hook.Info(), err) -- return newSystemErrorWithCausef(err, "running poststop hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) -+ logrus.Warnf("running poststop hook %d:%s failed: %s, ContainerID: %s", i, hook.Info(), err, s.ID) - } - } - } --- -1.8.3.1 - diff --git a/patch/0096-runc-do-not-kill-container-if-poststart-hooks.patch b/patch/0096-runc-do-not-kill-container-if-poststart-hooks.patch deleted file mode 100644 index 8adb55a..0000000 --- a/patch/0096-runc-do-not-kill-container-if-poststart-hooks.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 5a4335581b0ccf28342f3e48639ba38b611a02fe Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Wed, 13 Mar 2019 15:40:12 +0800 -Subject: [PATCH] runc: do not kill container if poststart hooks - execute failed - -reason:do not kill container if poststart hooks execute failed. - -Change-Id: Ieb1e1e7eeefe4bbd3cdb38fbba5a2a003297a5b3 -Signed-off-by: zhangsong34 ---- - libcontainer/container_linux.go | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 1f587c7..914da7f 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -342,9 +342,6 @@ func (c *linuxContainer) start(process *Process) error { - logrus.Infof("run poststart hook %d:%s, ContainerID: %s", i, hook.Info(), s.ID) - if err := hook.Run(s); err != nil { - logrus.Warnf("running poststart hook %d:%s failed: %s, ContainerId: %s", i, hook.Info(), err, s.ID) -- if err := parent.terminate(); err != nil { -- logrus.Warnf("run poststart hook failed: %s, ContainerID: %s", err, s.ID) -- } - } - } - } --- -1.8.3.1 - diff --git a/patch/0097-runc-Fix-mountpoint-leak-and-pivot_root-error.patch b/patch/0097-runc-Fix-mountpoint-leak-and-pivot_root-error.patch deleted file mode 100644 index 08cfe01..0000000 --- a/patch/0097-runc-Fix-mountpoint-leak-and-pivot_root-error.patch +++ /dev/null @@ -1,120 +0,0 @@ -From 0b0bb50e4ecdebfb2646adb57e53972663947320 Mon Sep 17 00:00:00 2001 -From: wangfengtu -Date: Wed, 27 Mar 2019 15:28:03 +0800 -Subject: [PATCH] runc: Fix mountpoint leak and pivot_root error - -reason:We have no way to get exact /proc/self/mountinfo infomation -because it can change if other process mount/umount mountpoint. So -runc sometimes cannot get container's mountpoint when runc try to -make mountpoint private. This can cause mountpoint leak and pivot_root -error, runc error out like this: -``` -Handler for POST -/v1.23/containers/1d265651cb1d5475bcb7d5db21679757d5527d44a41c102c6aa4bddaa518c547/start -returned error: oci runtime error: container_linux.go:317: starting -container process caused \"process_linux.go:358: container init caused -\\\"rootfs_linux.go:105: jailing process inside rootfs caused -\\\\\\\"pivot_root invalid argument\\\\\\\"\\\"\"\n -``` - -Change-Id: Icde1638af6ad45c762c11fc8a2b8a969b6306ca5 -Signed-off-by: wangfengtu ---- - libcontainer/rootfs_linux.go | 32 ++++++++++++---------- - .../docker/docker/pkg/mount/mountinfo_linux.go | 7 +++-- - 2 files changed, 21 insertions(+), 18 deletions(-) - -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index 3dd5113..53797e9 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -24,7 +24,10 @@ import ( - "github.com/opencontainers/selinux/go-selinux/label" - ) - --const defaultMountFlags = syscall.MS_NOEXEC | syscall.MS_NOSUID | syscall.MS_NODEV -+const ( -+ defaultMountFlags = syscall.MS_NOEXEC | syscall.MS_NOSUID | syscall.MS_NODEV -+ maxRetryTimes = 5 -+) - - // needsSetupDev returns true if /dev needs to be set up. - func needsSetupDev(config *configs.Config) bool { -@@ -545,23 +548,16 @@ func getMountInfo(mountinfo []*mount.Info, dir string) *mount.Info { - // Get the parent mount point of directory passed in as argument. Also return - // optional fields. - func getParentMount(rootfs string) (string, string, error) { -- var path string -- -- mountinfos, err := mount.GetMounts() -- if err != nil { -- return "", "", err -- } -- -- mountinfo := getMountInfo(mountinfos, rootfs) -- if mountinfo != nil { -- return rootfs, mountinfo.Optional, nil -- } -+ retryTimes := maxRetryTimes -+ path := rootfs - -- path = rootfs - for { -- path = filepath.Dir(path) -+ mountinfos, err := mount.GetMounts() -+ if err != nil { -+ return "", "", err -+ } - -- mountinfo = getMountInfo(mountinfos, path) -+ mountinfo := getMountInfo(mountinfos, path) - if mountinfo != nil { - return path, mountinfo.Optional, nil - } -@@ -569,6 +565,12 @@ func getParentMount(rootfs string) (string, string, error) { - if path == "/" { - break - } -+ -+ retryTimes-- -+ if retryTimes == 0 { -+ retryTimes = maxRetryTimes -+ path = filepath.Dir(path) -+ } - } - - // If we are here, we did not find parent mount. Something is wrong. -diff --git a/vendor/github.com/docker/docker/pkg/mount/mountinfo_linux.go b/vendor/github.com/docker/docker/pkg/mount/mountinfo_linux.go -index be69fee..b74773f 100644 ---- a/vendor/github.com/docker/docker/pkg/mount/mountinfo_linux.go -+++ b/vendor/github.com/docker/docker/pkg/mount/mountinfo_linux.go -@@ -4,8 +4,10 @@ package mount - - import ( - "bufio" -+ "bytes" - "fmt" - "io" -+ "io/ioutil" - "os" - "strings" - ) -@@ -31,13 +33,12 @@ const ( - // Parse /proc/self/mountinfo because comparing Dev and ino does not work from - // bind mounts - func parseMountTable() ([]*Info, error) { -- f, err := os.Open("/proc/self/mountinfo") -+ content, err := ioutil.ReadFile("/proc/self/mountinfo") - if err != nil { - return nil, err - } -- defer f.Close() - -- return parseInfoFile(f) -+ return parseInfoFile(bytes.NewReader(content)) - } - - func parseInfoFile(r io.Reader) ([]*Info, error) { --- -2.7.4 - diff --git a/patch/0098-runc-fix-read-only-containers-under-userns-.patch b/patch/0098-runc-fix-read-only-containers-under-userns-.patch deleted file mode 100644 index 0d745dc..0000000 --- a/patch/0098-runc-fix-read-only-containers-under-userns-.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 6e35f145221347264ea5d4814308ab0624725024 Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Tue, 2 Apr 2019 10:00:20 +0800 -Subject: [PATCH] runc: fix --read-only containers under - --userns-remap - -reason:fix --read-only containers under --userns-remap -cherry-pick from: - https://github.com/opencontainers/runc/pull/1572 - -Change-Id: I0f823caf1e72e4d61df9abe5f97fa5605425fd2c -Signed-off-by: Tycho Andersen -Signed-off-by: zhangsong34 ---- - libcontainer/rootfs_linux.go | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index 53797e9..18a25f2 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -769,7 +769,14 @@ func remountReadonly(m *configs.Mount) error { - flags = m.Flags - ) - for i := 0; i < 5; i++ { -- if err := syscall.Mount("", dest, "", uintptr(flags|syscall.MS_REMOUNT|syscall.MS_RDONLY), ""); err != nil { -+ // There is a special case in the kernel for -+ // MS_REMOUNT | MS_BIND, which allows us to change only the -+ // flags even as an unprivileged user (i.e. user namespace) -+ // assuming we don't drop any security related flags (nodev, -+ // nosuid, etc.). So, let's use that case so that we can do -+ // this re-mount without failing in a userns. -+ flags |= syscall.MS_REMOUNT | syscall.MS_BIND | syscall.MS_RDONLY -+ if err := syscall.Mount("", dest, "", uintptr(flags), ""); err != nil { - switch err { - case syscall.EBUSY: - time.Sleep(100 * time.Millisecond) --- -1.8.3.1 - diff --git a/patch/0099-runc-enable-bep-ldflags.patch b/patch/0099-runc-enable-bep-ldflags.patch deleted file mode 100644 index 0d2c78b..0000000 --- a/patch/0099-runc-enable-bep-ldflags.patch +++ /dev/null @@ -1,49 +0,0 @@ -From e2d3a9925386b07e15db79ceee1e5430eed13c26 Mon Sep 17 00:00:00 2001 -From: jingrui -Date: Thu, 11 Apr 2019 23:32:01 +0800 -Subject: [PATCH] runc: enable bep ldflags - -Change-Id: I9221cb54e470b6c511f7962294bf405de00549c7 -Signed-off-by: jingrui ---- - Makefile | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -diff --git a/Makefile b/Makefile -index f043d0bc..76423d83 100644 ---- a/Makefile -+++ b/Makefile -@@ -24,21 +24,26 @@ VERSION := ${shell cat ./VERSION} - - SHELL := $(shell command -v bash 2>/dev/null) - -+BEP_DIR := "/tmp/runc-build-bep" -+BEP_FLAG := "-tmpdir=${BEP_DIR}" -+ - .DEFAULT: runc - - runc: $(SOURCES) -- go build -i -ldflags "-X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -tags "$(BUILDTAGS)" -o runc . -+ mkdir -p ${BEP_DIR} -+ go build -i -ldflags " ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -tags "$(BUILDTAGS)" -o runc . - - all: runc recvtty - - recvtty: contrib/cmd/recvtty/recvtty - - contrib/cmd/recvtty/recvtty: $(SOURCES) -- go build -i -ldflags "-X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -tags "$(BUILDTAGS)" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty -+ go build -i -ldflags " ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -tags "$(BUILDTAGS)" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty - - static: $(SOURCES) -- CGO_ENABLED=1 go build -i -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -extldflags -static -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -o runc . -- CGO_ENABLED=1 go build -i -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -extldflags -static -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty -+ mkdir -p ${BEP_DIR} -+ CGO_ENABLED=1 go build -i -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -extldflags -static ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -o runc . -+ CGO_ENABLED=1 go build -i -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -extldflags -static ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty - - release: - @flag_list=(seccomp selinux apparmor static); \ --- -2.17.1 - diff --git a/patch/0100-runc-set-makefile-buildid.patch b/patch/0100-runc-set-makefile-buildid.patch deleted file mode 100644 index 0688c89..0000000 --- a/patch/0100-runc-set-makefile-buildid.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 0a64bd10e05937427255dada4b6e1b12f31265f0 Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Tue, 23 Apr 2019 22:35:45 +0800 -Subject: [PATCH] runc: set makefile buildid - -reason: set makefile buildid - -Change-Id: Ia547dbc383bffe6532168881a7376df1d990fd30 -Signed-off-by: xiadanni1 ---- - Makefile | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/Makefile b/Makefile -index 76423d8..0352e40 100644 ---- a/Makefile -+++ b/Makefile -@@ -31,19 +31,19 @@ BEP_FLAG := "-tmpdir=${BEP_DIR}" - - runc: $(SOURCES) - mkdir -p ${BEP_DIR} -- go build -i -ldflags " ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -tags "$(BUILDTAGS)" -o runc . -+ go build -i -ldflags " -buildid=IdByIsula ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -tags "$(BUILDTAGS)" -o runc . - - all: runc recvtty - - recvtty: contrib/cmd/recvtty/recvtty - - contrib/cmd/recvtty/recvtty: $(SOURCES) -- go build -i -ldflags " ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -tags "$(BUILDTAGS)" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty -+ go build -i -ldflags " -buildid=IdByIsula ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -tags "$(BUILDTAGS)" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty - - static: $(SOURCES) - mkdir -p ${BEP_DIR} -- CGO_ENABLED=1 go build -i -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -extldflags -static ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -o runc . -- CGO_ENABLED=1 go build -i -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -extldflags -static ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty -+ CGO_ENABLED=1 go build -i -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -buildid=IdByIsula -extldflags -static ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -o runc . -+ CGO_ENABLED=1 go build -i -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -buildid=IdByIsula -extldflags -static ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty - - release: - @flag_list=(seccomp selinux apparmor static); \ --- -1.8.3.1 - diff --git a/patch/0101-runc-print-memory-info-when-syscall.Exec-fail.patch b/patch/0101-runc-print-memory-info-when-syscall.Exec-fail.patch deleted file mode 100644 index 39bb3a0..0000000 --- a/patch/0101-runc-print-memory-info-when-syscall.Exec-fail.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 574f88a1801656869b69408cf2eb0f32c6c0e4aa Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Mon, 6 May 2019 02:49:36 +0800 -Subject: [PATCH] runc: print memory info when syscall.Exec failed -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -reason: print system and cgroup memory info when syscall.Exec failed. - -Change-Id: I4aef0ea3da16849ab82adf45db5a828c758b33ea -Signed-off-by: xiadanni1 ---- - libcontainer/standard_init_linux.go | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go -index fd836f3..b25669f 100644 ---- a/libcontainer/standard_init_linux.go -+++ b/libcontainer/standard_init_linux.go -@@ -4,12 +4,14 @@ package libcontainer - - import ( - "fmt" -+ "io/ioutil" - "os" - "os/exec" - "strings" - "syscall" - "time" - -+ "github.com/Sirupsen/logrus" - "github.com/opencontainers/runc/libcontainer/apparmor" - "github.com/opencontainers/runc/libcontainer/configs" - "github.com/opencontainers/runc/libcontainer/keys" -@@ -212,7 +214,24 @@ func (l *linuxStandardInit) Init() error { - // https://github.com/torvalds/linux/blob/v4.9/fs/exec.c#L1290-L1318 - syscall.Close(l.stateDirFD) - if err := syscall.Exec(name, l.config.Args[0:], os.Environ()); err != nil { -+ printMemoryInfo() - return newSystemErrorWithCause(err, "exec user process") - } - return nil - } -+ -+func printMemoryInfo() { -+ output, err := ioutil.ReadFile("/proc/meminfo") -+ if err != nil { -+ logrus.Errorf("Failed to read /proc/meminfo, %v", err) -+ } else { -+ logrus.Infof("print memory info (/proc/meminfo): %s", string(output)) -+ } -+ -+ output, err = ioutil.ReadFile("/sys/fs/cgroup/memory/memory.stat") -+ if err != nil { -+ logrus.Errorf("Failed to read /sys/fs/cgroup/memory/memory.stat, %v", err) -+ } else { -+ logrus.Infof("print memory info (cgroup memory.stat): %s", string(output)) -+ } -+} --- -1.8.3.1 - diff --git a/patch/0104-runc-Retry-adding-pids-to-cgroups-when-EINV.patch b/patch/0104-runc-Retry-adding-pids-to-cgroups-when-EINV.patch deleted file mode 100644 index 6ac3931..0000000 --- a/patch/0104-runc-Retry-adding-pids-to-cgroups-when-EINV.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 5424fc3a4dca03773bd322add2b1528706ea75d3 Mon Sep 17 00:00:00 2001 -From: chenditang -Date: Sun, 30 Jun 2019 21:41:19 -0400 -Subject: [PATCH] runc: Retry adding pids to cgroups when EINVAL - occurs - -reason:The kernel will sometimes return EINVAL when writing a pid -to a cgroup.procs file. It does so when the task being added still -has the state TASK_NEW. -See: https://elixir.bootlin.com/linux/v4.8/source/kernel/sched/core.c#L8286 - -Co-authored-by: Danail Branekov - -Signed-off-by: Tom Godkin -Signed-off-by: Danail Branekov -Signed-off-by: chenditang ---- - libcontainer/cgroups/utils.go | 38 ++++++++++++++++++++++++++++++++++---- - 1 file changed, 34 insertions(+), 4 deletions(-) - -diff --git a/libcontainer/cgroups/utils.go b/libcontainer/cgroups/utils.go -index 5db3734..c9411ee 100644 ---- a/libcontainer/cgroups/utils.go -+++ b/libcontainer/cgroups/utils.go -@@ -14,6 +14,7 @@ import ( - "time" - - "github.com/docker/go-units" -+ "golang.org/x/sys/unix" - ) - - const ( -@@ -438,10 +439,39 @@ func WriteCgroupProc(dir string, pid int) error { - } - - // Dont attach any pid to the cgroup if -1 is specified as a pid -- if pid != -1 { -- if err := ioutil.WriteFile(filepath.Join(dir, CgroupProcesses), []byte(strconv.Itoa(pid)), 0700); err != nil { -- return fmt.Errorf("failed to write %v to %v: %v", pid, CgroupProcesses, err) -+ if pid == -1 { -+ return nil -+ } -+ -+ cgroupProcessesFile, err := os.OpenFile(filepath.Join(dir, CgroupProcesses), os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0700) -+ if err != nil { -+ return fmt.Errorf("failed to write %v to %v: %v", pid, CgroupProcesses, err) -+ } -+ defer cgroupProcessesFile.Close() -+ -+ for i := 0; i < 5; i++ { -+ _, err = cgroupProcessesFile.WriteString(strconv.Itoa(pid)) -+ if err == nil { -+ return nil - } -+ -+ // EINVAL might mean that the task being added to cgroup.procs is in state -+ // TASK_NEW. We should attempt to do so again. -+ if isEINVAL(err) { -+ time.Sleep(30 * time.Millisecond) -+ continue -+ } -+ -+ return fmt.Errorf("failed to write %v to %v: %v", pid, CgroupProcesses, err) -+ } -+ return err -+} -+ -+func isEINVAL(err error) bool { -+ switch err := err.(type) { -+ case *os.PathError: -+ return err.Err == unix.EINVAL -+ default: -+ return false - } -- return nil - } --- -1.8.3.1 - diff --git a/patch/0105-runc-disable-core-dump-during-pipe-io.patch b/patch/0105-runc-disable-core-dump-during-pipe-io.patch deleted file mode 100644 index 78890db..0000000 --- a/patch/0105-runc-disable-core-dump-during-pipe-io.patch +++ /dev/null @@ -1,35 +0,0 @@ -From a912d31830ec000bc97d400784ea4a9165b0bd84 Mon Sep 17 00:00:00 2001 -From: jingrui -Date: Mon, 8 Jul 2019 19:49:24 +0800 -Subject: [PATCH] docker: disable core dump during exec - -Change-Id: If649738854616c1f448a148aef1f2cc414715616 -Signed-off-by: jingrui ---- - libcontainer/process_linux.go | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index 4a7321c5..7a3da4fd 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -17,6 +17,7 @@ import ( - "path/filepath" - "strconv" - "syscall" -+ "golang.org/x/sys/unix" - ) - - type parentProcess interface { -@@ -66,6 +67,8 @@ func (p *setnsProcess) signal(sig os.Signal) error { - } - - func (p *setnsProcess) start() (err error) { -+ unix.Prctl(unix.PR_SET_DUMPABLE, 0, 0, 0, 0) -+ defer unix.Prctl(unix.PR_SET_DUMPABLE, 1, 0, 0, 0) - defer p.parentPipe.Close() - err = p.cmd.Start() - p.childPipe.Close() --- -2.17.1 - diff --git a/patch/0106-runc-do-not-override-devices.allow-file-when-.patch b/patch/0106-runc-do-not-override-devices.allow-file-when-.patch deleted file mode 100644 index 81e48f3..0000000 --- a/patch/0106-runc-do-not-override-devices.allow-file-when-.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 62cc623c6c6f7ae344b3ac3ce2f9fb7b3d16303b Mon Sep 17 00:00:00 2001 -From: zhangsong34 -Date: Mon, 15 Jul 2019 14:47:05 +0800 -Subject: [PATCH] runc: do not override devices.allow content when set - device cgroup - -reason:docker update will call runc device cgroup set function which -will refresh container's devices to devices.allow cgroup file, this -action will override devices.allow content even through some existed -devices in container are not added by --device, for example by docker-tools. - -Change-Id: Ib353437a1d55de260f7724b3b8e085d08c7a3248 -Signed-off-by: zhangsong34 ---- - libcontainer/cgroups/fs/devices.go | 39 ++++++++++++++++++++++++++++++++++++++ - 1 file changed, 39 insertions(+) - -diff --git a/libcontainer/cgroups/fs/devices.go b/libcontainer/cgroups/fs/devices.go -index 0ac5b4e..0ffc2b3 100644 ---- a/libcontainer/cgroups/fs/devices.go -+++ b/libcontainer/cgroups/fs/devices.go -@@ -3,9 +3,13 @@ - package fs - - import ( -+ "bufio" - "github.com/opencontainers/runc/libcontainer/cgroups" - "github.com/opencontainers/runc/libcontainer/configs" - "github.com/opencontainers/runc/libcontainer/system" -+ "io" -+ "os" -+ "path/filepath" - ) - - type DevicesGroup struct { -@@ -25,11 +29,38 @@ func (s *DevicesGroup) Apply(d *cgroupData) error { - return nil - } - -+func readCgroupDeviceMap(dir string) (map[string]bool, error) { -+ res := make(map[string]bool) -+ fi, err := os.Open(filepath.Join(dir, "devices.list")) -+ if err != nil { -+ return nil, err -+ } -+ defer fi.Close() -+ br := bufio.NewReader(fi) -+ for { -+ item, err := br.ReadString('\n') -+ if err != nil { -+ if err == io.EOF { -+ break -+ } else { -+ return nil, err -+ } -+ } -+ res[item] = true -+ } -+ return res, nil -+} -+ - func (s *DevicesGroup) Set(path string, cgroup *configs.Cgroup) error { - if system.RunningInUserNS() { - return nil - } - -+ deviceMap, err := readCgroupDeviceMap(path) -+ if err != nil { -+ return err -+ } -+ - devices := cgroup.Resources.Devices - if len(devices) > 0 { - for _, dev := range devices { -@@ -40,6 +71,14 @@ func (s *DevicesGroup) Set(path string, cgroup *configs.Cgroup) error { - if err := writeFile(path, file, dev.CgroupString()); err != nil { - return err - } -+ delete(deviceMap, dev.CgroupString()) -+ } -+ for item, _ := range deviceMap { -+ if item[0] == 'b' || item[0] == 'c' { -+ if err := writeFile(path, "devices.allow", item); err != nil { -+ return err -+ } -+ } - } - return nil - } --- -1.8.3.1 - diff --git a/patch/0108-runc-print-files-limit-and-usage-when-exec-fa.patch b/patch/0108-runc-print-files-limit-and-usage-when-exec-fa.patch deleted file mode 100644 index b4c9db1..0000000 --- a/patch/0108-runc-print-files-limit-and-usage-when-exec-fa.patch +++ /dev/null @@ -1,55 +0,0 @@ -From e0628b7349150e8774a91d495f1203e601450aa9 Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Tue, 20 Aug 2019 09:10:09 +0800 -Subject: [PATCH] runc: print files limit and usage when exec failed - -reason: print files limit and usage when exec failed - -Change-Id: Id5a910f360345b70c29152133991807c233c9872 -Signed-off-by: xiadanni ---- - libcontainer/container_linux.go | 1 + - libcontainer/standard_init_linux.go | 11 +++++++++++ - 2 files changed, 12 insertions(+) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 914da7f..3ee7d5f 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -310,6 +310,7 @@ func (c *linuxContainer) start(process *Process) error { - return newSystemErrorWithCause(err, "creating new parent process") - } - if err := parent.start(); err != nil { -+ printFilesInfo(c.id) - // terminate the process to ensure that it properly is reaped. - if err := parent.terminate(); err != nil { - logrus.Warn(err) -diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go -index b25669f..ac6b3bf 100644 ---- a/libcontainer/standard_init_linux.go -+++ b/libcontainer/standard_init_linux.go -@@ -215,6 +215,7 @@ func (l *linuxStandardInit) Init() error { - syscall.Close(l.stateDirFD) - if err := syscall.Exec(name, l.config.Args[0:], os.Environ()); err != nil { - printMemoryInfo() -+ printFilesInfo("") - return newSystemErrorWithCause(err, "exec user process") - } - return nil -@@ -235,3 +236,13 @@ func printMemoryInfo() { - logrus.Infof("print memory info (cgroup memory.stat): %s", string(output)) - } - } -+ -+func printFilesInfo(id string) { -+ if id != "" { -+ id = "docker/" + id + "/" -+ } -+ output, err := ioutil.ReadFile("/sys/fs/cgroup/files/" + id + "files.limit") -+ logrus.Errorf("cgroup files.limit: %s, err: %v", string(output), err) -+ output, err = ioutil.ReadFile("/sys/fs/cgroup/files/" + id + "files.usage") -+ logrus.Errorf("cgroup files.usage: %s, err: %v", string(output), err) -+} --- -1.8.3.1 - diff --git a/patch/0109-runc-add-copyright.patch b/patch/0109-runc-add-copyright.patch deleted file mode 100644 index ee75ece..0000000 --- a/patch/0109-runc-add-copyright.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 8756ef9699eb7bd2c2ddd6cbff2f0f81d9991c05 Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Fri, 30 Aug 2019 00:43:29 +0800 -Subject: [PATCH] runc: add copyright - -reason: add copyright - -Change-Id: I9bc9a29de3c6138eee002b26ffd4b56965c0ea0f -Signed-off-by: xiadanni ---- - libcontainer/cgroups/fs/files.go | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/libcontainer/cgroups/fs/files.go b/libcontainer/cgroups/fs/files.go -index da4fd7d..d39b610 100644 ---- a/libcontainer/cgroups/fs/files.go -+++ b/libcontainer/cgroups/fs/files.go -@@ -1,4 +1,9 @@ --// +build linux -+/* -+Copyright (c) Huawei Technologies Co., Ltd. 2017-2019. All rights reserved. -+Description: files cgroup common functions -+Author: yangshukui -+Create: 2017-09-18 -+*/ - - package fs - --- -1.8.3.1 - diff --git a/patch/0110-runc-add-lisence.patch b/patch/0110-runc-add-lisence.patch deleted file mode 100644 index 85bc12b..0000000 --- a/patch/0110-runc-add-lisence.patch +++ /dev/null @@ -1,28 +0,0 @@ -From b14e625669a92cf838c8743ecd9ee5bc278b54fe Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Fri, 6 Sep 2019 21:32:31 +0800 -Subject: [PATCH] runc: add lisence - -reason:add lisence - -Change-Id: I7936f07063082ac2b00bf8175d2ab8a5144f6bec -Signed-off-by: xiadanni1 ---- - libcontainer/cgroups/fs/files.go | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/libcontainer/cgroups/fs/files.go b/libcontainer/cgroups/fs/files.go -index d39b610..3315cda 100644 ---- a/libcontainer/cgroups/fs/files.go -+++ b/libcontainer/cgroups/fs/files.go -@@ -1,5 +1,7 @@ - /* - Copyright (c) Huawei Technologies Co., Ltd. 2017-2019. All rights reserved. -+Use of this source code is governed by Apache-2.0 -+license that can be found in the LICENSE file. - Description: files cgroup common functions - Author: yangshukui - Create: 2017-09-18 --- -1.8.3.1 - diff --git a/patch/0111-runc-add-log-message-for-cgroup-file-check.patch b/patch/0111-runc-add-log-message-for-cgroup-file-check.patch deleted file mode 100644 index 38efc55..0000000 --- a/patch/0111-runc-add-log-message-for-cgroup-file-check.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 2150d9c48ff9073b0d85e4075b508579d82f3d27 Mon Sep 17 00:00:00 2001 -From: zhangtianyang -Date: Fri, 18 Oct 2019 19:59:21 +0800 -Subject: [PATCH] runc: add log message for cgroup file check - -reason:docker report "no such file" when try to write cpuset.mems, -not sure weather is deleted or not generated by kernel. so add -cgroup file check messages for further maintainance. - -Change-Id: I4c835f62547b0404a9cffeda643fe028f1b4aa0f -Signed-off-by: zhangtianyang ---- - libcontainer/cgroups/fs/apply_raw.go | 7 ++++++- - libcontainer/cgroups/fs/cpuset.go | 13 +++++++++++-- - 2 files changed, 17 insertions(+), 3 deletions(-) - -diff --git a/libcontainer/cgroups/fs/apply_raw.go b/libcontainer/cgroups/fs/apply_raw.go -index 1bf59a47..7677f336 100644 ---- a/libcontainer/cgroups/fs/apply_raw.go -+++ b/libcontainer/cgroups/fs/apply_raw.go -@@ -313,7 +313,12 @@ func writeFile(dir, file, data string) error { - return fmt.Errorf("no such directory for %s", file) - } - if err := ioutil.WriteFile(filepath.Join(dir, file), []byte(data), 0700); err != nil { -- return fmt.Errorf("failed to write %v to %v: %v", data, file, err) -+ ret := fmt.Errorf("failed to write %v to %v: %v", data, file, err) -+ if _, err = os.Stat(dir); err != nil { -+ ret = fmt.Errorf("%v, failed to stat %v, %v", ret, dir, err) -+ } -+ -+ return ret - } - return nil - } -diff --git a/libcontainer/cgroups/fs/cpuset.go b/libcontainer/cgroups/fs/cpuset.go -index 069c4915..bc654948 100644 ---- a/libcontainer/cgroups/fs/cpuset.go -+++ b/libcontainer/cgroups/fs/cpuset.go -@@ -31,14 +31,23 @@ func (s *CpusetGroup) Apply(d *cgroupData) error { - } - - func (s *CpusetGroup) Set(path string, cgroup *configs.Cgroup) error { -+ var ret error - if cgroup.Resources.CpusetCpus != "" { - if err := writeFile(path, "cpuset.cpus", cgroup.Resources.CpusetCpus); err != nil { -- return err -+ ret = fmt.Errorf("failed to set cpuset.cpus, %v", err) -+ if _, err := os.Stat(path); err != nil { -+ ret = fmt.Errorf("%v, failed to stat %v, %v", ret, path, err) -+ } -+ return ret - } - } - if cgroup.Resources.CpusetMems != "" { - if err := writeFile(path, "cpuset.mems", cgroup.Resources.CpusetMems); err != nil { -- return err -+ ret = fmt.Errorf("failed to set cpuset.cpus, %v", err) -+ if _, err := os.Stat(path); err != nil { -+ ret = fmt.Errorf("%v, failed to stat %v, %v", ret, path, err) -+ } -+ return ret - } - } - return nil --- -2.19.1 - diff --git a/patch/0112-runc-Fixes-1585-config.Namespaces-is-empty-.patch b/patch/0112-runc-Fixes-1585-config.Namespaces-is-empty-.patch deleted file mode 100644 index cded071..0000000 --- a/patch/0112-runc-Fixes-1585-config.Namespaces-is-empty-.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 38b4e1c3faeb7dfb3001dbd34fb2fe904a642367 Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Fri, 13 Dec 2019 03:40:47 +0800 -Subject: [PATCH 1/5] runc: Fixes #1585 config.Namespaces is empty - when accessed - -reason:Fixes #1585 config.Namespaces is empty when accessed - -Change-Id: I734db7320eee233a1b5a3c6f569506b7304e764e -Signed-off-by: xiadanni1 ---- - libcontainer/specconv/spec_linux.go | 15 +++++++-------- - 1 file changed, 7 insertions(+), 8 deletions(-) - -diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index 8c4567c..0cbc66f 100644 ---- a/libcontainer/specconv/spec_linux.go -+++ b/libcontainer/specconv/spec_linux.go -@@ -180,13 +180,6 @@ func CreateLibcontainerConfig(opts *CreateOpts) (*configs.Config, error) { - } - - exists := false -- if config.Namespaces.Contains(configs.NEWNET) && config.Namespaces.PathOf(configs.NEWNET) == "" { -- config.Networks = []*configs.Network{ -- { -- Type: "loopback", -- }, -- } -- } - for _, m := range spec.Mounts { - config.Mounts = append(config.Mounts, createLibcontainerMount(cwd, m)) - } -@@ -217,7 +210,13 @@ func CreateLibcontainerConfig(opts *CreateOpts) (*configs.Config, error) { - } - config.Namespaces.Add(t, ns.Path) - } -- -+ if config.Namespaces.Contains(configs.NEWNET) && config.Namespaces.PathOf(configs.NEWNET) == "" { -+ config.Networks = []*configs.Network{ -+ { -+ Type: "loopback", -+ }, -+ } -+ } - // set extra path masking for libcontainer for the various unsafe places in proc - config.MaskPaths = spec.Linux.MaskedPaths - config.ReadonlyPaths = spec.Linux.ReadonlyPaths --- -1.8.3.1 - diff --git a/patch/0112-runc-add-log-message-for-cgroup-file-check.patch b/patch/0112-runc-add-log-message-for-cgroup-file-check.patch deleted file mode 100644 index c219484..0000000 --- a/patch/0112-runc-add-log-message-for-cgroup-file-check.patch +++ /dev/null @@ -1,45 +0,0 @@ -From f7d616b27608938de3bfdd8f03b9cb38fc404c4e Mon Sep 17 00:00:00 2001 -From: zhangtianyang -Date: Sun, 20 Oct 2019 17:25:23 +0800 -Subject: [PATCH] runc: add log message for cgroup file check - -reason: docker report "no such file" when try to write cpuset.mems, -not sure weather is deleted or not generated by kernel. so add -cgroup file check messages for further maintainance. -write action will not report error when file not exist, actual -reporter is read action in cgroup copy function. - -Change-Id: I8e1620dd67907730f0fc4d4d7004d710c7665aa0 -Signed-off-by: zhangtianyang ---- - libcontainer/cgroups/fs/cpuset.go | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git a/libcontainer/cgroups/fs/cpuset.go b/libcontainer/cgroups/fs/cpuset.go -index bc654948..76cb719b 100644 ---- a/libcontainer/cgroups/fs/cpuset.go -+++ b/libcontainer/cgroups/fs/cpuset.go -@@ -161,10 +161,18 @@ func (s *CpusetGroup) copyIfNeeded(current, parent string) error { - ) - - if currentCpus, currentMems, err = s.getSubsystemSettings(current); err != nil { -- return err -+ ret := fmt.Errorf("failed copy parent cgroup setting, %v", err) -+ if _, err := os.Stat(current); err != nil { -+ ret = fmt.Errorf("%v, %v", ret, err) -+ } -+ return ret - } - if parentCpus, parentMems, err = s.getSubsystemSettings(parent); err != nil { -- return err -+ ret := fmt.Errorf("failed copy parent cgroup setting, %v", err) -+ if _, err := os.Stat(parent); err != nil { -+ ret = fmt.Errorf("%v, %v", ret, err) -+ } -+ return ret - } - - if s.isEmpty(currentCpus) { --- -2.19.1 - diff --git a/patch/0113-runc-Write-freezer-state-after-every-state-.patch b/patch/0113-runc-Write-freezer-state-after-every-state-.patch deleted file mode 100644 index 52c632f..0000000 --- a/patch/0113-runc-Write-freezer-state-after-every-state-.patch +++ /dev/null @@ -1,46 +0,0 @@ -From caea676dbff1834f7c22c0ebe20a1d2c8c18b762 Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Fri, 13 Dec 2019 06:50:44 +0800 -Subject: [PATCH 2/5] runc:Write freezer state after every state - check - -reason:This commit ensures we write the expected freezer cgroup state -after every state check, in case the state check does not give the expected -result. This can happen when a new task is created and prevents the -whole cgroup to be FROZEN, leaving the state into FREEZING instead. - -This patch prevents the case of an infinite loop to happen. -Fixes https://github.com/opencontainers/runc/issues/1609 - -Change-Id: I8243eba847357715b13fd4e291bee9782ee50360 -Signed-off-by: xiadanni1 ---- - libcontainer/cgroups/fs/freezer.go | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git a/libcontainer/cgroups/fs/freezer.go b/libcontainer/cgroups/fs/freezer.go -index e70dfe3..5ab3c02 100644 ---- a/libcontainer/cgroups/fs/freezer.go -+++ b/libcontainer/cgroups/fs/freezer.go -@@ -29,11 +29,14 @@ func (s *FreezerGroup) Apply(d *cgroupData) error { - func (s *FreezerGroup) Set(path string, cgroup *configs.Cgroup) error { - switch cgroup.Resources.Freezer { - case configs.Frozen, configs.Thawed: -- if err := writeFile(path, "freezer.state", string(cgroup.Resources.Freezer)); err != nil { -- return err -- } -- - for { -+ // In case this loop does not exit because it doesn't get the expected -+ // state, let's write again this state, hoping it's going to be properly -+ // set this time. Otherwise, this loop could run infinitely, waiting for -+ // a state change that would never happen. -+ if err := writeFile(path, "freezer.state", string(cgroup.Resources.Freezer)); err != nil { -+ return err -+ } - state, err := readFile(path, "freezer.state") - if err != nil { - return err --- -1.8.3.1 - diff --git a/patch/0113-runc-modify-files-cgroup-info-reading-path.patch b/patch/0113-runc-modify-files-cgroup-info-reading-path.patch deleted file mode 100644 index 152357f..0000000 --- a/patch/0113-runc-modify-files-cgroup-info-reading-path.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 6c40c8e9d74a61bbca97b1c98efaa5e1f75a02e1 Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Fri, 1 Nov 2019 00:46:28 +0800 -Subject: [PATCH] runc: modify files cgroup info reading path - -reason: modify files crgoup info reading path in case user sets --cgroup-parent. - -Change-Id: If33fe87cafe813d2e40b664c52c31416c16e4587 -Signed-off-by: xiadanni1 ---- - libcontainer/container_linux.go | 2 +- - libcontainer/standard_init_linux.go | 30 ++++++++++-------------------- - 2 files changed, 11 insertions(+), 21 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 3ee7d5f..e7c178b 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -310,7 +310,7 @@ func (c *linuxContainer) start(process *Process) error { - return newSystemErrorWithCause(err, "creating new parent process") - } - if err := parent.start(); err != nil { -- printFilesInfo(c.id) -+ printFilesInfo(c.config.Cgroups.Path) - // terminate the process to ensure that it properly is reaped. - if err := parent.terminate(); err != nil { - logrus.Warn(err) -diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go -index ac6b3bf..96901ef 100644 ---- a/libcontainer/standard_init_linux.go -+++ b/libcontainer/standard_init_linux.go -@@ -7,6 +7,7 @@ import ( - "io/ioutil" - "os" - "os/exec" -+ "path/filepath" - "strings" - "syscall" - "time" -@@ -222,27 +223,16 @@ func (l *linuxStandardInit) Init() error { - } - - func printMemoryInfo() { -- output, err := ioutil.ReadFile("/proc/meminfo") -- if err != nil { -- logrus.Errorf("Failed to read /proc/meminfo, %v", err) -- } else { -- logrus.Infof("print memory info (/proc/meminfo): %s", string(output)) -- } -+ printFileContent("/proc/meminfo") -+ printFileContent("/sys/fs/cgroup/memory/memory.stat") -+} - -- output, err = ioutil.ReadFile("/sys/fs/cgroup/memory/memory.stat") -- if err != nil { -- logrus.Errorf("Failed to read /sys/fs/cgroup/memory/memory.stat, %v", err) -- } else { -- logrus.Infof("print memory info (cgroup memory.stat): %s", string(output)) -- } -+func printFilesInfo(path string) { -+ printFileContent(filepath.Join("/sys/fs/cgroup/files", path, "/files.limit")) -+ printFileContent(filepath.Join("/sys/fs/cgroup/files", path, "/files.usage")) - } - --func printFilesInfo(id string) { -- if id != "" { -- id = "docker/" + id + "/" -- } -- output, err := ioutil.ReadFile("/sys/fs/cgroup/files/" + id + "files.limit") -- logrus.Errorf("cgroup files.limit: %s, err: %v", string(output), err) -- output, err = ioutil.ReadFile("/sys/fs/cgroup/files/" + id + "files.usage") -- logrus.Errorf("cgroup files.usage: %s, err: %v", string(output), err) -+func printFileContent(path string) { -+ output, err := ioutil.ReadFile(path) -+ logrus.Infof("content read from %s: %s, err: %v", path, string(output), err) - } --- -1.8.3.1 - diff --git a/patch/0114-runc-may-kill-other-process-when-container-.patch b/patch/0114-runc-may-kill-other-process-when-container-.patch deleted file mode 100644 index f41b558..0000000 --- a/patch/0114-runc-may-kill-other-process-when-container-.patch +++ /dev/null @@ -1,43 +0,0 @@ -From b39f29f48456ae7e9b85ff7584adeb7e68fda460 Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Thu, 19 Dec 2019 02:35:01 +0800 -Subject: [PATCH 3/5] runc: may kill other process when container - has been stopped - -reason:may kill other process when container has been stopped - -Change-Id: Iaa1af6f44dec5d7eac3518ff1dbdfedc68eb7219 -Signed-off-by: xiadanni1 ---- - libcontainer/container_linux.go | 14 +++++++++++--- - 1 file changed, 11 insertions(+), 3 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index e7c178b..9b25183 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -358,10 +358,18 @@ func (c *linuxContainer) Signal(s os.Signal, all bool) error { - if all { - return signalAllProcesses(c.cgroupManager, s) - } -- if err := c.initProcess.signal(s); err != nil { -- return newSystemErrorWithCause(err, "signaling init process") -+ status, err := c.currentStatus() -+ if err != nil { -+ return err - } -- return nil -+ // to avoid a PID reuse attack -+ if status == Running || status == Created { -+ if err := c.initProcess.signal(s); err != nil { -+ return newSystemErrorWithCause(err, "signaling init process") -+ } -+ return nil -+ } -+ return newGenericError(fmt.Errorf("container not running"), ContainerNotRunning) - } - - func (c *linuxContainer) createExecFifo() error { --- -1.8.3.1 - diff --git a/patch/0115-runc-Fix-cgroup-hugetlb-size-prefix-for-kB.patch b/patch/0115-runc-Fix-cgroup-hugetlb-size-prefix-for-kB.patch deleted file mode 100644 index 56f0730..0000000 --- a/patch/0115-runc-Fix-cgroup-hugetlb-size-prefix-for-kB.patch +++ /dev/null @@ -1,54 +0,0 @@ -From d46d29ea24d8fb4fc03c739e619d7d241dc5556c Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Thu, 19 Dec 2019 02:37:54 +0800 -Subject: [PATCH 4/5] runc: Fix cgroup hugetlb size prefix for kB - -reason:The hugetlb cgroup control files (introduced here in 2012: -https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=abb8206cb0773) -use "KB" and not "kB" -(https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/mm/hugetlb_cgroup.c?h=v5.0#n349). - -The behavior in the kernel has not changed since the introduction, and -the current code using "kB" will therefore fail on devices with small -amounts of ram (see -https://github.com/kubernetes/kubernetes/issues/77169) running a kernel -with config flag CONFIG_HUGETLBFS=y - -As seen from the code in "mem_fmt" inside hugetlb_cgroup.c, only "KB", -"MB" and "GB" are used, so the others may be removed as well. - -Here is a real world example of the files inside the -"/sys/kernel/mm/hugepages/" directory: -- "hugepages-64kB" -- "hugepages-2048kB" -- "hugepages-32768kB" -- "hugepages-1048576kB" - -And the corresponding cgroup files: -- "hugetlb.64KB._____" -- "hugetlb.2MB._____" -- "hugetlb.32MB._____" -- "hugetlb.1GB._____" - -Change-Id: If35e44e4b6846f8ed2870aedb9fed5dd3a38e91f -Signed-off-by: xiadanni1 ---- - libcontainer/cgroups/utils.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libcontainer/cgroups/utils.go b/libcontainer/cgroups/utils.go -index c9411ee..5155e14 100644 ---- a/libcontainer/cgroups/utils.go -+++ b/libcontainer/cgroups/utils.go -@@ -384,7 +384,7 @@ func RemovePaths(paths map[string]string) (err error) { - - func GetHugePageSize() ([]string, error) { - var pageSizes []string -- sizeList := []string{"B", "kB", "MB", "GB", "TB", "PB"} -+ sizeList := []string{"B", "KB", "MB", "GB", "TB", "PB"} - files, err := ioutil.ReadDir("/sys/kernel/mm/hugepages") - if err != nil { - return pageSizes, err --- -1.8.3.1 - diff --git a/patch/0116-runc-check-nil-pointers-in-cgroup-manager.patch b/patch/0116-runc-check-nil-pointers-in-cgroup-manager.patch deleted file mode 100644 index 40ffb1b..0000000 --- a/patch/0116-runc-check-nil-pointers-in-cgroup-manager.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 1b9ff04a3f6e7bc9b8bce087ccacf894c21adc97 Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Thu, 19 Dec 2019 02:41:08 +0800 -Subject: [PATCH 5/5] runc: check nil pointers in cgroup manager - -reason:check nil pointers in cgroup manager - -Change-Id: I94bda4b4ca4031ee93d54885603e60e64d3683a0 -Signed-off-by: xiadanni1 ---- - libcontainer/cgroups/fs/apply_raw.go | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/libcontainer/cgroups/fs/apply_raw.go b/libcontainer/cgroups/fs/apply_raw.go -index 7677f33..73c733a 100644 ---- a/libcontainer/cgroups/fs/apply_raw.go -+++ b/libcontainer/cgroups/fs/apply_raw.go -@@ -189,9 +189,13 @@ func (m *Manager) GetStats() (*cgroups.Stats, error) { - } - - func (m *Manager) Set(container *configs.Config) error { -+ if container.Cgroups == nil { -+ return nil -+ } -+ - // If Paths are set, then we are just joining cgroups paths - // and there is no need to set any values. -- if m.Cgroups.Paths != nil { -+ if m.Cgroups != nil && m.Cgroups.Paths != nil { - return nil - } - -@@ -214,6 +218,10 @@ func (m *Manager) Set(container *configs.Config) error { - // Freeze toggles the container's freezer cgroup depending on the state - // provided - func (m *Manager) Freeze(state configs.FreezerState) error { -+ if m.Cgroups == nil { -+ return errors.New("cannot toggle freezer: cgroups not configured for container") -+ } -+ - paths := m.GetPaths() - dir := paths["freezer"] - prevState := m.Cgroups.Resources.Freezer --- -1.8.3.1 - diff --git a/patch/0117-runc-Pass-back-the-pid-of-runc-1-CHILD-so-w.patch b/patch/0117-runc-Pass-back-the-pid-of-runc-1-CHILD-so-w.patch deleted file mode 100644 index 5b989ef..0000000 --- a/patch/0117-runc-Pass-back-the-pid-of-runc-1-CHILD-so-w.patch +++ /dev/null @@ -1,143 +0,0 @@ -From 96ce6d60417ddf6c09d7e9a2b82421adcb01652f Mon Sep 17 00:00:00 2001 -From: Alex Fang -Date: Sat, 6 May 2017 21:34:32 +1000 -Subject: [PATCH] runc:Pass back the pid of runc:[1:CHILD] so we can - wait on it - -reason:This allows the libcontainer to automatically clean up runc:[1:CHILD] -processes created as part of nsenter. - -Change-Id: Ib3641cf54b5c8b830bc01fa60b3cfdcc189ea660 -Signed-off-by: Alex Fang ---- - libcontainer/init_linux.go | 3 ++- - libcontainer/nsenter/nsexec.c | 17 +++++++++++------ - libcontainer/process_linux.go | 27 ++++++++++++++++++++++----- - 3 files changed, 35 insertions(+), 12 deletions(-) - -diff --git a/libcontainer/init_linux.go b/libcontainer/init_linux.go -index 99cc02c..2a93431 100644 ---- a/libcontainer/init_linux.go -+++ b/libcontainer/init_linux.go -@@ -29,7 +29,8 @@ const ( - ) - - type pid struct { -- Pid int `json:"pid"` -+ Pid int `json:"pid"` -+ PidFirstChild int `json:"pid_first"` - } - - // network is an internal struct used to setup container networks. -diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c -index 64ed76f..4f73b1a 100644 ---- a/libcontainer/nsenter/nsexec.c -+++ b/libcontainer/nsenter/nsexec.c -@@ -554,7 +554,7 @@ void nsexec(void) - */ - case JUMP_PARENT: { - int len; -- pid_t child; -+ pid_t child, first_child = -1; - char buf[JSON_MAX]; - bool ready = false; - -@@ -618,18 +618,18 @@ void nsexec(void) - } - break; - case SYNC_RECVPID_PLS: { -- pid_t old = child; -+ first_child = child; - - /* Get the init_func pid. */ - if (read(syncfd, &child, sizeof(child)) != sizeof(child)) { -- kill(old, SIGKILL); -+ kill(first_child, SIGKILL); - bail("failed to sync with child: read(childpid)"); - } - - /* Send ACK. */ - s = SYNC_RECVPID_ACK; - if (write(syncfd, &s, sizeof(s)) != sizeof(s)) { -- kill(old, SIGKILL); -+ kill(first_child, SIGKILL); - kill(child, SIGKILL); - bail("failed to sync with child: write(SYNC_RECVPID_ACK)"); - } -@@ -677,8 +677,13 @@ void nsexec(void) - } - } - -- /* Send the init_func pid back to our parent. */ -- len = snprintf(buf, JSON_MAX, "{\"pid\": %d}\n", child); -+ /* -+ * Send the init_func pid and the pid of the first child back to our parent. -+ * -+ * We need to send both back because we can't reap the first child we created (CLONE_PARENT). -+ * It becomes the responsibility of our parent to reap the first child. -+ */ -+ len = snprintf(buf, JSON_MAX, "{\"pid\": %d, \"pid_first\": %d}\n", child, first_child); - if (len < 0) { - kill(child, SIGKILL); - bail("unable to generate JSON for child pid"); -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index 7a3da4f..25fe30b 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -6,17 +6,18 @@ import ( - "encoding/json" - "errors" - "fmt" -- "github.com/Sirupsen/logrus" -- "github.com/opencontainers/runc/libcontainer/cgroups" -- "github.com/opencontainers/runc/libcontainer/configs" -- "github.com/opencontainers/runc/libcontainer/system" -- "github.com/opencontainers/runc/libcontainer/utils" - "io" - "os" - "os/exec" - "path/filepath" - "strconv" - "syscall" -+ -+ "github.com/Sirupsen/logrus" -+ "github.com/opencontainers/runc/libcontainer/cgroups" -+ "github.com/opencontainers/runc/libcontainer/configs" -+ "github.com/opencontainers/runc/libcontainer/system" -+ "github.com/opencontainers/runc/libcontainer/utils" - "golang.org/x/sys/unix" - ) - -@@ -141,6 +142,14 @@ func (p *setnsProcess) execSetns() error { - p.cmd.Wait() - return newSystemErrorWithCause(err, "reading pid from init pipe") - } -+ -+ // Clean up the zombie parent process -+ // On Unix systems FindProcess always succeeds. -+ firstChildProcess, _ := os.FindProcess(pid.PidFirstChild) -+ -+ // Ignore the error in case the child has already been reaped for any reason -+ _, _ = firstChildProcess.Wait() -+ - process, err := os.FindProcess(pid.Pid) - if err != nil { - return err -@@ -224,6 +233,14 @@ func (p *initProcess) execSetns() error { - p.cmd.Wait() - return err - } -+ -+ // Clean up the zombie parent process -+ // On Unix systems FindProcess always succeeds. -+ firstChildProcess, _ := os.FindProcess(pid.PidFirstChild) -+ -+ // Ignore the error in case the child has already been reaped for any reason -+ _, _ = firstChildProcess.Wait() -+ - process, err := os.FindProcess(pid.Pid) - if err != nil { - return err --- -1.8.3.1 - diff --git a/patch/0118-runc-don-t-deny-all-devices-when-update-cgroup-resou.patch b/patch/0118-runc-don-t-deny-all-devices-when-update-cgroup-resou.patch deleted file mode 100644 index bfb3e07..0000000 --- a/patch/0118-runc-don-t-deny-all-devices-when-update-cgroup-resou.patch +++ /dev/null @@ -1,180 +0,0 @@ -From eb576e28687555ba9253a2679706bf5491be0c11 Mon Sep 17 00:00:00 2001 -From: panwenxiang -Date: Fri, 24 Apr 2020 23:05:31 +0800 -Subject: [PATCH] runc: don't deny all devices when update cgroup resource - -reason: runc Update command causes 'Operation not permitted - -cherry-pick from https://github.com/opencontainers/runc/pull/2204 -cherry-pick from https://github.com/opencontainers/runc/pull/2205 - -It's first seen in a kubernetes cluster with docker as container runtime. -Our users reported that in some situation their bash script failed with message -can't create /dev/null: Operation not permitted. -But /dev/null is default device with permission rwm, -After digging some logs, we found that it can be reproduced in runc by following steps. - -- Run a runc container like "busybox". Suppose this container is called A -- run while true;do echo >/dev/null;done in container -- runc update --cpu-share 1024 A -- You will see sh: can't create /dev/null: Operation not permitted - -Change-Id: I4f374eed5033b9f3eb47c31b622c408d24142473 -Signed-off-by: panwenxiang ---- - libcontainer/cgroups/fs/devices.go | 72 +++++++++++++++++++++---- - libcontainer/cgroups/fs/devices_test.go | 8 +++ - 2 files changed, 71 insertions(+), 9 deletions(-) - -diff --git a/libcontainer/cgroups/fs/devices.go b/libcontainer/cgroups/fs/devices.go -index 478b5db7..c5ca11f5 100644 ---- a/libcontainer/cgroups/fs/devices.go -+++ b/libcontainer/cgroups/fs/devices.go -@@ -10,11 +10,18 @@ import ( - "io" - "os" - "path/filepath" -+ "strings" - ) - - type DevicesGroup struct { - } - -+type Empty struct{} -+ -+var ( -+ defaultDevice = &configs.Device{Type: 'a', Major: -1, Minor: -1, Permissions: "rwm"} -+) -+ - func (s *DevicesGroup) Name() string { - return "devices" - } -@@ -61,6 +68,10 @@ func (s *DevicesGroup) Set(path string, cgroup *configs.Cgroup) error { - return err - } - -+ oldAllowedDevices, err := readDevicesExceptDefault(path) -+ if err != nil { -+ return err -+ } - devices := cgroup.Resources.Devices - if len(devices) > 0 { - for _, dev := range devices { -@@ -68,10 +79,17 @@ func (s *DevicesGroup) Set(path string, cgroup *configs.Cgroup) error { - if dev.Allow { - file = "devices.allow" - } -- if err := writeFile(path, file, dev.CgroupString()); err != nil { -- return err -+ // For the second time set, we don't deny all devices, skip -+ if dev.Type == defaultDevice.Type && len(oldAllowedDevices) != 0 { -+ file = "" -+ } -+ -+ if len(file) > 0 { -+ if err := writeFile(path, file, dev.CgroupString()); err != nil { -+ return err -+ } -+ delete(deviceMap, dev.CgroupString()) - } -- delete(deviceMap, dev.CgroupString()) - } - for item, _ := range deviceMap { - if item[0] == 'b' || item[0] == 'c' { -@@ -84,13 +102,31 @@ func (s *DevicesGroup) Set(path string, cgroup *configs.Cgroup) error { - } - if cgroup.Resources.AllowAllDevices != nil { - if *cgroup.Resources.AllowAllDevices == false { -- if err := writeFile(path, "devices.deny", "a"); err != nil { -- return err -+ if len(oldAllowedDevices) == 0 { -+ if err := writeFile(path, "devices.deny", "a"); err != nil { -+ return err -+ } - } - -- for _, dev := range cgroup.Resources.AllowedDevices { -- if err := writeFile(path, "devices.allow", dev.CgroupString()); err != nil { -- return err -+ newAllowedDevices := make(map[string]Empty) -+ for _, dev := range cgroup.AllowedDevices { -+ newAllowedDevices[dev.CgroupString()] = Empty{} -+ } -+ // Deny no longer allowed devices -+ for cgroupString := range oldAllowedDevices { -+ if _, found := newAllowedDevices[cgroupString]; !found { -+ if err := writeFile(path, "devices.deny", cgroupString); err != nil { -+ return err -+ } -+ } -+ } -+ -+ // Allow new devices -+ for cgroupString := range newAllowedDevices { -+ if _, found := oldAllowedDevices[cgroupString]; !found { -+ if err := writeFile(path, "devices.allow", cgroupString); err != nil { -+ return err -+ } - } - } - return nil -@@ -100,7 +136,6 @@ func (s *DevicesGroup) Set(path string, cgroup *configs.Cgroup) error { - return err - } - } -- - for _, dev := range cgroup.Resources.DeniedDevices { - if err := writeFile(path, "devices.deny", dev.CgroupString()); err != nil { - return err -@@ -117,3 +152,22 @@ func (s *DevicesGroup) Remove(d *cgroupData) error { - func (s *DevicesGroup) GetStats(path string, stats *cgroups.Stats) error { - return nil - } -+ -+func readDevicesExceptDefault(path string) (allowed map[string]Empty, err error) { -+ cgroupData, err := readFile(path, "devices.list") -+ if err != nil { -+ return nil, err -+ } -+ -+ allowedDevices := make(map[string]Empty) -+ defaultDeviceString := defaultDevice.CgroupString() -+ for _, data := range strings.Split(cgroupData, "\n") { -+ // skip allow all devices -+ if len(data) == 0 || data == defaultDeviceString { -+ continue -+ } -+ allowedDevices[data] = Empty{} -+ } -+ -+ return allowedDevices, nil -+} -diff --git a/libcontainer/cgroups/fs/devices_test.go b/libcontainer/cgroups/fs/devices_test.go -index fc635b99..1184c459 100644 ---- a/libcontainer/cgroups/fs/devices_test.go -+++ b/libcontainer/cgroups/fs/devices_test.go -@@ -37,6 +37,10 @@ func TestDevicesSetAllow(t *testing.T) { - helper := NewCgroupTestUtil("devices", t) - defer helper.cleanup() - -+ helper.writeFileContents(map[string]string{ -+ "devices.list": "a *:* rwm", -+ }) -+ - helper.writeFileContents(map[string]string{ - "devices.deny": "a", - }) -@@ -75,6 +79,10 @@ func TestDevicesSetDeny(t *testing.T) { - helper := NewCgroupTestUtil("devices", t) - defer helper.cleanup() - -+ helper.writeFileContents(map[string]string{ -+ "devices.list": "a *:* rwm", -+ }) -+ - helper.writeFileContents(map[string]string{ - "devices.allow": "a", - }) --- -2.21.0 - diff --git a/patch/0118-runc-rootfs-do-not-permit-proc-mounts-to-no.patch b/patch/0118-runc-rootfs-do-not-permit-proc-mounts-to-no.patch deleted file mode 100644 index b203ba4..0000000 --- a/patch/0118-runc-rootfs-do-not-permit-proc-mounts-to-no.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 78b4cdf24a75950da64dab9146984b448497cc28 Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Wed, 15 Apr 2020 16:58:02 +0800 -Subject: [PATCH] rootfs: do not permit /proc mounts to non-directories - -mount(2) will blindly follow symlinks, which is a problem because it -allows a malicious container to trick runc into mounting /proc to an -entirely different location (and thus within the attacker's control for -a rename-exchange attack). - -This is just a hotfix (to "stop the bleeding"), and the more complete -fix would be finish libpathrs and port runc to it (to avoid these types -of attacks entirely, and defend against a variety of other /proc-related -attacks). It can be bypased by someone having "/" be a volume controlled -by another container. - -Fixes: CVE-2019-19921 -Signed-off-by: Aleksa Sarai -Signed-off-by: xiadanni1 ---- - libcontainer/rootfs_linux.go | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index 4c18482..67cf0bf 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -168,6 +168,18 @@ func mountToRootfs(m *configs.Mount, rootfs, mountLabel string) error { - - switch m.Device { - case "proc", "sysfs": -+ // If the destination already exists and is not a directory, we bail -+ // out This is to avoid mounting through a symlink or similar -- which -+ // has been a "fun" attack scenario in the past. -+ // TODO: This won't be necessary once we switch to libpathrs and we can -+ // stop all of these symlink-exchange attacks. -+ if fi, err := os.Lstat(dest); err != nil { -+ if !os.IsNotExist(err) { -+ return err -+ } -+ } else if fi.Mode()&os.ModeDir == 0 { -+ return fmt.Errorf("filesystem %q must be mounted on ordinary directory", m.Device) -+ } - if strings.HasPrefix(m.Destination, "/proc/sys/") { - return nil - } --- -1.8.3.1 - diff --git a/patch/0119-runc-use-git-commit-to-store-commit-ID.patch b/patch/0119-runc-use-git-commit-to-store-commit-ID.patch deleted file mode 100644 index 8ee8ac3..0000000 --- a/patch/0119-runc-use-git-commit-to-store-commit-ID.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 0eb0fdb40b1f1a80d07c95c59e391e44ea646b01 Mon Sep 17 00:00:00 2001 -From: xiadanni1 -Date: Tue, 9 Jun 2020 01:52:46 +0800 -Subject: [PATCH] runc: use git-commit to store commit ID - -Change-Id: I9b2e44691dafc2ced0523ed8423f3cb29bebd502 -Signed-off-by: xiadanni1 ---- - Makefile | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index b24c22b..60d1d57 100644 ---- a/Makefile -+++ b/Makefile -@@ -10,8 +10,7 @@ GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g") - RUNC_IMAGE := runc_dev$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN)) - PROJECT := github.com/opencontainers/runc - BUILDTAGS := seccomp --COMMIT_NO := $(shell git rev-parse HEAD 2> /dev/null || true) --COMMIT := $(if $(shell git status --porcelain --untracked-files=no),"${COMMIT_NO}-dirty","${COMMIT_NO}") -+COMMIT := $(shell cat ./git-commit | head -c 40) - - MAN_DIR := $(CURDIR)/man/man8 - MAN_PAGES = $(shell ls $(MAN_DIR)/*.8) --- -1.8.3.1 - diff --git a/patch/0120-runc-fix-permission-denied.patch b/patch/0120-runc-fix-permission-denied.patch deleted file mode 100644 index 0c304b8..0000000 --- a/patch/0120-runc-fix-permission-denied.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 6594d5c042a2253386820a640b3a7087e07d0df2 Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Thu, 9 Jul 2020 15:56:54 +0800 -Subject: [PATCH] runc: fix permission denied - -reason: when exec as root and config.Cwd is not owned by root, -exec will fail because root doesn't have the caps. - -Signed-off-by: Kurnia D Win -Signed-off-by: xiadanni ---- - libcontainer/init_linux.go | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/libcontainer/init_linux.go b/libcontainer/init_linux.go -index 2a93431..73505ef 100644 ---- a/libcontainer/init_linux.go -+++ b/libcontainer/init_linux.go -@@ -118,6 +118,11 @@ func finalizeNamespace(config *initConfig) error { - if err := utils.CloseExecFrom(config.PassedFilesCount + 3); err != nil { - return err - } -+ if config.Cwd != "" { -+ if err := syscall.Chdir(config.Cwd); err != nil { -+ return fmt.Errorf("chdir to cwd (%q) set in config.json failed: %v", config.Cwd, err) -+ } -+ } - - capabilities := &configs.Capabilities{} - if config.Capabilities != nil { -@@ -146,11 +151,6 @@ func finalizeNamespace(config *initConfig) error { - if err := w.ApplyCaps(); err != nil { - return err - } -- if config.Cwd != "" { -- if err := syscall.Chdir(config.Cwd); err != nil { -- return fmt.Errorf("chdir to cwd (%q) set in config.json failed: %v", config.Cwd, err) -- } -- } - return nil - } - --- -1.8.3.1 - diff --git a/patch/0121-runc-add-cpu-and-memory-info-when-print-cgroup-info.patch b/patch/0121-runc-add-cpu-and-memory-info-when-print-cgroup-info.patch deleted file mode 100644 index 23466be..0000000 --- a/patch/0121-runc-add-cpu-and-memory-info-when-print-cgroup-info.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 0fe280f25568a5700f9ac388b1434b344e1d1fab Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Mon, 4 Jan 2021 20:00:26 +0800 -Subject: [PATCH] runc: add cpu and memory info when print cgroup info - -Signed-off-by: xiadanni ---- - libcontainer/container_linux.go | 4 ++-- - libcontainer/standard_init_linux.go | 23 +++++++++++++---------- - 2 files changed, 15 insertions(+), 12 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 9b25183..7319286 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -310,10 +310,10 @@ func (c *linuxContainer) start(process *Process) error { - return newSystemErrorWithCause(err, "creating new parent process") - } - if err := parent.start(); err != nil { -- printFilesInfo(c.config.Cgroups.Path) -+ printCgroupInfo(c.config.Cgroups.Path) - // terminate the process to ensure that it properly is reaped. - if err := parent.terminate(); err != nil { -- logrus.Warn(err) -+ logrus.Warnf("parent process terminate error: %v", err) - } - return newSystemErrorWithCause(err, "starting container process") - } -diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go -index 96901ef..b985180 100644 ---- a/libcontainer/standard_init_linux.go -+++ b/libcontainer/standard_init_linux.go -@@ -215,21 +215,24 @@ func (l *linuxStandardInit) Init() error { - // https://github.com/torvalds/linux/blob/v4.9/fs/exec.c#L1290-L1318 - syscall.Close(l.stateDirFD) - if err := syscall.Exec(name, l.config.Args[0:], os.Environ()); err != nil { -- printMemoryInfo() -- printFilesInfo("") -+ printCgroupInfo("") - return newSystemErrorWithCause(err, "exec user process") - } - return nil - } - --func printMemoryInfo() { -- printFileContent("/proc/meminfo") -- printFileContent("/sys/fs/cgroup/memory/memory.stat") --} -- --func printFilesInfo(path string) { -- printFileContent(filepath.Join("/sys/fs/cgroup/files", path, "/files.limit")) -- printFileContent(filepath.Join("/sys/fs/cgroup/files", path, "/files.usage")) -+func printCgroupInfo(path string) { -+ infoFileList := []string{ -+ "/proc/meminfo", -+ "/sys/fs/cgroup/memory/memory.stat", -+ filepath.Join("/sys/fs/cgroup/files", path, "/files.limit"), -+ filepath.Join("/sys/fs/cgroup/files", path, "/files.usage"), -+ filepath.Join("/sys/fs/cgroup/memory", path, "/memory.stat"), -+ filepath.Join("/sys/fs/cgroup/cpu", path, "/cpu.stat"), -+ } -+ for _, file := range infoFileList { -+ printFileContent(file) -+ } - } - - func printFileContent(path string) { --- -1.8.3.1 - diff --git a/patch/0121-runc-add-sys-symbol-to-support-riscv.patch b/patch/0121-runc-add-sys-symbol-to-support-riscv.patch deleted file mode 100644 index 715f6b4..0000000 --- a/patch/0121-runc-add-sys-symbol-to-support-riscv.patch +++ /dev/null @@ -1,7988 +0,0 @@ -From 74130b6b05ba39ffe592850f87b0b8a1f37730ba Mon Sep 17 00:00:00 2001 -From: yangyanchao -Date: Tue, 15 Dec 2020 03:03:08 +0000 -Subject: [PATCH 1/2] runc-add-sys-symbol-to-support-riscv - ---- - .../golang.org/x/sys/unix/asm_linux_riscv64.s | 26 + - .../x/sys/unix/syscall_linux_riscv64.go | 237 ++ - .../x/sys/unix/zerrors_linux_riscv64.go | 2826 +++++++++++++++++ - .../x/sys/unix/zsyscall_linux_riscv64.go | 2217 +++++++++++++ - .../x/sys/unix/zsysnum_linux_riscv64.go | 289 ++ - .../x/sys/unix/ztypes_linux_riscv64.go | 2334 ++++++++++++++ - 6 files changed, 7929 insertions(+) - create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_riscv64.s - create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go - create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go - create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go - create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go - -diff --git a/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s b/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s -new file mode 100644 -index 0000000..5b740f7 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s -@@ -0,0 +1,26 @@ -+// Copyright 2019 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build riscv64,!gccgo -+ -+#include "textflag.h" -+ -+// -+// System calls for linux/riscv64. -+// -+// Where available, just jump to package syscall's implementation of -+// these functions. -+ -+TEXT ·Syscall(SB),NOSPLIT,$0-56 -+ JMP syscall·Syscall(SB) -+ -+TEXT ·Syscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·Syscall6(SB) -+ -+TEXT ·RawSyscall(SB),NOSPLIT,$0-56 -+ JMP syscall·RawSyscall(SB) -+ -+TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 -+ JMP syscall·RawSyscall6(SB) -+ -diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go -new file mode 100644 -index 0000000..102f995 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go -@@ -0,0 +1,237 @@ -+// Copyright 2018 The Go Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// +build riscv64,linux -+ -+package unix -+ -+import "unsafe" -+ -+func EpollCreate(size int) (fd int, err error) { -+ if size <= 0 { -+ return -1, EINVAL -+ } -+ return EpollCreate1(0) -+} -+ -+//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT -+//sys Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64 -+//sys Fchown(fd int, uid int, gid int) (err error) -+//sys Fstat(fd int, stat *Stat_t) (err error) -+//sys Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) -+//sys Fstatfs(fd int, buf *Statfs_t) (err error) -+//sys Ftruncate(fd int, length int64) (err error) -+//sysnb Getegid() (egid int) -+//sysnb Geteuid() (euid int) -+//sysnb Getgid() (gid int) -+//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Getuid() (uid int) -+//sys Listen(s int, n int) (err error) -+//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64 -+//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 -+//sys Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK -+ -+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { -+ var ts *Timespec -+ if timeout != nil { -+ ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} -+ } -+ return Pselect(nfd, r, w, e, ts, nil) -+} -+ -+//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) -+//sys Setfsgid(gid int) (err error) -+//sys Setfsuid(uid int) (err error) -+//sysnb Setregid(rgid int, egid int) (err error) -+//sysnb Setresgid(rgid int, egid int, sgid int) (err error) -+//sysnb Setresuid(ruid int, euid int, suid int) (err error) -+//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) -+//sysnb Setreuid(ruid int, euid int) (err error) -+//sys Shutdown(fd int, how int) (err error) -+//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) -+ -+func Stat(path string, stat *Stat_t) (err error) { -+ return Fstatat(AT_FDCWD, path, stat, 0) -+} -+ -+func Lchown(path string, uid int, gid int) (err error) { -+ return Fchownat(AT_FDCWD, path, uid, gid, AT_SYMLINK_NOFOLLOW) -+} -+ -+func Lstat(path string, stat *Stat_t) (err error) { -+ return Fstatat(AT_FDCWD, path, stat, AT_SYMLINK_NOFOLLOW) -+} -+ -+//sys Statfs(path string, buf *Statfs_t) (err error) -+//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) -+//sys Truncate(path string, length int64) (err error) -+ -+func Ustat(dev int, ubuf *Ustat_t) (err error) { -+ return ENOSYS -+} -+ -+//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) -+//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) -+//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) -+//sysnb getgroups(n int, list *_Gid_t) (nn int, err error) -+//sysnb setgroups(n int, list *_Gid_t) (err error) -+//sys getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) -+//sys setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) -+//sysnb socket(domain int, typ int, proto int) (fd int, err error) -+//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) -+//sysnb getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sysnb getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) -+//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) -+//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) -+//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) -+//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) -+ -+//sysnb Gettimeofday(tv *Timeval) (err error) -+ -+func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } -+ -+func NsecToTimespec(nsec int64) (ts Timespec) { -+ ts.Sec = nsec / 1e9 -+ ts.Nsec = nsec % 1e9 -+ return -+} -+ -+func NsecToTimeval(nsec int64) (tv Timeval) { -+ nsec += 999 // round up to microsecond -+ tv.Sec = nsec / 1e9 -+ tv.Usec = nsec % 1e9 /1e3 -+ return -+} -+ -+func setTimespec(sec, nsec int64) Timespec { -+ return Timespec{Sec: sec, Nsec: nsec} -+} -+ -+func setTimeval(sec, usec int64) Timeval { -+ return Timeval{Sec: sec, Usec: usec} -+} -+ -+func futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) { -+ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(times))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+func Time(t *Time_t) (Time_t, error) { -+ var tv Timeval -+ err := Gettimeofday(&tv) -+ if err != nil { -+ return 0, err -+ } -+ if t != nil { -+ *t = Time_t(tv.Sec) -+ } -+ return Time_t(tv.Sec), nil -+} -+ -+func Utime(path string, buf *Utimbuf) error { -+ tv := []Timeval{ -+ {Sec: buf.Actime}, -+ {Sec: buf.Modtime}, -+ } -+ return Utimes(path, tv) -+} -+ -+func utimes(path string, tv *[2]Timeval) (err error) { -+ if tv == nil { -+ return utimensat(AT_FDCWD, path, nil, 0) -+ } -+ -+ ts := []Timespec{ -+ NsecToTimespec(TimevalToNsec(tv[0])), -+ NsecToTimespec(TimevalToNsec(tv[1])), -+ } -+ return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0) -+} -+ -+func Pipe(p []int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, 0) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+//sysnb pipe2(p *[2]_C_int, flags int) (err error) -+ -+func Pipe2(p []int, flags int) (err error) { -+ if len(p) != 2 { -+ return EINVAL -+ } -+ var pp [2]_C_int -+ err = pipe2(&pp, flags) -+ p[0] = int(pp[0]) -+ p[1] = int(pp[1]) -+ return -+} -+ -+func (r *PtraceRegs) PC() uint64 { return r.Pc } -+ -+func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc } -+ -+func (iov *Iovec) SetLen(length int) { -+ iov.Len = uint64(length) -+} -+ -+func (msghdr *Msghdr) SetControllen(length int) { -+ msghdr.Controllen = uint64(length) -+} -+ -+func (cmsg *Cmsghdr) SetLen(length int) { -+ cmsg.Len = uint64(length) -+} -+ -+func InotifyInit() (fd int, err error) { -+ return InotifyInit1(0) -+} -+ -+func Dup2(oldfd int, newfd int) (err error) { -+ return Dup3(oldfd, newfd, 0) -+} -+ -+func Pause() error { -+ _, err := ppoll(nil, 0, nil, nil) -+ return err -+} -+ -+func Poll(fds []PollFd, timeout int) (n int, err error) { -+ var ts *Timespec -+ if timeout >= 0 { -+ ts = new(Timespec) -+ *ts = NsecToTimespec(int64(timeout) * 1e6) -+ } -+ if len(fds) == 0 { -+ return ppoll(nil, 0, ts, nil) -+ } -+ return ppoll(&fds[0], len(fds), ts, nil) -+} -+ -+func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) { -+ return Renameat2(olddirfd, oldpath, newdirfd, newpath, 0) -+} -+ -+//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) -+ -+func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error { -+ cmdlineLen := len(cmdline) -+ if cmdlineLen > 0 { -+ // Account for the additional NULL byte added by -+ // BytePtrFromString in kexecFileLoad. The kexec_file_load -+ // syscall expects a NULL-terminated string. -+ cmdlineLen++ -+ } -+ return kexecFileLoad(kernelFd, initrdFd, cmdlineLen, cmdline, flags) -+} -diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go -new file mode 100644 -index 0000000..0465451 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go -@@ -0,0 +1,2826 @@ -+// mkerrors.sh -Wall -Werror -static -I/tmp/include -+// Code generated by the command above; see README.md. DO NOT EDIT. -+ -+// +build riscv64,linux -+ -+// Code generated by cmd/cgo -godefs; DO NOT EDIT. -+// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go -+ -+package unix -+ -+import "syscall" -+ -+const ( -+ AAFS_MAGIC = 0x5a3c69f0 -+ ADFS_SUPER_MAGIC = 0xadf5 -+ AFFS_SUPER_MAGIC = 0xadff -+ AFS_FS_MAGIC = 0x6b414653 -+ AFS_SUPER_MAGIC = 0x5346414f -+ AF_ALG = 0x26 -+ AF_APPLETALK = 0x5 -+ AF_ASH = 0x12 -+ AF_ATMPVC = 0x8 -+ AF_ATMSVC = 0x14 -+ AF_AX25 = 0x3 -+ AF_BLUETOOTH = 0x1f -+ AF_BRIDGE = 0x7 -+ AF_CAIF = 0x25 -+ AF_CAN = 0x1d -+ AF_DECnet = 0xc -+ AF_ECONET = 0x13 -+ AF_FILE = 0x1 -+ AF_IB = 0x1b -+ AF_IEEE802154 = 0x24 -+ AF_INET = 0x2 -+ AF_INET6 = 0xa -+ AF_IPX = 0x4 -+ AF_IRDA = 0x17 -+ AF_ISDN = 0x22 -+ AF_IUCV = 0x20 -+ AF_KCM = 0x29 -+ AF_KEY = 0xf -+ AF_LLC = 0x1a -+ AF_LOCAL = 0x1 -+ AF_MAX = 0x2d -+ AF_MPLS = 0x1c -+ AF_NETBEUI = 0xd -+ AF_NETLINK = 0x10 -+ AF_NETROM = 0x6 -+ AF_NFC = 0x27 -+ AF_PACKET = 0x11 -+ AF_PHONET = 0x23 -+ AF_PPPOX = 0x18 -+ AF_QIPCRTR = 0x2a -+ AF_RDS = 0x15 -+ AF_ROSE = 0xb -+ AF_ROUTE = 0x10 -+ AF_RXRPC = 0x21 -+ AF_SECURITY = 0xe -+ AF_SMC = 0x2b -+ AF_SNA = 0x16 -+ AF_TIPC = 0x1e -+ AF_UNIX = 0x1 -+ AF_UNSPEC = 0x0 -+ AF_VSOCK = 0x28 -+ AF_WANPIPE = 0x19 -+ AF_X25 = 0x9 -+ AF_XDP = 0x2c -+ ALG_OP_DECRYPT = 0x0 -+ ALG_OP_ENCRYPT = 0x1 -+ ALG_SET_AEAD_ASSOCLEN = 0x4 -+ ALG_SET_AEAD_AUTHSIZE = 0x5 -+ ALG_SET_IV = 0x2 -+ ALG_SET_KEY = 0x1 -+ ALG_SET_OP = 0x3 -+ ANON_INODE_FS_MAGIC = 0x9041934 -+ ARPHRD_6LOWPAN = 0x339 -+ ARPHRD_ADAPT = 0x108 -+ ARPHRD_APPLETLK = 0x8 -+ ARPHRD_ARCNET = 0x7 -+ ARPHRD_ASH = 0x30d -+ ARPHRD_ATM = 0x13 -+ ARPHRD_AX25 = 0x3 -+ ARPHRD_BIF = 0x307 -+ ARPHRD_CAIF = 0x336 -+ ARPHRD_CAN = 0x118 -+ ARPHRD_CHAOS = 0x5 -+ ARPHRD_CISCO = 0x201 -+ ARPHRD_CSLIP = 0x101 -+ ARPHRD_CSLIP6 = 0x103 -+ ARPHRD_DDCMP = 0x205 -+ ARPHRD_DLCI = 0xf -+ ARPHRD_ECONET = 0x30e -+ ARPHRD_EETHER = 0x2 -+ ARPHRD_ETHER = 0x1 -+ ARPHRD_EUI64 = 0x1b -+ ARPHRD_FCAL = 0x311 -+ ARPHRD_FCFABRIC = 0x313 -+ ARPHRD_FCPL = 0x312 -+ ARPHRD_FCPP = 0x310 -+ ARPHRD_FDDI = 0x306 -+ ARPHRD_FRAD = 0x302 -+ ARPHRD_HDLC = 0x201 -+ ARPHRD_HIPPI = 0x30c -+ ARPHRD_HWX25 = 0x110 -+ ARPHRD_IEEE1394 = 0x18 -+ ARPHRD_IEEE802 = 0x6 -+ ARPHRD_IEEE80211 = 0x321 -+ ARPHRD_IEEE80211_PRISM = 0x322 -+ ARPHRD_IEEE80211_RADIOTAP = 0x323 -+ ARPHRD_IEEE802154 = 0x324 -+ ARPHRD_IEEE802154_MONITOR = 0x325 -+ ARPHRD_IEEE802_TR = 0x320 -+ ARPHRD_INFINIBAND = 0x20 -+ ARPHRD_IP6GRE = 0x337 -+ ARPHRD_IPDDP = 0x309 -+ ARPHRD_IPGRE = 0x30a -+ ARPHRD_IRDA = 0x30f -+ ARPHRD_LAPB = 0x204 -+ ARPHRD_LOCALTLK = 0x305 -+ ARPHRD_LOOPBACK = 0x304 -+ ARPHRD_METRICOM = 0x17 -+ ARPHRD_NETLINK = 0x338 -+ ARPHRD_NETROM = 0x0 -+ ARPHRD_NONE = 0xfffe -+ ARPHRD_PHONET = 0x334 -+ ARPHRD_PHONET_PIPE = 0x335 -+ ARPHRD_PIMREG = 0x30b -+ ARPHRD_PPP = 0x200 -+ ARPHRD_PRONET = 0x4 -+ ARPHRD_RAWHDLC = 0x206 -+ ARPHRD_RAWIP = 0x207 -+ ARPHRD_ROSE = 0x10e -+ ARPHRD_RSRVD = 0x104 -+ ARPHRD_SIT = 0x308 -+ ARPHRD_SKIP = 0x303 -+ ARPHRD_SLIP = 0x100 -+ ARPHRD_SLIP6 = 0x102 -+ ARPHRD_TUNNEL = 0x300 -+ ARPHRD_TUNNEL6 = 0x301 -+ ARPHRD_VOID = 0xffff -+ ARPHRD_VSOCKMON = 0x33a -+ ARPHRD_X25 = 0x10f -+ AUTOFS_SUPER_MAGIC = 0x187 -+ B0 = 0x0 -+ B1000000 = 0x1008 -+ B110 = 0x3 -+ B115200 = 0x1002 -+ B1152000 = 0x1009 -+ B1200 = 0x9 -+ B134 = 0x4 -+ B150 = 0x5 -+ B1500000 = 0x100a -+ B1800 = 0xa -+ B19200 = 0xe -+ B200 = 0x6 -+ B2000000 = 0x100b -+ B230400 = 0x1003 -+ B2400 = 0xb -+ B2500000 = 0x100c -+ B300 = 0x7 -+ B3000000 = 0x100d -+ B3500000 = 0x100e -+ B38400 = 0xf -+ B4000000 = 0x100f -+ B460800 = 0x1004 -+ B4800 = 0xc -+ B50 = 0x1 -+ B500000 = 0x1005 -+ B57600 = 0x1001 -+ B576000 = 0x1006 -+ B600 = 0x8 -+ B75 = 0x2 -+ B921600 = 0x1007 -+ B9600 = 0xd -+ BALLOON_KVM_MAGIC = 0x13661366 -+ BDEVFS_MAGIC = 0x62646576 -+ BINDERFS_SUPER_MAGIC = 0x6c6f6f70 -+ BINFMTFS_MAGIC = 0x42494e4d -+ BLKBSZGET = 0x80081270 -+ BLKBSZSET = 0x40081271 -+ BLKFLSBUF = 0x1261 -+ BLKFRAGET = 0x1265 -+ BLKFRASET = 0x1264 -+ BLKGETSIZE = 0x1260 -+ BLKGETSIZE64 = 0x80081272 -+ BLKPBSZGET = 0x127b -+ BLKRAGET = 0x1263 -+ BLKRASET = 0x1262 -+ BLKROGET = 0x125e -+ BLKROSET = 0x125d -+ BLKRRPART = 0x125f -+ BLKSECTGET = 0x1267 -+ BLKSECTSET = 0x1266 -+ BLKSSZGET = 0x1268 -+ BOTHER = 0x1000 -+ BPF_A = 0x10 -+ BPF_ABS = 0x20 -+ BPF_ADD = 0x0 -+ BPF_ALU = 0x4 -+ BPF_AND = 0x50 -+ BPF_B = 0x10 -+ BPF_DIV = 0x30 -+ BPF_FS_MAGIC = 0xcafe4a11 -+ BPF_H = 0x8 -+ BPF_IMM = 0x0 -+ BPF_IND = 0x40 -+ BPF_JA = 0x0 -+ BPF_JEQ = 0x10 -+ BPF_JGE = 0x30 -+ BPF_JGT = 0x20 -+ BPF_JMP = 0x5 -+ BPF_JSET = 0x40 -+ BPF_K = 0x0 -+ BPF_LD = 0x0 -+ BPF_LDX = 0x1 -+ BPF_LEN = 0x80 -+ BPF_LL_OFF = -0x200000 -+ BPF_LSH = 0x60 -+ BPF_MAJOR_VERSION = 0x1 -+ BPF_MAXINSNS = 0x1000 -+ BPF_MEM = 0x60 -+ BPF_MEMWORDS = 0x10 -+ BPF_MINOR_VERSION = 0x1 -+ BPF_MISC = 0x7 -+ BPF_MOD = 0x90 -+ BPF_MSH = 0xa0 -+ BPF_MUL = 0x20 -+ BPF_NEG = 0x80 -+ BPF_NET_OFF = -0x100000 -+ BPF_OR = 0x40 -+ BPF_RET = 0x6 -+ BPF_RSH = 0x70 -+ BPF_ST = 0x2 -+ BPF_STX = 0x3 -+ BPF_SUB = 0x10 -+ BPF_TAX = 0x0 -+ BPF_TXA = 0x80 -+ BPF_W = 0x0 -+ BPF_X = 0x8 -+ BPF_XOR = 0xa0 -+ BRKINT = 0x2 -+ BS0 = 0x0 -+ BS1 = 0x2000 -+ BSDLY = 0x2000 -+ BTRFS_SUPER_MAGIC = 0x9123683e -+ BTRFS_TEST_MAGIC = 0x73727279 -+ CAN_BCM = 0x2 -+ CAN_EFF_FLAG = 0x80000000 -+ CAN_EFF_ID_BITS = 0x1d -+ CAN_EFF_MASK = 0x1fffffff -+ CAN_ERR_FLAG = 0x20000000 -+ CAN_ERR_MASK = 0x1fffffff -+ CAN_INV_FILTER = 0x20000000 -+ CAN_ISOTP = 0x6 -+ CAN_MAX_DLC = 0x8 -+ CAN_MAX_DLEN = 0x8 -+ CAN_MCNET = 0x5 -+ CAN_MTU = 0x10 -+ CAN_NPROTO = 0x7 -+ CAN_RAW = 0x1 -+ CAN_RAW_FILTER_MAX = 0x200 -+ CAN_RTR_FLAG = 0x40000000 -+ CAN_SFF_ID_BITS = 0xb -+ CAN_SFF_MASK = 0x7ff -+ CAN_TP16 = 0x3 -+ CAN_TP20 = 0x4 -+ CBAUD = 0x100f -+ CBAUDEX = 0x1000 -+ CFLUSH = 0xf -+ CGROUP2_SUPER_MAGIC = 0x63677270 -+ CGROUP_SUPER_MAGIC = 0x27e0eb -+ CIBAUD = 0x100f0000 -+ CLOCAL = 0x800 -+ CLOCK_BOOTTIME = 0x7 -+ CLOCK_BOOTTIME_ALARM = 0x9 -+ CLOCK_DEFAULT = 0x0 -+ CLOCK_EXT = 0x1 -+ CLOCK_INT = 0x2 -+ CLOCK_MONOTONIC = 0x1 -+ CLOCK_MONOTONIC_COARSE = 0x6 -+ CLOCK_MONOTONIC_RAW = 0x4 -+ CLOCK_PROCESS_CPUTIME_ID = 0x2 -+ CLOCK_REALTIME = 0x0 -+ CLOCK_REALTIME_ALARM = 0x8 -+ CLOCK_REALTIME_COARSE = 0x5 -+ CLOCK_TAI = 0xb -+ CLOCK_THREAD_CPUTIME_ID = 0x3 -+ CLOCK_TXFROMRX = 0x4 -+ CLOCK_TXINT = 0x3 -+ CLONE_CHILD_CLEARTID = 0x200000 -+ CLONE_CHILD_SETTID = 0x1000000 -+ CLONE_DETACHED = 0x400000 -+ CLONE_FILES = 0x400 -+ CLONE_FS = 0x200 -+ CLONE_IO = 0x80000000 -+ CLONE_NEWCGROUP = 0x2000000 -+ CLONE_NEWIPC = 0x8000000 -+ CLONE_NEWNET = 0x40000000 -+ CLONE_NEWNS = 0x20000 -+ CLONE_NEWPID = 0x20000000 -+ CLONE_NEWUSER = 0x10000000 -+ CLONE_NEWUTS = 0x4000000 -+ CLONE_PARENT = 0x8000 -+ CLONE_PARENT_SETTID = 0x100000 -+ CLONE_PTRACE = 0x2000 -+ CLONE_SETTLS = 0x80000 -+ CLONE_SIGHAND = 0x800 -+ CLONE_SYSVSEM = 0x40000 -+ CLONE_THREAD = 0x10000 -+ CLONE_UNTRACED = 0x800000 -+ CLONE_VFORK = 0x4000 -+ CLONE_VM = 0x100 -+ CMSPAR = 0x40000000 -+ CODA_SUPER_MAGIC = 0x73757245 -+ CR0 = 0x0 -+ CR1 = 0x200 -+ CR2 = 0x400 -+ CR3 = 0x600 -+ CRAMFS_MAGIC = 0x28cd3d45 -+ CRDLY = 0x600 -+ CREAD = 0x80 -+ CRTSCTS = 0x80000000 -+ CRYPTO_MAX_NAME = 0x40 -+ CRYPTO_MSG_MAX = 0x15 -+ CRYPTO_NR_MSGTYPES = 0x6 -+ CRYPTO_REPORT_MAXSIZE = 0x160 -+ CS5 = 0x0 -+ CS6 = 0x10 -+ CS7 = 0x20 -+ CS8 = 0x30 -+ CSIGNAL = 0xff -+ CSIZE = 0x30 -+ CSTART = 0x11 -+ CSTATUS = 0x0 -+ CSTOP = 0x13 -+ CSTOPB = 0x40 -+ CSUSP = 0x1a -+ DAXFS_MAGIC = 0x64646178 -+ DEBUGFS_MAGIC = 0x64626720 -+ DEVPTS_SUPER_MAGIC = 0x1cd1 -+ DT_BLK = 0x6 -+ DT_CHR = 0x2 -+ DT_DIR = 0x4 -+ DT_FIFO = 0x1 -+ DT_LNK = 0xa -+ DT_REG = 0x8 -+ DT_SOCK = 0xc -+ DT_UNKNOWN = 0x0 -+ DT_WHT = 0xe -+ ECHO = 0x8 -+ ECHOCTL = 0x200 -+ ECHOE = 0x10 -+ ECHOK = 0x20 -+ ECHOKE = 0x800 -+ ECHONL = 0x40 -+ ECHOPRT = 0x400 -+ ECRYPTFS_SUPER_MAGIC = 0xf15f -+ EFD_CLOEXEC = 0x80000 -+ EFD_NONBLOCK = 0x800 -+ EFD_SEMAPHORE = 0x1 -+ EFIVARFS_MAGIC = 0xde5e81e4 -+ EFS_SUPER_MAGIC = 0x414a53 -+ ENCODING_DEFAULT = 0x0 -+ ENCODING_FM_MARK = 0x3 -+ ENCODING_FM_SPACE = 0x4 -+ ENCODING_MANCHESTER = 0x5 -+ ENCODING_NRZ = 0x1 -+ ENCODING_NRZI = 0x2 -+ EPOLLERR = 0x8 -+ EPOLLET = 0x80000000 -+ EPOLLEXCLUSIVE = 0x10000000 -+ EPOLLHUP = 0x10 -+ EPOLLIN = 0x1 -+ EPOLLMSG = 0x400 -+ EPOLLONESHOT = 0x40000000 -+ EPOLLOUT = 0x4 -+ EPOLLPRI = 0x2 -+ EPOLLRDBAND = 0x80 -+ EPOLLRDHUP = 0x2000 -+ EPOLLRDNORM = 0x40 -+ EPOLLWAKEUP = 0x20000000 -+ EPOLLWRBAND = 0x200 -+ EPOLLWRNORM = 0x100 -+ EPOLL_CLOEXEC = 0x80000 -+ EPOLL_CTL_ADD = 0x1 -+ EPOLL_CTL_DEL = 0x2 -+ EPOLL_CTL_MOD = 0x3 -+ ETH_P_1588 = 0x88f7 -+ ETH_P_8021AD = 0x88a8 -+ ETH_P_8021AH = 0x88e7 -+ ETH_P_8021Q = 0x8100 -+ ETH_P_80221 = 0x8917 -+ ETH_P_802_2 = 0x4 -+ ETH_P_802_3 = 0x1 -+ ETH_P_802_3_MIN = 0x600 -+ ETH_P_802_EX1 = 0x88b5 -+ ETH_P_AARP = 0x80f3 -+ ETH_P_AF_IUCV = 0xfbfb -+ ETH_P_ALL = 0x3 -+ ETH_P_AOE = 0x88a2 -+ ETH_P_ARCNET = 0x1a -+ ETH_P_ARP = 0x806 -+ ETH_P_ATALK = 0x809b -+ ETH_P_ATMFATE = 0x8884 -+ ETH_P_ATMMPOA = 0x884c -+ ETH_P_AX25 = 0x2 -+ ETH_P_BATMAN = 0x4305 -+ ETH_P_BPQ = 0x8ff -+ ETH_P_CAIF = 0xf7 -+ ETH_P_CAN = 0xc -+ ETH_P_CANFD = 0xd -+ ETH_P_CONTROL = 0x16 -+ ETH_P_CUST = 0x6006 -+ ETH_P_DDCMP = 0x6 -+ ETH_P_DEC = 0x6000 -+ ETH_P_DIAG = 0x6005 -+ ETH_P_DNA_DL = 0x6001 -+ ETH_P_DNA_RC = 0x6002 -+ ETH_P_DNA_RT = 0x6003 -+ ETH_P_DSA = 0x1b -+ ETH_P_ECONET = 0x18 -+ ETH_P_EDSA = 0xdada -+ ETH_P_ERSPAN = 0x88be -+ ETH_P_ERSPAN2 = 0x22eb -+ ETH_P_FCOE = 0x8906 -+ ETH_P_FIP = 0x8914 -+ ETH_P_HDLC = 0x19 -+ ETH_P_HSR = 0x892f -+ ETH_P_IBOE = 0x8915 -+ ETH_P_IEEE802154 = 0xf6 -+ ETH_P_IEEEPUP = 0xa00 -+ ETH_P_IEEEPUPAT = 0xa01 -+ ETH_P_IFE = 0xed3e -+ ETH_P_IP = 0x800 -+ ETH_P_IPV6 = 0x86dd -+ ETH_P_IPX = 0x8137 -+ ETH_P_IRDA = 0x17 -+ ETH_P_LAT = 0x6004 -+ ETH_P_LINK_CTL = 0x886c -+ ETH_P_LOCALTALK = 0x9 -+ ETH_P_LOOP = 0x60 -+ ETH_P_LOOPBACK = 0x9000 -+ ETH_P_MACSEC = 0x88e5 -+ ETH_P_MAP = 0xf9 -+ ETH_P_MOBITEX = 0x15 -+ ETH_P_MPLS_MC = 0x8848 -+ ETH_P_MPLS_UC = 0x8847 -+ ETH_P_MVRP = 0x88f5 -+ ETH_P_NCSI = 0x88f8 -+ ETH_P_NSH = 0x894f -+ ETH_P_PAE = 0x888e -+ ETH_P_PAUSE = 0x8808 -+ ETH_P_PHONET = 0xf5 -+ ETH_P_PPPTALK = 0x10 -+ ETH_P_PPP_DISC = 0x8863 -+ ETH_P_PPP_MP = 0x8 -+ ETH_P_PPP_SES = 0x8864 -+ ETH_P_PREAUTH = 0x88c7 -+ ETH_P_PRP = 0x88fb -+ ETH_P_PUP = 0x200 -+ ETH_P_PUPAT = 0x201 -+ ETH_P_QINQ1 = 0x9100 -+ ETH_P_QINQ2 = 0x9200 -+ ETH_P_QINQ3 = 0x9300 -+ ETH_P_RARP = 0x8035 -+ ETH_P_SCA = 0x6007 -+ ETH_P_SLOW = 0x8809 -+ ETH_P_SNAP = 0x5 -+ ETH_P_TDLS = 0x890d -+ ETH_P_TEB = 0x6558 -+ ETH_P_TIPC = 0x88ca -+ ETH_P_TRAILER = 0x1c -+ ETH_P_TR_802_2 = 0x11 -+ ETH_P_TSN = 0x22f0 -+ ETH_P_WAN_PPP = 0x7 -+ ETH_P_WCCP = 0x883e -+ ETH_P_X25 = 0x805 -+ ETH_P_XDSA = 0xf8 -+ EXABYTE_ENABLE_NEST = 0xf0 -+ EXT2_SUPER_MAGIC = 0xef53 -+ EXT3_SUPER_MAGIC = 0xef53 -+ EXT4_SUPER_MAGIC = 0xef53 -+ EXTA = 0xe -+ EXTB = 0xf -+ EXTPROC = 0x10000 -+ F2FS_SUPER_MAGIC = 0xf2f52010 -+ FALLOC_FL_COLLAPSE_RANGE = 0x8 -+ FALLOC_FL_INSERT_RANGE = 0x20 -+ FALLOC_FL_KEEP_SIZE = 0x1 -+ FALLOC_FL_NO_HIDE_STALE = 0x4 -+ FALLOC_FL_PUNCH_HOLE = 0x2 -+ FALLOC_FL_UNSHARE_RANGE = 0x40 -+ FALLOC_FL_ZERO_RANGE = 0x10 -+ FANOTIFY_METADATA_VERSION = 0x3 -+ FAN_ACCESS = 0x1 -+ FAN_ACCESS_PERM = 0x20000 -+ FAN_ALLOW = 0x1 -+ FAN_ALL_CLASS_BITS = 0xc -+ FAN_ALL_EVENTS = 0x3b -+ FAN_ALL_INIT_FLAGS = 0x3f -+ FAN_ALL_MARK_FLAGS = 0xff -+ FAN_ALL_OUTGOING_EVENTS = 0x3403b -+ FAN_ALL_PERM_EVENTS = 0x30000 -+ FAN_AUDIT = 0x10 -+ FAN_CLASS_CONTENT = 0x4 -+ FAN_CLASS_NOTIF = 0x0 -+ FAN_CLASS_PRE_CONTENT = 0x8 -+ FAN_CLOEXEC = 0x1 -+ FAN_CLOSE = 0x18 -+ FAN_CLOSE_NOWRITE = 0x10 -+ FAN_CLOSE_WRITE = 0x8 -+ FAN_DENY = 0x2 -+ FAN_ENABLE_AUDIT = 0x40 -+ FAN_EVENT_METADATA_LEN = 0x18 -+ FAN_EVENT_ON_CHILD = 0x8000000 -+ FAN_MARK_ADD = 0x1 -+ FAN_MARK_DONT_FOLLOW = 0x4 -+ FAN_MARK_FILESYSTEM = 0x100 -+ FAN_MARK_FLUSH = 0x80 -+ FAN_MARK_IGNORED_MASK = 0x20 -+ FAN_MARK_IGNORED_SURV_MODIFY = 0x40 -+ FAN_MARK_INODE = 0x0 -+ FAN_MARK_MOUNT = 0x10 -+ FAN_MARK_ONLYDIR = 0x8 -+ FAN_MARK_REMOVE = 0x2 -+ FAN_MODIFY = 0x2 -+ FAN_NOFD = -0x1 -+ FAN_NONBLOCK = 0x2 -+ FAN_ONDIR = 0x40000000 -+ FAN_OPEN = 0x20 -+ FAN_OPEN_EXEC = 0x1000 -+ FAN_OPEN_EXEC_PERM = 0x40000 -+ FAN_OPEN_PERM = 0x10000 -+ FAN_Q_OVERFLOW = 0x4000 -+ FAN_REPORT_TID = 0x100 -+ FAN_UNLIMITED_MARKS = 0x20 -+ FAN_UNLIMITED_QUEUE = 0x10 -+ FD_CLOEXEC = 0x1 -+ FD_SETSIZE = 0x400 -+ FF0 = 0x0 -+ FF1 = 0x8000 -+ FFDLY = 0x8000 -+ FLUSHO = 0x1000 -+ FS_ENCRYPTION_MODE_ADIANTUM = 0x9 -+ FS_ENCRYPTION_MODE_AES_128_CBC = 0x5 -+ FS_ENCRYPTION_MODE_AES_128_CTS = 0x6 -+ FS_ENCRYPTION_MODE_AES_256_CBC = 0x3 -+ FS_ENCRYPTION_MODE_AES_256_CTS = 0x4 -+ FS_ENCRYPTION_MODE_AES_256_GCM = 0x2 -+ FS_ENCRYPTION_MODE_AES_256_XTS = 0x1 -+ FS_ENCRYPTION_MODE_INVALID = 0x0 -+ FS_ENCRYPTION_MODE_SPECK128_256_CTS = 0x8 -+ FS_ENCRYPTION_MODE_SPECK128_256_XTS = 0x7 -+ FS_IOC_GET_ENCRYPTION_POLICY = 0x400c6615 -+ FS_IOC_GET_ENCRYPTION_PWSALT = 0x40106614 -+ FS_IOC_SET_ENCRYPTION_POLICY = 0x800c6613 -+ FS_KEY_DESCRIPTOR_SIZE = 0x8 -+ FS_KEY_DESC_PREFIX = "fscrypt:" -+ FS_KEY_DESC_PREFIX_SIZE = 0x8 -+ FS_MAX_KEY_SIZE = 0x40 -+ FS_POLICY_FLAGS_PAD_16 = 0x2 -+ FS_POLICY_FLAGS_PAD_32 = 0x3 -+ FS_POLICY_FLAGS_PAD_4 = 0x0 -+ FS_POLICY_FLAGS_PAD_8 = 0x1 -+ FS_POLICY_FLAGS_PAD_MASK = 0x3 -+ FS_POLICY_FLAGS_VALID = 0x7 -+ FUTEXFS_SUPER_MAGIC = 0xbad1dea -+ F_ADD_SEALS = 0x409 -+ F_DUPFD = 0x0 -+ F_DUPFD_CLOEXEC = 0x406 -+ F_EXLCK = 0x4 -+ F_GETFD = 0x1 -+ F_GETFL = 0x3 -+ F_GETLEASE = 0x401 -+ F_GETLK = 0x5 -+ F_GETLK64 = 0x5 -+ F_GETOWN = 0x9 -+ F_GETOWN_EX = 0x10 -+ F_GETPIPE_SZ = 0x408 -+ F_GETSIG = 0xb -+ F_GET_FILE_RW_HINT = 0x40d -+ F_GET_RW_HINT = 0x40b -+ F_GET_SEALS = 0x40a -+ F_LOCK = 0x1 -+ F_NOTIFY = 0x402 -+ F_OFD_GETLK = 0x24 -+ F_OFD_SETLK = 0x25 -+ F_OFD_SETLKW = 0x26 -+ F_OK = 0x0 -+ F_RDLCK = 0x0 -+ F_SEAL_GROW = 0x4 -+ F_SEAL_SEAL = 0x1 -+ F_SEAL_SHRINK = 0x2 -+ F_SEAL_WRITE = 0x8 -+ F_SETFD = 0x2 -+ F_SETFL = 0x4 -+ F_SETLEASE = 0x400 -+ F_SETLK = 0x6 -+ F_SETLK64 = 0x6 -+ F_SETLKW = 0x7 -+ F_SETLKW64 = 0x7 -+ F_SETOWN = 0x8 -+ F_SETOWN_EX = 0xf -+ F_SETPIPE_SZ = 0x407 -+ F_SETSIG = 0xa -+ F_SET_FILE_RW_HINT = 0x40e -+ F_SET_RW_HINT = 0x40c -+ F_SHLCK = 0x8 -+ F_TEST = 0x3 -+ F_TLOCK = 0x2 -+ F_ULOCK = 0x0 -+ F_UNLCK = 0x2 -+ F_WRLCK = 0x1 -+ GENL_ADMIN_PERM = 0x1 -+ GENL_CMD_CAP_DO = 0x2 -+ GENL_CMD_CAP_DUMP = 0x4 -+ GENL_CMD_CAP_HASPOL = 0x8 -+ GENL_HDRLEN = 0x4 -+ GENL_ID_CTRL = 0x10 -+ GENL_ID_PMCRAID = 0x12 -+ GENL_ID_VFS_DQUOT = 0x11 -+ GENL_MAX_ID = 0x3ff -+ GENL_MIN_ID = 0x10 -+ GENL_NAMSIZ = 0x10 -+ GENL_START_ALLOC = 0x13 -+ GENL_UNS_ADMIN_PERM = 0x10 -+ GRND_NONBLOCK = 0x1 -+ GRND_RANDOM = 0x2 -+ HDIO_DRIVE_CMD = 0x31f -+ HDIO_DRIVE_CMD_AEB = 0x31e -+ HDIO_DRIVE_CMD_HDR_SIZE = 0x4 -+ HDIO_DRIVE_HOB_HDR_SIZE = 0x8 -+ HDIO_DRIVE_RESET = 0x31c -+ HDIO_DRIVE_TASK = 0x31e -+ HDIO_DRIVE_TASKFILE = 0x31d -+ HDIO_DRIVE_TASK_HDR_SIZE = 0x8 -+ HDIO_GETGEO = 0x301 -+ HDIO_GET_32BIT = 0x309 -+ HDIO_GET_ACOUSTIC = 0x30f -+ HDIO_GET_ADDRESS = 0x310 -+ HDIO_GET_BUSSTATE = 0x31a -+ HDIO_GET_DMA = 0x30b -+ HDIO_GET_IDENTITY = 0x30d -+ HDIO_GET_KEEPSETTINGS = 0x308 -+ HDIO_GET_MULTCOUNT = 0x304 -+ HDIO_GET_NICE = 0x30c -+ HDIO_GET_NOWERR = 0x30a -+ HDIO_GET_QDMA = 0x305 -+ HDIO_GET_UNMASKINTR = 0x302 -+ HDIO_GET_WCACHE = 0x30e -+ HDIO_OBSOLETE_IDENTITY = 0x307 -+ HDIO_SCAN_HWIF = 0x328 -+ HDIO_SET_32BIT = 0x324 -+ HDIO_SET_ACOUSTIC = 0x32c -+ HDIO_SET_ADDRESS = 0x32f -+ HDIO_SET_BUSSTATE = 0x32d -+ HDIO_SET_DMA = 0x326 -+ HDIO_SET_KEEPSETTINGS = 0x323 -+ HDIO_SET_MULTCOUNT = 0x321 -+ HDIO_SET_NICE = 0x329 -+ HDIO_SET_NOWERR = 0x325 -+ HDIO_SET_PIO_MODE = 0x327 -+ HDIO_SET_QDMA = 0x32e -+ HDIO_SET_UNMASKINTR = 0x322 -+ HDIO_SET_WCACHE = 0x32b -+ HDIO_SET_XFER = 0x306 -+ HDIO_TRISTATE_HWIF = 0x31b -+ HDIO_UNREGISTER_HWIF = 0x32a -+ HOSTFS_SUPER_MAGIC = 0xc0ffee -+ HPFS_SUPER_MAGIC = 0xf995e849 -+ HUGETLBFS_MAGIC = 0x958458f6 -+ HUPCL = 0x400 -+ IBSHIFT = 0x10 -+ ICANON = 0x2 -+ ICMPV6_FILTER = 0x1 -+ ICRNL = 0x100 -+ IEXTEN = 0x8000 -+ IFA_F_DADFAILED = 0x8 -+ IFA_F_DEPRECATED = 0x20 -+ IFA_F_HOMEADDRESS = 0x10 -+ IFA_F_MANAGETEMPADDR = 0x100 -+ IFA_F_MCAUTOJOIN = 0x400 -+ IFA_F_NODAD = 0x2 -+ IFA_F_NOPREFIXROUTE = 0x200 -+ IFA_F_OPTIMISTIC = 0x4 -+ IFA_F_PERMANENT = 0x80 -+ IFA_F_SECONDARY = 0x1 -+ IFA_F_STABLE_PRIVACY = 0x800 -+ IFA_F_TEMPORARY = 0x1 -+ IFA_F_TENTATIVE = 0x40 -+ IFA_MAX = 0xa -+ IFF_ALLMULTI = 0x200 -+ IFF_ATTACH_QUEUE = 0x200 -+ IFF_AUTOMEDIA = 0x4000 -+ IFF_BROADCAST = 0x2 -+ IFF_DEBUG = 0x4 -+ IFF_DETACH_QUEUE = 0x400 -+ IFF_DORMANT = 0x20000 -+ IFF_DYNAMIC = 0x8000 -+ IFF_ECHO = 0x40000 -+ IFF_LOOPBACK = 0x8 -+ IFF_LOWER_UP = 0x10000 -+ IFF_MASTER = 0x400 -+ IFF_MULTICAST = 0x1000 -+ IFF_MULTI_QUEUE = 0x100 -+ IFF_NAPI = 0x10 -+ IFF_NAPI_FRAGS = 0x20 -+ IFF_NOARP = 0x80 -+ IFF_NOFILTER = 0x1000 -+ IFF_NOTRAILERS = 0x20 -+ IFF_NO_PI = 0x1000 -+ IFF_ONE_QUEUE = 0x2000 -+ IFF_PERSIST = 0x800 -+ IFF_POINTOPOINT = 0x10 -+ IFF_PORTSEL = 0x2000 -+ IFF_PROMISC = 0x100 -+ IFF_RUNNING = 0x40 -+ IFF_SLAVE = 0x800 -+ IFF_TAP = 0x2 -+ IFF_TUN = 0x1 -+ IFF_TUN_EXCL = 0x8000 -+ IFF_UP = 0x1 -+ IFF_VNET_HDR = 0x4000 -+ IFF_VOLATILE = 0x70c5a -+ IFNAMSIZ = 0x10 -+ IGNBRK = 0x1 -+ IGNCR = 0x80 -+ IGNPAR = 0x4 -+ IMAXBEL = 0x2000 -+ INLCR = 0x40 -+ INPCK = 0x10 -+ IN_ACCESS = 0x1 -+ IN_ALL_EVENTS = 0xfff -+ IN_ATTRIB = 0x4 -+ IN_CLASSA_HOST = 0xffffff -+ IN_CLASSA_MAX = 0x80 -+ IN_CLASSA_NET = 0xff000000 -+ IN_CLASSA_NSHIFT = 0x18 -+ IN_CLASSB_HOST = 0xffff -+ IN_CLASSB_MAX = 0x10000 -+ IN_CLASSB_NET = 0xffff0000 -+ IN_CLASSB_NSHIFT = 0x10 -+ IN_CLASSC_HOST = 0xff -+ IN_CLASSC_NET = 0xffffff00 -+ IN_CLASSC_NSHIFT = 0x8 -+ IN_CLOEXEC = 0x80000 -+ IN_CLOSE = 0x18 -+ IN_CLOSE_NOWRITE = 0x10 -+ IN_CLOSE_WRITE = 0x8 -+ IN_CREATE = 0x100 -+ IN_DELETE = 0x200 -+ IN_DELETE_SELF = 0x400 -+ IN_DONT_FOLLOW = 0x2000000 -+ IN_EXCL_UNLINK = 0x4000000 -+ IN_IGNORED = 0x8000 -+ IN_ISDIR = 0x40000000 -+ IN_LOOPBACKNET = 0x7f -+ IN_MASK_ADD = 0x20000000 -+ IN_MASK_CREATE = 0x10000000 -+ IN_MODIFY = 0x2 -+ IN_MOVE = 0xc0 -+ IN_MOVED_FROM = 0x40 -+ IN_MOVED_TO = 0x80 -+ IN_MOVE_SELF = 0x800 -+ IN_NONBLOCK = 0x800 -+ IN_ONESHOT = 0x80000000 -+ IN_ONLYDIR = 0x1000000 -+ IN_OPEN = 0x20 -+ IN_Q_OVERFLOW = 0x4000 -+ IN_UNMOUNT = 0x2000 -+ IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x7b9 -+ IPPROTO_AH = 0x33 -+ IPPROTO_BEETPH = 0x5e -+ IPPROTO_COMP = 0x6c -+ IPPROTO_DCCP = 0x21 -+ IPPROTO_DSTOPTS = 0x3c -+ IPPROTO_EGP = 0x8 -+ IPPROTO_ENCAP = 0x62 -+ IPPROTO_ESP = 0x32 -+ IPPROTO_FRAGMENT = 0x2c -+ IPPROTO_GRE = 0x2f -+ IPPROTO_HOPOPTS = 0x0 -+ IPPROTO_ICMP = 0x1 -+ IPPROTO_ICMPV6 = 0x3a -+ IPPROTO_IDP = 0x16 -+ IPPROTO_IGMP = 0x2 -+ IPPROTO_IP = 0x0 -+ IPPROTO_IPIP = 0x4 -+ IPPROTO_IPV6 = 0x29 -+ IPPROTO_MH = 0x87 -+ IPPROTO_MPLS = 0x89 -+ IPPROTO_MTP = 0x5c -+ IPPROTO_NONE = 0x3b -+ IPPROTO_PIM = 0x67 -+ IPPROTO_PUP = 0xc -+ IPPROTO_RAW = 0xff -+ IPPROTO_ROUTING = 0x2b -+ IPPROTO_RSVP = 0x2e -+ IPPROTO_SCTP = 0x84 -+ IPPROTO_TCP = 0x6 -+ IPPROTO_TP = 0x1d -+ IPPROTO_UDP = 0x11 -+ IPPROTO_UDPLITE = 0x88 -+ IPV6_2292DSTOPTS = 0x4 -+ IPV6_2292HOPLIMIT = 0x8 -+ IPV6_2292HOPOPTS = 0x3 -+ IPV6_2292PKTINFO = 0x2 -+ IPV6_2292PKTOPTIONS = 0x6 -+ IPV6_2292RTHDR = 0x5 -+ IPV6_ADDRFORM = 0x1 -+ IPV6_ADDR_PREFERENCES = 0x48 -+ IPV6_ADD_MEMBERSHIP = 0x14 -+ IPV6_AUTHHDR = 0xa -+ IPV6_AUTOFLOWLABEL = 0x46 -+ IPV6_CHECKSUM = 0x7 -+ IPV6_DONTFRAG = 0x3e -+ IPV6_DROP_MEMBERSHIP = 0x15 -+ IPV6_DSTOPTS = 0x3b -+ IPV6_FREEBIND = 0x4e -+ IPV6_HDRINCL = 0x24 -+ IPV6_HOPLIMIT = 0x34 -+ IPV6_HOPOPTS = 0x36 -+ IPV6_IPSEC_POLICY = 0x22 -+ IPV6_JOIN_ANYCAST = 0x1b -+ IPV6_JOIN_GROUP = 0x14 -+ IPV6_LEAVE_ANYCAST = 0x1c -+ IPV6_LEAVE_GROUP = 0x15 -+ IPV6_MINHOPCOUNT = 0x49 -+ IPV6_MTU = 0x18 -+ IPV6_MTU_DISCOVER = 0x17 -+ IPV6_MULTICAST_ALL = 0x1d -+ IPV6_MULTICAST_HOPS = 0x12 -+ IPV6_MULTICAST_IF = 0x11 -+ IPV6_MULTICAST_LOOP = 0x13 -+ IPV6_NEXTHOP = 0x9 -+ IPV6_ORIGDSTADDR = 0x4a -+ IPV6_PATHMTU = 0x3d -+ IPV6_PKTINFO = 0x32 -+ IPV6_PMTUDISC_DO = 0x2 -+ IPV6_PMTUDISC_DONT = 0x0 -+ IPV6_PMTUDISC_INTERFACE = 0x4 -+ IPV6_PMTUDISC_OMIT = 0x5 -+ IPV6_PMTUDISC_PROBE = 0x3 -+ IPV6_PMTUDISC_WANT = 0x1 -+ IPV6_RECVDSTOPTS = 0x3a -+ IPV6_RECVERR = 0x19 -+ IPV6_RECVFRAGSIZE = 0x4d -+ IPV6_RECVHOPLIMIT = 0x33 -+ IPV6_RECVHOPOPTS = 0x35 -+ IPV6_RECVORIGDSTADDR = 0x4a -+ IPV6_RECVPATHMTU = 0x3c -+ IPV6_RECVPKTINFO = 0x31 -+ IPV6_RECVRTHDR = 0x38 -+ IPV6_RECVTCLASS = 0x42 -+ IPV6_ROUTER_ALERT = 0x16 -+ IPV6_RTHDR = 0x39 -+ IPV6_RTHDRDSTOPTS = 0x37 -+ IPV6_RTHDR_LOOSE = 0x0 -+ IPV6_RTHDR_STRICT = 0x1 -+ IPV6_RTHDR_TYPE_0 = 0x0 -+ IPV6_RXDSTOPTS = 0x3b -+ IPV6_RXHOPOPTS = 0x36 -+ IPV6_TCLASS = 0x43 -+ IPV6_TRANSPARENT = 0x4b -+ IPV6_UNICAST_HOPS = 0x10 -+ IPV6_UNICAST_IF = 0x4c -+ IPV6_V6ONLY = 0x1a -+ IPV6_XFRM_POLICY = 0x23 -+ IP_ADD_MEMBERSHIP = 0x23 -+ IP_ADD_SOURCE_MEMBERSHIP = 0x27 -+ IP_BIND_ADDRESS_NO_PORT = 0x18 -+ IP_BLOCK_SOURCE = 0x26 -+ IP_CHECKSUM = 0x17 -+ IP_DEFAULT_MULTICAST_LOOP = 0x1 -+ IP_DEFAULT_MULTICAST_TTL = 0x1 -+ IP_DF = 0x4000 -+ IP_DROP_MEMBERSHIP = 0x24 -+ IP_DROP_SOURCE_MEMBERSHIP = 0x28 -+ IP_FREEBIND = 0xf -+ IP_HDRINCL = 0x3 -+ IP_IPSEC_POLICY = 0x10 -+ IP_MAXPACKET = 0xffff -+ IP_MAX_MEMBERSHIPS = 0x14 -+ IP_MF = 0x2000 -+ IP_MINTTL = 0x15 -+ IP_MSFILTER = 0x29 -+ IP_MSS = 0x240 -+ IP_MTU = 0xe -+ IP_MTU_DISCOVER = 0xa -+ IP_MULTICAST_ALL = 0x31 -+ IP_MULTICAST_IF = 0x20 -+ IP_MULTICAST_LOOP = 0x22 -+ IP_MULTICAST_TTL = 0x21 -+ IP_NODEFRAG = 0x16 -+ IP_OFFMASK = 0x1fff -+ IP_OPTIONS = 0x4 -+ IP_ORIGDSTADDR = 0x14 -+ IP_PASSSEC = 0x12 -+ IP_PKTINFO = 0x8 -+ IP_PKTOPTIONS = 0x9 -+ IP_PMTUDISC = 0xa -+ IP_PMTUDISC_DO = 0x2 -+ IP_PMTUDISC_DONT = 0x0 -+ IP_PMTUDISC_INTERFACE = 0x4 -+ IP_PMTUDISC_OMIT = 0x5 -+ IP_PMTUDISC_PROBE = 0x3 -+ IP_PMTUDISC_WANT = 0x1 -+ IP_RECVERR = 0xb -+ IP_RECVFRAGSIZE = 0x19 -+ IP_RECVOPTS = 0x6 -+ IP_RECVORIGDSTADDR = 0x14 -+ IP_RECVRETOPTS = 0x7 -+ IP_RECVTOS = 0xd -+ IP_RECVTTL = 0xc -+ IP_RETOPTS = 0x7 -+ IP_RF = 0x8000 -+ IP_ROUTER_ALERT = 0x5 -+ IP_TOS = 0x1 -+ IP_TRANSPARENT = 0x13 -+ IP_TTL = 0x2 -+ IP_UNBLOCK_SOURCE = 0x25 -+ IP_UNICAST_IF = 0x32 -+ IP_XFRM_POLICY = 0x11 -+ ISIG = 0x1 -+ ISOFS_SUPER_MAGIC = 0x9660 -+ ISTRIP = 0x20 -+ IUCLC = 0x200 -+ IUTF8 = 0x4000 -+ IXANY = 0x800 -+ IXOFF = 0x1000 -+ IXON = 0x400 -+ JFFS2_SUPER_MAGIC = 0x72b6 -+ KEXEC_ARCH_386 = 0x30000 -+ KEXEC_ARCH_68K = 0x40000 -+ KEXEC_ARCH_AARCH64 = 0xb70000 -+ KEXEC_ARCH_ARM = 0x280000 -+ KEXEC_ARCH_DEFAULT = 0x0 -+ KEXEC_ARCH_IA_64 = 0x320000 -+ KEXEC_ARCH_MASK = 0xffff0000 -+ KEXEC_ARCH_MIPS = 0x80000 -+ KEXEC_ARCH_MIPS_LE = 0xa0000 -+ KEXEC_ARCH_PPC = 0x140000 -+ KEXEC_ARCH_PPC64 = 0x150000 -+ KEXEC_ARCH_S390 = 0x160000 -+ KEXEC_ARCH_SH = 0x2a0000 -+ KEXEC_ARCH_X86_64 = 0x3e0000 -+ KEXEC_FILE_NO_INITRAMFS = 0x4 -+ KEXEC_FILE_ON_CRASH = 0x2 -+ KEXEC_FILE_UNLOAD = 0x1 -+ KEXEC_ON_CRASH = 0x1 -+ KEXEC_PRESERVE_CONTEXT = 0x2 -+ KEXEC_SEGMENT_MAX = 0x10 -+ KEYCTL_ASSUME_AUTHORITY = 0x10 -+ KEYCTL_CHOWN = 0x4 -+ KEYCTL_CLEAR = 0x7 -+ KEYCTL_DESCRIBE = 0x6 -+ KEYCTL_DH_COMPUTE = 0x17 -+ KEYCTL_GET_KEYRING_ID = 0x0 -+ KEYCTL_GET_PERSISTENT = 0x16 -+ KEYCTL_GET_SECURITY = 0x11 -+ KEYCTL_INSTANTIATE = 0xc -+ KEYCTL_INSTANTIATE_IOV = 0x14 -+ KEYCTL_INVALIDATE = 0x15 -+ KEYCTL_JOIN_SESSION_KEYRING = 0x1 -+ KEYCTL_LINK = 0x8 -+ KEYCTL_NEGATE = 0xd -+ KEYCTL_PKEY_DECRYPT = 0x1a -+ KEYCTL_PKEY_ENCRYPT = 0x19 -+ KEYCTL_PKEY_QUERY = 0x18 -+ KEYCTL_PKEY_SIGN = 0x1b -+ KEYCTL_PKEY_VERIFY = 0x1c -+ KEYCTL_READ = 0xb -+ KEYCTL_REJECT = 0x13 -+ KEYCTL_RESTRICT_KEYRING = 0x1d -+ KEYCTL_REVOKE = 0x3 -+ KEYCTL_SEARCH = 0xa -+ KEYCTL_SESSION_TO_PARENT = 0x12 -+ KEYCTL_SETPERM = 0x5 -+ KEYCTL_SET_REQKEY_KEYRING = 0xe -+ KEYCTL_SET_TIMEOUT = 0xf -+ KEYCTL_SUPPORTS_DECRYPT = 0x2 -+ KEYCTL_SUPPORTS_ENCRYPT = 0x1 -+ KEYCTL_SUPPORTS_SIGN = 0x4 -+ KEYCTL_SUPPORTS_VERIFY = 0x8 -+ KEYCTL_UNLINK = 0x9 -+ KEYCTL_UPDATE = 0x2 -+ KEY_REQKEY_DEFL_DEFAULT = 0x0 -+ KEY_REQKEY_DEFL_GROUP_KEYRING = 0x6 -+ KEY_REQKEY_DEFL_NO_CHANGE = -0x1 -+ KEY_REQKEY_DEFL_PROCESS_KEYRING = 0x2 -+ KEY_REQKEY_DEFL_REQUESTOR_KEYRING = 0x7 -+ KEY_REQKEY_DEFL_SESSION_KEYRING = 0x3 -+ KEY_REQKEY_DEFL_THREAD_KEYRING = 0x1 -+ KEY_REQKEY_DEFL_USER_KEYRING = 0x4 -+ KEY_REQKEY_DEFL_USER_SESSION_KEYRING = 0x5 -+ KEY_SPEC_GROUP_KEYRING = -0x6 -+ KEY_SPEC_PROCESS_KEYRING = -0x2 -+ KEY_SPEC_REQKEY_AUTH_KEY = -0x7 -+ KEY_SPEC_REQUESTOR_KEYRING = -0x8 -+ KEY_SPEC_SESSION_KEYRING = -0x3 -+ KEY_SPEC_THREAD_KEYRING = -0x1 -+ KEY_SPEC_USER_KEYRING = -0x4 -+ KEY_SPEC_USER_SESSION_KEYRING = -0x5 -+ LINUX_REBOOT_CMD_CAD_OFF = 0x0 -+ LINUX_REBOOT_CMD_CAD_ON = 0x89abcdef -+ LINUX_REBOOT_CMD_HALT = 0xcdef0123 -+ LINUX_REBOOT_CMD_KEXEC = 0x45584543 -+ LINUX_REBOOT_CMD_POWER_OFF = 0x4321fedc -+ LINUX_REBOOT_CMD_RESTART = 0x1234567 -+ LINUX_REBOOT_CMD_RESTART2 = 0xa1b2c3d4 -+ LINUX_REBOOT_CMD_SW_SUSPEND = 0xd000fce2 -+ LINUX_REBOOT_MAGIC1 = 0xfee1dead -+ LINUX_REBOOT_MAGIC2 = 0x28121969 -+ LOCK_EX = 0x2 -+ LOCK_NB = 0x4 -+ LOCK_SH = 0x1 -+ LOCK_UN = 0x8 -+ MADV_DODUMP = 0x11 -+ MADV_DOFORK = 0xb -+ MADV_DONTDUMP = 0x10 -+ MADV_DONTFORK = 0xa -+ MADV_DONTNEED = 0x4 -+ MADV_FREE = 0x8 -+ MADV_HUGEPAGE = 0xe -+ MADV_HWPOISON = 0x64 -+ MADV_KEEPONFORK = 0x13 -+ MADV_MERGEABLE = 0xc -+ MADV_NOHUGEPAGE = 0xf -+ MADV_NORMAL = 0x0 -+ MADV_RANDOM = 0x1 -+ MADV_REMOVE = 0x9 -+ MADV_SEQUENTIAL = 0x2 -+ MADV_UNMERGEABLE = 0xd -+ MADV_WILLNEED = 0x3 -+ MADV_WIPEONFORK = 0x12 -+ MAP_ANON = 0x20 -+ MAP_ANONYMOUS = 0x20 -+ MAP_DENYWRITE = 0x800 -+ MAP_EXECUTABLE = 0x1000 -+ MAP_FILE = 0x0 -+ MAP_FIXED = 0x10 -+ MAP_FIXED_NOREPLACE = 0x100000 -+ MAP_GROWSDOWN = 0x100 -+ MAP_HUGETLB = 0x40000 -+ MAP_HUGE_MASK = 0x3f -+ MAP_HUGE_SHIFT = 0x1a -+ MAP_LOCKED = 0x2000 -+ MAP_NONBLOCK = 0x10000 -+ MAP_NORESERVE = 0x4000 -+ MAP_POPULATE = 0x8000 -+ MAP_PRIVATE = 0x2 -+ MAP_SHARED = 0x1 -+ MAP_SHARED_VALIDATE = 0x3 -+ MAP_STACK = 0x20000 -+ MAP_SYNC = 0x80000 -+ MAP_TYPE = 0xf -+ MCL_CURRENT = 0x1 -+ MCL_FUTURE = 0x2 -+ MCL_ONFAULT = 0x4 -+ MFD_ALLOW_SEALING = 0x2 -+ MFD_CLOEXEC = 0x1 -+ MFD_HUGETLB = 0x4 -+ MFD_HUGE_16GB = -0x78000000 -+ MFD_HUGE_16MB = 0x60000000 -+ MFD_HUGE_1GB = 0x78000000 -+ MFD_HUGE_1MB = 0x50000000 -+ MFD_HUGE_256MB = 0x70000000 -+ MFD_HUGE_2GB = 0x7c000000 -+ MFD_HUGE_2MB = 0x54000000 -+ MFD_HUGE_32MB = 0x64000000 -+ MFD_HUGE_512KB = 0x4c000000 -+ MFD_HUGE_512MB = 0x74000000 -+ MFD_HUGE_64KB = 0x40000000 -+ MFD_HUGE_8MB = 0x5c000000 -+ MFD_HUGE_MASK = 0x3f -+ MFD_HUGE_SHIFT = 0x1a -+ MINIX2_SUPER_MAGIC = 0x2468 -+ MINIX2_SUPER_MAGIC2 = 0x2478 -+ MINIX3_SUPER_MAGIC = 0x4d5a -+ MINIX_SUPER_MAGIC = 0x137f -+ MINIX_SUPER_MAGIC2 = 0x138f -+ MNT_DETACH = 0x2 -+ MNT_EXPIRE = 0x4 -+ MNT_FORCE = 0x1 -+ MODULE_INIT_IGNORE_MODVERSIONS = 0x1 -+ MODULE_INIT_IGNORE_VERMAGIC = 0x2 -+ MSDOS_SUPER_MAGIC = 0x4d44 -+ MSG_BATCH = 0x40000 -+ MSG_CMSG_CLOEXEC = 0x40000000 -+ MSG_CONFIRM = 0x800 -+ MSG_CTRUNC = 0x8 -+ MSG_DONTROUTE = 0x4 -+ MSG_DONTWAIT = 0x40 -+ MSG_EOR = 0x80 -+ MSG_ERRQUEUE = 0x2000 -+ MSG_FASTOPEN = 0x20000000 -+ MSG_FIN = 0x200 -+ MSG_MORE = 0x8000 -+ MSG_NOSIGNAL = 0x4000 -+ MSG_OOB = 0x1 -+ MSG_PEEK = 0x2 -+ MSG_PROXY = 0x10 -+ MSG_RST = 0x1000 -+ MSG_SYN = 0x400 -+ MSG_TRUNC = 0x20 -+ MSG_TRYHARD = 0x4 -+ MSG_WAITALL = 0x100 -+ MSG_WAITFORONE = 0x10000 -+ MSG_ZEROCOPY = 0x4000000 -+ MS_ACTIVE = 0x40000000 -+ MS_ASYNC = 0x1 -+ MS_BIND = 0x1000 -+ MS_BORN = 0x20000000 -+ MS_DIRSYNC = 0x80 -+ MS_INVALIDATE = 0x2 -+ MS_I_VERSION = 0x800000 -+ MS_KERNMOUNT = 0x400000 -+ MS_LAZYTIME = 0x2000000 -+ MS_MANDLOCK = 0x40 -+ MS_MGC_MSK = 0xffff0000 -+ MS_MGC_VAL = 0xc0ed0000 -+ MS_MOVE = 0x2000 -+ MS_NOATIME = 0x400 -+ MS_NODEV = 0x4 -+ MS_NODIRATIME = 0x800 -+ MS_NOEXEC = 0x8 -+ MS_NOREMOTELOCK = 0x8000000 -+ MS_NOSEC = 0x10000000 -+ MS_NOSUID = 0x2 -+ MS_NOUSER = -0x80000000 -+ MS_POSIXACL = 0x10000 -+ MS_PRIVATE = 0x40000 -+ MS_RDONLY = 0x1 -+ MS_REC = 0x4000 -+ MS_RELATIME = 0x200000 -+ MS_REMOUNT = 0x20 -+ MS_RMT_MASK = 0x2800051 -+ MS_SHARED = 0x100000 -+ MS_SILENT = 0x8000 -+ MS_SLAVE = 0x80000 -+ MS_STRICTATIME = 0x1000000 -+ MS_SUBMOUNT = 0x4000000 -+ MS_SYNC = 0x4 -+ MS_SYNCHRONOUS = 0x10 -+ MS_UNBINDABLE = 0x20000 -+ MS_VERBOSE = 0x8000 -+ MTD_INODE_FS_MAGIC = 0x11307854 -+ NAME_MAX = 0xff -+ NCP_SUPER_MAGIC = 0x564c -+ NETLINK_ADD_MEMBERSHIP = 0x1 -+ NETLINK_AUDIT = 0x9 -+ NETLINK_BROADCAST_ERROR = 0x4 -+ NETLINK_CAP_ACK = 0xa -+ NETLINK_CONNECTOR = 0xb -+ NETLINK_CRYPTO = 0x15 -+ NETLINK_DNRTMSG = 0xe -+ NETLINK_DROP_MEMBERSHIP = 0x2 -+ NETLINK_ECRYPTFS = 0x13 -+ NETLINK_EXT_ACK = 0xb -+ NETLINK_FIB_LOOKUP = 0xa -+ NETLINK_FIREWALL = 0x3 -+ NETLINK_GENERIC = 0x10 -+ NETLINK_GET_STRICT_CHK = 0xc -+ NETLINK_INET_DIAG = 0x4 -+ NETLINK_IP6_FW = 0xd -+ NETLINK_ISCSI = 0x8 -+ NETLINK_KOBJECT_UEVENT = 0xf -+ NETLINK_LISTEN_ALL_NSID = 0x8 -+ NETLINK_LIST_MEMBERSHIPS = 0x9 -+ NETLINK_NETFILTER = 0xc -+ NETLINK_NFLOG = 0x5 -+ NETLINK_NO_ENOBUFS = 0x5 -+ NETLINK_PKTINFO = 0x3 -+ NETLINK_RDMA = 0x14 -+ NETLINK_ROUTE = 0x0 -+ NETLINK_RX_RING = 0x6 -+ NETLINK_SCSITRANSPORT = 0x12 -+ NETLINK_SELINUX = 0x7 -+ NETLINK_SMC = 0x16 -+ NETLINK_SOCK_DIAG = 0x4 -+ NETLINK_TX_RING = 0x7 -+ NETLINK_UNUSED = 0x1 -+ NETLINK_USERSOCK = 0x2 -+ NETLINK_XFRM = 0x6 -+ NETNSA_MAX = 0x5 -+ NETNSA_NSID_NOT_ASSIGNED = -0x1 -+ NFNETLINK_V0 = 0x0 -+ NFNLGRP_ACCT_QUOTA = 0x8 -+ NFNLGRP_CONNTRACK_DESTROY = 0x3 -+ NFNLGRP_CONNTRACK_EXP_DESTROY = 0x6 -+ NFNLGRP_CONNTRACK_EXP_NEW = 0x4 -+ NFNLGRP_CONNTRACK_EXP_UPDATE = 0x5 -+ NFNLGRP_CONNTRACK_NEW = 0x1 -+ NFNLGRP_CONNTRACK_UPDATE = 0x2 -+ NFNLGRP_MAX = 0x9 -+ NFNLGRP_NFTABLES = 0x7 -+ NFNLGRP_NFTRACE = 0x9 -+ NFNLGRP_NONE = 0x0 -+ NFNL_BATCH_MAX = 0x1 -+ NFNL_MSG_BATCH_BEGIN = 0x10 -+ NFNL_MSG_BATCH_END = 0x11 -+ NFNL_NFA_NEST = 0x8000 -+ NFNL_SUBSYS_ACCT = 0x7 -+ NFNL_SUBSYS_COUNT = 0xc -+ NFNL_SUBSYS_CTHELPER = 0x9 -+ NFNL_SUBSYS_CTNETLINK = 0x1 -+ NFNL_SUBSYS_CTNETLINK_EXP = 0x2 -+ NFNL_SUBSYS_CTNETLINK_TIMEOUT = 0x8 -+ NFNL_SUBSYS_IPSET = 0x6 -+ NFNL_SUBSYS_NFTABLES = 0xa -+ NFNL_SUBSYS_NFT_COMPAT = 0xb -+ NFNL_SUBSYS_NONE = 0x0 -+ NFNL_SUBSYS_OSF = 0x5 -+ NFNL_SUBSYS_QUEUE = 0x3 -+ NFNL_SUBSYS_ULOG = 0x4 -+ NFS_SUPER_MAGIC = 0x6969 -+ NILFS_SUPER_MAGIC = 0x3434 -+ NL0 = 0x0 -+ NL1 = 0x100 -+ NLA_ALIGNTO = 0x4 -+ NLA_F_NESTED = 0x8000 -+ NLA_F_NET_BYTEORDER = 0x4000 -+ NLA_HDRLEN = 0x4 -+ NLDLY = 0x100 -+ NLMSG_ALIGNTO = 0x4 -+ NLMSG_DONE = 0x3 -+ NLMSG_ERROR = 0x2 -+ NLMSG_HDRLEN = 0x10 -+ NLMSG_MIN_TYPE = 0x10 -+ NLMSG_NOOP = 0x1 -+ NLMSG_OVERRUN = 0x4 -+ NLM_F_ACK = 0x4 -+ NLM_F_ACK_TLVS = 0x200 -+ NLM_F_APPEND = 0x800 -+ NLM_F_ATOMIC = 0x400 -+ NLM_F_CAPPED = 0x100 -+ NLM_F_CREATE = 0x400 -+ NLM_F_DUMP = 0x300 -+ NLM_F_DUMP_FILTERED = 0x20 -+ NLM_F_DUMP_INTR = 0x10 -+ NLM_F_ECHO = 0x8 -+ NLM_F_EXCL = 0x200 -+ NLM_F_MATCH = 0x200 -+ NLM_F_MULTI = 0x2 -+ NLM_F_NONREC = 0x100 -+ NLM_F_REPLACE = 0x100 -+ NLM_F_REQUEST = 0x1 -+ NLM_F_ROOT = 0x100 -+ NOFLSH = 0x80 -+ NSFS_MAGIC = 0x6e736673 -+ OCFS2_SUPER_MAGIC = 0x7461636f -+ OCRNL = 0x8 -+ OFDEL = 0x80 -+ OFILL = 0x40 -+ OLCUC = 0x2 -+ ONLCR = 0x4 -+ ONLRET = 0x20 -+ ONOCR = 0x10 -+ OPENPROM_SUPER_MAGIC = 0x9fa1 -+ OPOST = 0x1 -+ OVERLAYFS_SUPER_MAGIC = 0x794c7630 -+ O_ACCMODE = 0x3 -+ O_APPEND = 0x400 -+ O_ASYNC = 0x2000 -+ O_CLOEXEC = 0x80000 -+ O_CREAT = 0x40 -+ O_DIRECT = 0x4000 -+ O_DIRECTORY = 0x10000 -+ O_DSYNC = 0x1000 -+ O_EXCL = 0x80 -+ O_FSYNC = 0x101000 -+ O_LARGEFILE = 0x0 -+ O_NDELAY = 0x800 -+ O_NOATIME = 0x40000 -+ O_NOCTTY = 0x100 -+ O_NOFOLLOW = 0x20000 -+ O_NONBLOCK = 0x800 -+ O_PATH = 0x200000 -+ O_RDONLY = 0x0 -+ O_RDWR = 0x2 -+ O_RSYNC = 0x101000 -+ O_SYNC = 0x101000 -+ O_TMPFILE = 0x410000 -+ O_TRUNC = 0x200 -+ O_WRONLY = 0x1 -+ PACKET_ADD_MEMBERSHIP = 0x1 -+ PACKET_AUXDATA = 0x8 -+ PACKET_BROADCAST = 0x1 -+ PACKET_COPY_THRESH = 0x7 -+ PACKET_DROP_MEMBERSHIP = 0x2 -+ PACKET_FANOUT = 0x12 -+ PACKET_FANOUT_CBPF = 0x6 -+ PACKET_FANOUT_CPU = 0x2 -+ PACKET_FANOUT_DATA = 0x16 -+ PACKET_FANOUT_EBPF = 0x7 -+ PACKET_FANOUT_FLAG_DEFRAG = 0x8000 -+ PACKET_FANOUT_FLAG_ROLLOVER = 0x1000 -+ PACKET_FANOUT_FLAG_UNIQUEID = 0x2000 -+ PACKET_FANOUT_HASH = 0x0 -+ PACKET_FANOUT_LB = 0x1 -+ PACKET_FANOUT_QM = 0x5 -+ PACKET_FANOUT_RND = 0x4 -+ PACKET_FANOUT_ROLLOVER = 0x3 -+ PACKET_FASTROUTE = 0x6 -+ PACKET_HDRLEN = 0xb -+ PACKET_HOST = 0x0 -+ PACKET_IGNORE_OUTGOING = 0x17 -+ PACKET_KERNEL = 0x7 -+ PACKET_LOOPBACK = 0x5 -+ PACKET_LOSS = 0xe -+ PACKET_MR_ALLMULTI = 0x2 -+ PACKET_MR_MULTICAST = 0x0 -+ PACKET_MR_PROMISC = 0x1 -+ PACKET_MR_UNICAST = 0x3 -+ PACKET_MULTICAST = 0x2 -+ PACKET_ORIGDEV = 0x9 -+ PACKET_OTHERHOST = 0x3 -+ PACKET_OUTGOING = 0x4 -+ PACKET_QDISC_BYPASS = 0x14 -+ PACKET_RECV_OUTPUT = 0x3 -+ PACKET_RESERVE = 0xc -+ PACKET_ROLLOVER_STATS = 0x15 -+ PACKET_RX_RING = 0x5 -+ PACKET_STATISTICS = 0x6 -+ PACKET_TIMESTAMP = 0x11 -+ PACKET_TX_HAS_OFF = 0x13 -+ PACKET_TX_RING = 0xd -+ PACKET_TX_TIMESTAMP = 0x10 -+ PACKET_USER = 0x6 -+ PACKET_VERSION = 0xa -+ PACKET_VNET_HDR = 0xf -+ PARENB = 0x100 -+ PARITY_CRC16_PR0 = 0x2 -+ PARITY_CRC16_PR0_CCITT = 0x4 -+ PARITY_CRC16_PR1 = 0x3 -+ PARITY_CRC16_PR1_CCITT = 0x5 -+ PARITY_CRC32_PR0_CCITT = 0x6 -+ PARITY_CRC32_PR1_CCITT = 0x7 -+ PARITY_DEFAULT = 0x0 -+ PARITY_NONE = 0x1 -+ PARMRK = 0x8 -+ PARODD = 0x200 -+ PENDIN = 0x4000 -+ PERF_EVENT_IOC_DISABLE = 0x2401 -+ PERF_EVENT_IOC_ENABLE = 0x2400 -+ PERF_EVENT_IOC_ID = 0x80082407 -+ PERF_EVENT_IOC_MODIFY_ATTRIBUTES = 0x4008240b -+ PERF_EVENT_IOC_PAUSE_OUTPUT = 0x40042409 -+ PERF_EVENT_IOC_PERIOD = 0x40082404 -+ PERF_EVENT_IOC_QUERY_BPF = 0xc008240a -+ PERF_EVENT_IOC_REFRESH = 0x2402 -+ PERF_EVENT_IOC_RESET = 0x2403 -+ PERF_EVENT_IOC_SET_BPF = 0x40042408 -+ PERF_EVENT_IOC_SET_FILTER = 0x40082406 -+ PERF_EVENT_IOC_SET_OUTPUT = 0x2405 -+ PIPEFS_MAGIC = 0x50495045 -+ PPPIOCATTACH = 0x4004743d -+ PPPIOCATTCHAN = 0x40047438 -+ PPPIOCCONNECT = 0x4004743a -+ PPPIOCDETACH = 0x4004743c -+ PPPIOCDISCONN = 0x7439 -+ PPPIOCGASYNCMAP = 0x80047458 -+ PPPIOCGCHAN = 0x80047437 -+ PPPIOCGDEBUG = 0x80047441 -+ PPPIOCGFLAGS = 0x8004745a -+ PPPIOCGIDLE = 0x8010743f -+ PPPIOCGL2TPSTATS = 0x80487436 -+ PPPIOCGMRU = 0x80047453 -+ PPPIOCGNPMODE = 0xc008744c -+ PPPIOCGRASYNCMAP = 0x80047455 -+ PPPIOCGUNIT = 0x80047456 -+ PPPIOCGXASYNCMAP = 0x80207450 -+ PPPIOCNEWUNIT = 0xc004743e -+ PPPIOCSACTIVE = 0x40107446 -+ PPPIOCSASYNCMAP = 0x40047457 -+ PPPIOCSCOMPRESS = 0x4010744d -+ PPPIOCSDEBUG = 0x40047440 -+ PPPIOCSFLAGS = 0x40047459 -+ PPPIOCSMAXCID = 0x40047451 -+ PPPIOCSMRRU = 0x4004743b -+ PPPIOCSMRU = 0x40047452 -+ PPPIOCSNPMODE = 0x4008744b -+ PPPIOCSPASS = 0x40107447 -+ PPPIOCSRASYNCMAP = 0x40047454 -+ PPPIOCSXASYNCMAP = 0x4020744f -+ PPPIOCXFERUNIT = 0x744e -+ PRIO_PGRP = 0x1 -+ PRIO_PROCESS = 0x0 -+ PRIO_USER = 0x2 -+ PROC_SUPER_MAGIC = 0x9fa0 -+ PROT_EXEC = 0x4 -+ PROT_GROWSDOWN = 0x1000000 -+ PROT_GROWSUP = 0x2000000 -+ PROT_NONE = 0x0 -+ PROT_READ = 0x1 -+ PROT_WRITE = 0x2 -+ PR_CAPBSET_DROP = 0x18 -+ PR_CAPBSET_READ = 0x17 -+ PR_CAP_AMBIENT = 0x2f -+ PR_CAP_AMBIENT_CLEAR_ALL = 0x4 -+ PR_CAP_AMBIENT_IS_SET = 0x1 -+ PR_CAP_AMBIENT_LOWER = 0x3 -+ PR_CAP_AMBIENT_RAISE = 0x2 -+ PR_ENDIAN_BIG = 0x0 -+ PR_ENDIAN_LITTLE = 0x1 -+ PR_ENDIAN_PPC_LITTLE = 0x2 -+ PR_FPEMU_NOPRINT = 0x1 -+ PR_FPEMU_SIGFPE = 0x2 -+ PR_FP_EXC_ASYNC = 0x2 -+ PR_FP_EXC_DISABLED = 0x0 -+ PR_FP_EXC_DIV = 0x10000 -+ PR_FP_EXC_INV = 0x100000 -+ PR_FP_EXC_NONRECOV = 0x1 -+ PR_FP_EXC_OVF = 0x20000 -+ PR_FP_EXC_PRECISE = 0x3 -+ PR_FP_EXC_RES = 0x80000 -+ PR_FP_EXC_SW_ENABLE = 0x80 -+ PR_FP_EXC_UND = 0x40000 -+ PR_FP_MODE_FR = 0x1 -+ PR_FP_MODE_FRE = 0x2 -+ PR_GET_CHILD_SUBREAPER = 0x25 -+ PR_GET_DUMPABLE = 0x3 -+ PR_GET_ENDIAN = 0x13 -+ PR_GET_FPEMU = 0x9 -+ PR_GET_FPEXC = 0xb -+ PR_GET_FP_MODE = 0x2e -+ PR_GET_KEEPCAPS = 0x7 -+ PR_GET_NAME = 0x10 -+ PR_GET_NO_NEW_PRIVS = 0x27 -+ PR_GET_PDEATHSIG = 0x2 -+ PR_GET_SECCOMP = 0x15 -+ PR_GET_SECUREBITS = 0x1b -+ PR_GET_SPECULATION_CTRL = 0x34 -+ PR_GET_THP_DISABLE = 0x2a -+ PR_GET_TID_ADDRESS = 0x28 -+ PR_GET_TIMERSLACK = 0x1e -+ PR_GET_TIMING = 0xd -+ PR_GET_TSC = 0x19 -+ PR_GET_UNALIGN = 0x5 -+ PR_MCE_KILL = 0x21 -+ PR_MCE_KILL_CLEAR = 0x0 -+ PR_MCE_KILL_DEFAULT = 0x2 -+ PR_MCE_KILL_EARLY = 0x1 -+ PR_MCE_KILL_GET = 0x22 -+ PR_MCE_KILL_LATE = 0x0 -+ PR_MCE_KILL_SET = 0x1 -+ PR_MPX_DISABLE_MANAGEMENT = 0x2c -+ PR_MPX_ENABLE_MANAGEMENT = 0x2b -+ PR_PAC_APDAKEY = 0x4 -+ PR_PAC_APDBKEY = 0x8 -+ PR_PAC_APGAKEY = 0x10 -+ PR_PAC_APIAKEY = 0x1 -+ PR_PAC_APIBKEY = 0x2 -+ PR_PAC_RESET_KEYS = 0x36 -+ PR_SET_CHILD_SUBREAPER = 0x24 -+ PR_SET_DUMPABLE = 0x4 -+ PR_SET_ENDIAN = 0x14 -+ PR_SET_FPEMU = 0xa -+ PR_SET_FPEXC = 0xc -+ PR_SET_FP_MODE = 0x2d -+ PR_SET_KEEPCAPS = 0x8 -+ PR_SET_MM = 0x23 -+ PR_SET_MM_ARG_END = 0x9 -+ PR_SET_MM_ARG_START = 0x8 -+ PR_SET_MM_AUXV = 0xc -+ PR_SET_MM_BRK = 0x7 -+ PR_SET_MM_END_CODE = 0x2 -+ PR_SET_MM_END_DATA = 0x4 -+ PR_SET_MM_ENV_END = 0xb -+ PR_SET_MM_ENV_START = 0xa -+ PR_SET_MM_EXE_FILE = 0xd -+ PR_SET_MM_MAP = 0xe -+ PR_SET_MM_MAP_SIZE = 0xf -+ PR_SET_MM_START_BRK = 0x6 -+ PR_SET_MM_START_CODE = 0x1 -+ PR_SET_MM_START_DATA = 0x3 -+ PR_SET_MM_START_STACK = 0x5 -+ PR_SET_NAME = 0xf -+ PR_SET_NO_NEW_PRIVS = 0x26 -+ PR_SET_PDEATHSIG = 0x1 -+ PR_SET_PTRACER = 0x59616d61 -+ PR_SET_PTRACER_ANY = 0xffffffffffffffff -+ PR_SET_SECCOMP = 0x16 -+ PR_SET_SECUREBITS = 0x1c -+ PR_SET_SPECULATION_CTRL = 0x35 -+ PR_SET_THP_DISABLE = 0x29 -+ PR_SET_TIMERSLACK = 0x1d -+ PR_SET_TIMING = 0xe -+ PR_SET_TSC = 0x1a -+ PR_SET_UNALIGN = 0x6 -+ PR_SPEC_DISABLE = 0x4 -+ PR_SPEC_ENABLE = 0x2 -+ PR_SPEC_FORCE_DISABLE = 0x8 -+ PR_SPEC_INDIRECT_BRANCH = 0x1 -+ PR_SPEC_NOT_AFFECTED = 0x0 -+ PR_SPEC_PRCTL = 0x1 -+ PR_SPEC_STORE_BYPASS = 0x0 -+ PR_SVE_GET_VL = 0x33 -+ PR_SVE_SET_VL = 0x32 -+ PR_SVE_SET_VL_ONEXEC = 0x40000 -+ PR_SVE_VL_INHERIT = 0x20000 -+ PR_SVE_VL_LEN_MASK = 0xffff -+ PR_TASK_PERF_EVENTS_DISABLE = 0x1f -+ PR_TASK_PERF_EVENTS_ENABLE = 0x20 -+ PR_TIMING_STATISTICAL = 0x0 -+ PR_TIMING_TIMESTAMP = 0x1 -+ PR_TSC_ENABLE = 0x1 -+ PR_TSC_SIGSEGV = 0x2 -+ PR_UNALIGN_NOPRINT = 0x1 -+ PR_UNALIGN_SIGBUS = 0x2 -+ PSTOREFS_MAGIC = 0x6165676c -+ PTRACE_ATTACH = 0x10 -+ PTRACE_CONT = 0x7 -+ PTRACE_DETACH = 0x11 -+ PTRACE_EVENT_CLONE = 0x3 -+ PTRACE_EVENT_EXEC = 0x4 -+ PTRACE_EVENT_EXIT = 0x6 -+ PTRACE_EVENT_FORK = 0x1 -+ PTRACE_EVENT_SECCOMP = 0x7 -+ PTRACE_EVENT_STOP = 0x80 -+ PTRACE_EVENT_VFORK = 0x2 -+ PTRACE_EVENT_VFORK_DONE = 0x5 -+ PTRACE_GETEVENTMSG = 0x4201 -+ PTRACE_GETREGS = 0xc -+ PTRACE_GETREGSET = 0x4204 -+ PTRACE_GETSIGINFO = 0x4202 -+ PTRACE_GETSIGMASK = 0x420a -+ PTRACE_INTERRUPT = 0x4207 -+ PTRACE_KILL = 0x8 -+ PTRACE_LISTEN = 0x4208 -+ PTRACE_O_EXITKILL = 0x100000 -+ PTRACE_O_MASK = 0x3000ff -+ PTRACE_O_SUSPEND_SECCOMP = 0x200000 -+ PTRACE_O_TRACECLONE = 0x8 -+ PTRACE_O_TRACEEXEC = 0x10 -+ PTRACE_O_TRACEEXIT = 0x40 -+ PTRACE_O_TRACEFORK = 0x2 -+ PTRACE_O_TRACESECCOMP = 0x80 -+ PTRACE_O_TRACESYSGOOD = 0x1 -+ PTRACE_O_TRACEVFORK = 0x4 -+ PTRACE_O_TRACEVFORKDONE = 0x20 -+ PTRACE_PEEKDATA = 0x2 -+ PTRACE_PEEKSIGINFO = 0x4209 -+ PTRACE_PEEKSIGINFO_SHARED = 0x1 -+ PTRACE_PEEKTEXT = 0x1 -+ PTRACE_PEEKUSR = 0x3 -+ PTRACE_POKEDATA = 0x5 -+ PTRACE_POKETEXT = 0x4 -+ PTRACE_POKEUSR = 0x6 -+ PTRACE_SECCOMP_GET_FILTER = 0x420c -+ PTRACE_SECCOMP_GET_METADATA = 0x420d -+ PTRACE_SEIZE = 0x4206 -+ PTRACE_SETOPTIONS = 0x4200 -+ PTRACE_SETREGS = 0xd -+ PTRACE_SETREGSET = 0x4205 -+ PTRACE_SETSIGINFO = 0x4203 -+ PTRACE_SETSIGMASK = 0x420b -+ PTRACE_SINGLESTEP = 0x9 -+ PTRACE_SYSCALL = 0x18 -+ PTRACE_TRACEME = 0x0 -+ QNX4_SUPER_MAGIC = 0x2f -+ QNX6_SUPER_MAGIC = 0x68191122 -+ RAMFS_MAGIC = 0x858458f6 -+ RDTGROUP_SUPER_MAGIC = 0x7655821 -+ REISERFS_SUPER_MAGIC = 0x52654973 -+ RENAME_EXCHANGE = 0x2 -+ RENAME_NOREPLACE = 0x1 -+ RENAME_WHITEOUT = 0x4 -+ RLIMIT_AS = 0x9 -+ RLIMIT_CORE = 0x4 -+ RLIMIT_CPU = 0x0 -+ RLIMIT_DATA = 0x2 -+ RLIMIT_FSIZE = 0x1 -+ RLIMIT_LOCKS = 0xa -+ RLIMIT_MEMLOCK = 0x8 -+ RLIMIT_MSGQUEUE = 0xc -+ RLIMIT_NICE = 0xd -+ RLIMIT_NOFILE = 0x7 -+ RLIMIT_NPROC = 0x6 -+ RLIMIT_RSS = 0x5 -+ RLIMIT_RTPRIO = 0xe -+ RLIMIT_RTTIME = 0xf -+ RLIMIT_SIGPENDING = 0xb -+ RLIMIT_STACK = 0x3 -+ RLIM_INFINITY = 0xffffffffffffffff -+ RNDADDENTROPY = 0x40085203 -+ RNDADDTOENTCNT = 0x40045201 -+ RNDCLEARPOOL = 0x5206 -+ RNDGETENTCNT = 0x80045200 -+ RNDGETPOOL = 0x80085202 -+ RNDRESEEDCRNG = 0x5207 -+ RNDZAPENTCNT = 0x5204 -+ RTAX_ADVMSS = 0x8 -+ RTAX_CC_ALGO = 0x10 -+ RTAX_CWND = 0x7 -+ RTAX_FASTOPEN_NO_COOKIE = 0x11 -+ RTAX_FEATURES = 0xc -+ RTAX_FEATURE_ALLFRAG = 0x8 -+ RTAX_FEATURE_ECN = 0x1 -+ RTAX_FEATURE_MASK = 0xf -+ RTAX_FEATURE_SACK = 0x2 -+ RTAX_FEATURE_TIMESTAMP = 0x4 -+ RTAX_HOPLIMIT = 0xa -+ RTAX_INITCWND = 0xb -+ RTAX_INITRWND = 0xe -+ RTAX_LOCK = 0x1 -+ RTAX_MAX = 0x11 -+ RTAX_MTU = 0x2 -+ RTAX_QUICKACK = 0xf -+ RTAX_REORDERING = 0x9 -+ RTAX_RTO_MIN = 0xd -+ RTAX_RTT = 0x4 -+ RTAX_RTTVAR = 0x5 -+ RTAX_SSTHRESH = 0x6 -+ RTAX_UNSPEC = 0x0 -+ RTAX_WINDOW = 0x3 -+ RTA_ALIGNTO = 0x4 -+ RTA_MAX = 0x1d -+ RTCF_DIRECTSRC = 0x4000000 -+ RTCF_DOREDIRECT = 0x1000000 -+ RTCF_LOG = 0x2000000 -+ RTCF_MASQ = 0x400000 -+ RTCF_NAT = 0x800000 -+ RTCF_VALVE = 0x200000 -+ RTC_AF = 0x20 -+ RTC_AIE_OFF = 0x7002 -+ RTC_AIE_ON = 0x7001 -+ RTC_ALM_READ = 0x80247008 -+ RTC_ALM_SET = 0x40247007 -+ RTC_EPOCH_READ = 0x8008700d -+ RTC_EPOCH_SET = 0x4008700e -+ RTC_IRQF = 0x80 -+ RTC_IRQP_READ = 0x8008700b -+ RTC_IRQP_SET = 0x4008700c -+ RTC_MAX_FREQ = 0x2000 -+ RTC_PF = 0x40 -+ RTC_PIE_OFF = 0x7006 -+ RTC_PIE_ON = 0x7005 -+ RTC_PLL_GET = 0x80207011 -+ RTC_PLL_SET = 0x40207012 -+ RTC_RD_TIME = 0x80247009 -+ RTC_SET_TIME = 0x4024700a -+ RTC_UF = 0x10 -+ RTC_UIE_OFF = 0x7004 -+ RTC_UIE_ON = 0x7003 -+ RTC_VL_CLR = 0x7014 -+ RTC_VL_READ = 0x80047013 -+ RTC_WIE_OFF = 0x7010 -+ RTC_WIE_ON = 0x700f -+ RTC_WKALM_RD = 0x80287010 -+ RTC_WKALM_SET = 0x4028700f -+ RTF_ADDRCLASSMASK = 0xf8000000 -+ RTF_ADDRCONF = 0x40000 -+ RTF_ALLONLINK = 0x20000 -+ RTF_BROADCAST = 0x10000000 -+ RTF_CACHE = 0x1000000 -+ RTF_DEFAULT = 0x10000 -+ RTF_DYNAMIC = 0x10 -+ RTF_FLOW = 0x2000000 -+ RTF_GATEWAY = 0x2 -+ RTF_HOST = 0x4 -+ RTF_INTERFACE = 0x40000000 -+ RTF_IRTT = 0x100 -+ RTF_LINKRT = 0x100000 -+ RTF_LOCAL = 0x80000000 -+ RTF_MODIFIED = 0x20 -+ RTF_MSS = 0x40 -+ RTF_MTU = 0x40 -+ RTF_MULTICAST = 0x20000000 -+ RTF_NAT = 0x8000000 -+ RTF_NOFORWARD = 0x1000 -+ RTF_NONEXTHOP = 0x200000 -+ RTF_NOPMTUDISC = 0x4000 -+ RTF_POLICY = 0x4000000 -+ RTF_REINSTATE = 0x8 -+ RTF_REJECT = 0x200 -+ RTF_STATIC = 0x400 -+ RTF_THROW = 0x2000 -+ RTF_UP = 0x1 -+ RTF_WINDOW = 0x80 -+ RTF_XRESOLVE = 0x800 -+ RTM_BASE = 0x10 -+ RTM_DELACTION = 0x31 -+ RTM_DELADDR = 0x15 -+ RTM_DELADDRLABEL = 0x49 -+ RTM_DELCHAIN = 0x65 -+ RTM_DELLINK = 0x11 -+ RTM_DELMDB = 0x55 -+ RTM_DELNEIGH = 0x1d -+ RTM_DELNETCONF = 0x51 -+ RTM_DELNSID = 0x59 -+ RTM_DELQDISC = 0x25 -+ RTM_DELROUTE = 0x19 -+ RTM_DELRULE = 0x21 -+ RTM_DELTCLASS = 0x29 -+ RTM_DELTFILTER = 0x2d -+ RTM_F_CLONED = 0x200 -+ RTM_F_EQUALIZE = 0x400 -+ RTM_F_FIB_MATCH = 0x2000 -+ RTM_F_LOOKUP_TABLE = 0x1000 -+ RTM_F_NOTIFY = 0x100 -+ RTM_F_PREFIX = 0x800 -+ RTM_GETACTION = 0x32 -+ RTM_GETADDR = 0x16 -+ RTM_GETADDRLABEL = 0x4a -+ RTM_GETANYCAST = 0x3e -+ RTM_GETCHAIN = 0x66 -+ RTM_GETDCB = 0x4e -+ RTM_GETLINK = 0x12 -+ RTM_GETMDB = 0x56 -+ RTM_GETMULTICAST = 0x3a -+ RTM_GETNEIGH = 0x1e -+ RTM_GETNEIGHTBL = 0x42 -+ RTM_GETNETCONF = 0x52 -+ RTM_GETNSID = 0x5a -+ RTM_GETQDISC = 0x26 -+ RTM_GETROUTE = 0x1a -+ RTM_GETRULE = 0x22 -+ RTM_GETSTATS = 0x5e -+ RTM_GETTCLASS = 0x2a -+ RTM_GETTFILTER = 0x2e -+ RTM_MAX = 0x67 -+ RTM_NEWACTION = 0x30 -+ RTM_NEWADDR = 0x14 -+ RTM_NEWADDRLABEL = 0x48 -+ RTM_NEWCACHEREPORT = 0x60 -+ RTM_NEWCHAIN = 0x64 -+ RTM_NEWLINK = 0x10 -+ RTM_NEWMDB = 0x54 -+ RTM_NEWNDUSEROPT = 0x44 -+ RTM_NEWNEIGH = 0x1c -+ RTM_NEWNEIGHTBL = 0x40 -+ RTM_NEWNETCONF = 0x50 -+ RTM_NEWNSID = 0x58 -+ RTM_NEWPREFIX = 0x34 -+ RTM_NEWQDISC = 0x24 -+ RTM_NEWROUTE = 0x18 -+ RTM_NEWRULE = 0x20 -+ RTM_NEWSTATS = 0x5c -+ RTM_NEWTCLASS = 0x28 -+ RTM_NEWTFILTER = 0x2c -+ RTM_NR_FAMILIES = 0x16 -+ RTM_NR_MSGTYPES = 0x58 -+ RTM_SETDCB = 0x4f -+ RTM_SETLINK = 0x13 -+ RTM_SETNEIGHTBL = 0x43 -+ RTNH_ALIGNTO = 0x4 -+ RTNH_COMPARE_MASK = 0x19 -+ RTNH_F_DEAD = 0x1 -+ RTNH_F_LINKDOWN = 0x10 -+ RTNH_F_OFFLOAD = 0x8 -+ RTNH_F_ONLINK = 0x4 -+ RTNH_F_PERVASIVE = 0x2 -+ RTNH_F_UNRESOLVED = 0x20 -+ RTN_MAX = 0xb -+ RTPROT_BABEL = 0x2a -+ RTPROT_BGP = 0xba -+ RTPROT_BIRD = 0xc -+ RTPROT_BOOT = 0x3 -+ RTPROT_DHCP = 0x10 -+ RTPROT_DNROUTED = 0xd -+ RTPROT_EIGRP = 0xc0 -+ RTPROT_GATED = 0x8 -+ RTPROT_ISIS = 0xbb -+ RTPROT_KERNEL = 0x2 -+ RTPROT_MROUTED = 0x11 -+ RTPROT_MRT = 0xa -+ RTPROT_NTK = 0xf -+ RTPROT_OSPF = 0xbc -+ RTPROT_RA = 0x9 -+ RTPROT_REDIRECT = 0x1 -+ RTPROT_RIP = 0xbd -+ RTPROT_STATIC = 0x4 -+ RTPROT_UNSPEC = 0x0 -+ RTPROT_XORP = 0xe -+ RTPROT_ZEBRA = 0xb -+ RT_CLASS_DEFAULT = 0xfd -+ RT_CLASS_LOCAL = 0xff -+ RT_CLASS_MAIN = 0xfe -+ RT_CLASS_MAX = 0xff -+ RT_CLASS_UNSPEC = 0x0 -+ RUSAGE_CHILDREN = -0x1 -+ RUSAGE_SELF = 0x0 -+ RUSAGE_THREAD = 0x1 -+ SCM_CREDENTIALS = 0x2 -+ SCM_RIGHTS = 0x1 -+ SCM_TIMESTAMP = 0x1d -+ SCM_TIMESTAMPING = 0x25 -+ SCM_TIMESTAMPING_OPT_STATS = 0x36 -+ SCM_TIMESTAMPING_PKTINFO = 0x3a -+ SCM_TIMESTAMPNS = 0x23 -+ SCM_TXTIME = 0x3d -+ SCM_WIFI_STATUS = 0x29 -+ SC_LOG_FLUSH = 0x100000 -+ SECCOMP_MODE_DISABLED = 0x0 -+ SECCOMP_MODE_FILTER = 0x2 -+ SECCOMP_MODE_STRICT = 0x1 -+ SECURITYFS_MAGIC = 0x73636673 -+ SELINUX_MAGIC = 0xf97cff8c -+ SFD_CLOEXEC = 0x80000 -+ SFD_NONBLOCK = 0x800 -+ SHUT_RD = 0x0 -+ SHUT_RDWR = 0x2 -+ SHUT_WR = 0x1 -+ SIOCADDDLCI = 0x8980 -+ SIOCADDMULTI = 0x8931 -+ SIOCADDRT = 0x890b -+ SIOCATMARK = 0x8905 -+ SIOCBONDCHANGEACTIVE = 0x8995 -+ SIOCBONDENSLAVE = 0x8990 -+ SIOCBONDINFOQUERY = 0x8994 -+ SIOCBONDRELEASE = 0x8991 -+ SIOCBONDSETHWADDR = 0x8992 -+ SIOCBONDSLAVEINFOQUERY = 0x8993 -+ SIOCBRADDBR = 0x89a0 -+ SIOCBRADDIF = 0x89a2 -+ SIOCBRDELBR = 0x89a1 -+ SIOCBRDELIF = 0x89a3 -+ SIOCDARP = 0x8953 -+ SIOCDELDLCI = 0x8981 -+ SIOCDELMULTI = 0x8932 -+ SIOCDELRT = 0x890c -+ SIOCDEVPRIVATE = 0x89f0 -+ SIOCDIFADDR = 0x8936 -+ SIOCDRARP = 0x8960 -+ SIOCETHTOOL = 0x8946 -+ SIOCGARP = 0x8954 -+ SIOCGHWTSTAMP = 0x89b1 -+ SIOCGIFADDR = 0x8915 -+ SIOCGIFBR = 0x8940 -+ SIOCGIFBRDADDR = 0x8919 -+ SIOCGIFCONF = 0x8912 -+ SIOCGIFCOUNT = 0x8938 -+ SIOCGIFDSTADDR = 0x8917 -+ SIOCGIFENCAP = 0x8925 -+ SIOCGIFFLAGS = 0x8913 -+ SIOCGIFHWADDR = 0x8927 -+ SIOCGIFINDEX = 0x8933 -+ SIOCGIFMAP = 0x8970 -+ SIOCGIFMEM = 0x891f -+ SIOCGIFMETRIC = 0x891d -+ SIOCGIFMTU = 0x8921 -+ SIOCGIFNAME = 0x8910 -+ SIOCGIFNETMASK = 0x891b -+ SIOCGIFPFLAGS = 0x8935 -+ SIOCGIFSLAVE = 0x8929 -+ SIOCGIFTXQLEN = 0x8942 -+ SIOCGIFVLAN = 0x8982 -+ SIOCGMIIPHY = 0x8947 -+ SIOCGMIIREG = 0x8948 -+ SIOCGPGRP = 0x8904 -+ SIOCGPPPCSTATS = 0x89f2 -+ SIOCGPPPSTATS = 0x89f0 -+ SIOCGPPPVER = 0x89f1 -+ SIOCGRARP = 0x8961 -+ SIOCGSKNS = 0x894c -+ SIOCGSTAMP = 0x8906 -+ SIOCGSTAMPNS = 0x8907 -+ SIOCINQ = 0x541b -+ SIOCOUTQ = 0x5411 -+ SIOCOUTQNSD = 0x894b -+ SIOCPROTOPRIVATE = 0x89e0 -+ SIOCRTMSG = 0x890d -+ SIOCSARP = 0x8955 -+ SIOCSHWTSTAMP = 0x89b0 -+ SIOCSIFADDR = 0x8916 -+ SIOCSIFBR = 0x8941 -+ SIOCSIFBRDADDR = 0x891a -+ SIOCSIFDSTADDR = 0x8918 -+ SIOCSIFENCAP = 0x8926 -+ SIOCSIFFLAGS = 0x8914 -+ SIOCSIFHWADDR = 0x8924 -+ SIOCSIFHWBROADCAST = 0x8937 -+ SIOCSIFLINK = 0x8911 -+ SIOCSIFMAP = 0x8971 -+ SIOCSIFMEM = 0x8920 -+ SIOCSIFMETRIC = 0x891e -+ SIOCSIFMTU = 0x8922 -+ SIOCSIFNAME = 0x8923 -+ SIOCSIFNETMASK = 0x891c -+ SIOCSIFPFLAGS = 0x8934 -+ SIOCSIFSLAVE = 0x8930 -+ SIOCSIFTXQLEN = 0x8943 -+ SIOCSIFVLAN = 0x8983 -+ SIOCSMIIREG = 0x8949 -+ SIOCSPGRP = 0x8902 -+ SIOCSRARP = 0x8962 -+ SIOCWANDEV = 0x894a -+ SMACK_MAGIC = 0x43415d53 -+ SMART_AUTOSAVE = 0xd2 -+ SMART_AUTO_OFFLINE = 0xdb -+ SMART_DISABLE = 0xd9 -+ SMART_ENABLE = 0xd8 -+ SMART_HCYL_PASS = 0xc2 -+ SMART_IMMEDIATE_OFFLINE = 0xd4 -+ SMART_LCYL_PASS = 0x4f -+ SMART_READ_LOG_SECTOR = 0xd5 -+ SMART_READ_THRESHOLDS = 0xd1 -+ SMART_READ_VALUES = 0xd0 -+ SMART_SAVE = 0xd3 -+ SMART_STATUS = 0xda -+ SMART_WRITE_LOG_SECTOR = 0xd6 -+ SMART_WRITE_THRESHOLDS = 0xd7 -+ SMB_SUPER_MAGIC = 0x517b -+ SOCKFS_MAGIC = 0x534f434b -+ SOCK_CLOEXEC = 0x80000 -+ SOCK_DCCP = 0x6 -+ SOCK_DGRAM = 0x2 -+ SOCK_IOC_TYPE = 0x89 -+ SOCK_NONBLOCK = 0x800 -+ SOCK_PACKET = 0xa -+ SOCK_RAW = 0x3 -+ SOCK_RDM = 0x4 -+ SOCK_SEQPACKET = 0x5 -+ SOCK_STREAM = 0x1 -+ SOL_AAL = 0x109 -+ SOL_ALG = 0x117 -+ SOL_ATM = 0x108 -+ SOL_CAIF = 0x116 -+ SOL_CAN_BASE = 0x64 -+ SOL_DCCP = 0x10d -+ SOL_DECNET = 0x105 -+ SOL_ICMPV6 = 0x3a -+ SOL_IP = 0x0 -+ SOL_IPV6 = 0x29 -+ SOL_IRDA = 0x10a -+ SOL_IUCV = 0x115 -+ SOL_KCM = 0x119 -+ SOL_LLC = 0x10c -+ SOL_NETBEUI = 0x10b -+ SOL_NETLINK = 0x10e -+ SOL_NFC = 0x118 -+ SOL_PACKET = 0x107 -+ SOL_PNPIPE = 0x113 -+ SOL_PPPOL2TP = 0x111 -+ SOL_RAW = 0xff -+ SOL_RDS = 0x114 -+ SOL_RXRPC = 0x110 -+ SOL_SOCKET = 0x1 -+ SOL_TCP = 0x6 -+ SOL_TIPC = 0x10f -+ SOL_TLS = 0x11a -+ SOL_X25 = 0x106 -+ SOL_XDP = 0x11b -+ SOMAXCONN = 0x80 -+ SO_ACCEPTCONN = 0x1e -+ SO_ATTACH_BPF = 0x32 -+ SO_ATTACH_FILTER = 0x1a -+ SO_ATTACH_REUSEPORT_CBPF = 0x33 -+ SO_ATTACH_REUSEPORT_EBPF = 0x34 -+ SO_BINDTODEVICE = 0x19 -+ SO_BPF_EXTENSIONS = 0x30 -+ SO_BROADCAST = 0x6 -+ SO_BSDCOMPAT = 0xe -+ SO_BUSY_POLL = 0x2e -+ SO_CNX_ADVICE = 0x35 -+ SO_COOKIE = 0x39 -+ SO_DEBUG = 0x1 -+ SO_DETACH_BPF = 0x1b -+ SO_DETACH_FILTER = 0x1b -+ SO_DOMAIN = 0x27 -+ SO_DONTROUTE = 0x5 -+ SO_EE_CODE_TXTIME_INVALID_PARAM = 0x1 -+ SO_EE_CODE_TXTIME_MISSED = 0x2 -+ SO_EE_CODE_ZEROCOPY_COPIED = 0x1 -+ SO_EE_ORIGIN_ICMP = 0x2 -+ SO_EE_ORIGIN_ICMP6 = 0x3 -+ SO_EE_ORIGIN_LOCAL = 0x1 -+ SO_EE_ORIGIN_NONE = 0x0 -+ SO_EE_ORIGIN_TIMESTAMPING = 0x4 -+ SO_EE_ORIGIN_TXSTATUS = 0x4 -+ SO_EE_ORIGIN_TXTIME = 0x6 -+ SO_EE_ORIGIN_ZEROCOPY = 0x5 -+ SO_ERROR = 0x4 -+ SO_GET_FILTER = 0x1a -+ SO_INCOMING_CPU = 0x31 -+ SO_INCOMING_NAPI_ID = 0x38 -+ SO_KEEPALIVE = 0x9 -+ SO_LINGER = 0xd -+ SO_LOCK_FILTER = 0x2c -+ SO_MARK = 0x24 -+ SO_MAX_PACING_RATE = 0x2f -+ SO_MEMINFO = 0x37 -+ SO_NOFCS = 0x2b -+ SO_NO_CHECK = 0xb -+ SO_OOBINLINE = 0xa -+ SO_PASSCRED = 0x10 -+ SO_PASSSEC = 0x22 -+ SO_PEEK_OFF = 0x2a -+ SO_PEERCRED = 0x11 -+ SO_PEERGROUPS = 0x3b -+ SO_PEERNAME = 0x1c -+ SO_PEERSEC = 0x1f -+ SO_PRIORITY = 0xc -+ SO_PROTOCOL = 0x26 -+ SO_RCVBUF = 0x8 -+ SO_RCVBUFFORCE = 0x21 -+ SO_RCVLOWAT = 0x12 -+ SO_RCVTIMEO = 0x14 -+ SO_REUSEADDR = 0x2 -+ SO_REUSEPORT = 0xf -+ SO_RXQ_OVFL = 0x28 -+ SO_SECURITY_AUTHENTICATION = 0x16 -+ SO_SECURITY_ENCRYPTION_NETWORK = 0x18 -+ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x17 -+ SO_SELECT_ERR_QUEUE = 0x2d -+ SO_SNDBUF = 0x7 -+ SO_SNDBUFFORCE = 0x20 -+ SO_SNDLOWAT = 0x13 -+ SO_SNDTIMEO = 0x15 -+ SO_TIMESTAMP = 0x1d -+ SO_TIMESTAMPING = 0x25 -+ SO_TIMESTAMPNS = 0x23 -+ SO_TXTIME = 0x3d -+ SO_TYPE = 0x3 -+ SO_VM_SOCKETS_BUFFER_MAX_SIZE = 0x2 -+ SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1 -+ SO_VM_SOCKETS_BUFFER_SIZE = 0x0 -+ SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6 -+ SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7 -+ SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3 -+ SO_VM_SOCKETS_TRUSTED = 0x5 -+ SO_WIFI_STATUS = 0x29 -+ SO_ZEROCOPY = 0x3c -+ SPLICE_F_GIFT = 0x8 -+ SPLICE_F_MORE = 0x4 -+ SPLICE_F_MOVE = 0x1 -+ SPLICE_F_NONBLOCK = 0x2 -+ SQUASHFS_MAGIC = 0x73717368 -+ STACK_END_MAGIC = 0x57ac6e9d -+ STATX_ALL = 0xfff -+ STATX_ATIME = 0x20 -+ STATX_ATTR_APPEND = 0x20 -+ STATX_ATTR_AUTOMOUNT = 0x1000 -+ STATX_ATTR_COMPRESSED = 0x4 -+ STATX_ATTR_ENCRYPTED = 0x800 -+ STATX_ATTR_IMMUTABLE = 0x10 -+ STATX_ATTR_NODUMP = 0x40 -+ STATX_BASIC_STATS = 0x7ff -+ STATX_BLOCKS = 0x400 -+ STATX_BTIME = 0x800 -+ STATX_CTIME = 0x80 -+ STATX_GID = 0x10 -+ STATX_INO = 0x100 -+ STATX_MODE = 0x2 -+ STATX_MTIME = 0x40 -+ STATX_NLINK = 0x4 -+ STATX_SIZE = 0x200 -+ STATX_TYPE = 0x1 -+ STATX_UID = 0x8 -+ STATX__RESERVED = 0x80000000 -+ SYNC_FILE_RANGE_WAIT_AFTER = 0x4 -+ SYNC_FILE_RANGE_WAIT_BEFORE = 0x1 -+ SYNC_FILE_RANGE_WRITE = 0x2 -+ SYSFS_MAGIC = 0x62656572 -+ S_BLKSIZE = 0x200 -+ S_IEXEC = 0x40 -+ S_IFBLK = 0x6000 -+ S_IFCHR = 0x2000 -+ S_IFDIR = 0x4000 -+ S_IFIFO = 0x1000 -+ S_IFLNK = 0xa000 -+ S_IFMT = 0xf000 -+ S_IFREG = 0x8000 -+ S_IFSOCK = 0xc000 -+ S_IREAD = 0x100 -+ S_IRGRP = 0x20 -+ S_IROTH = 0x4 -+ S_IRUSR = 0x100 -+ S_IRWXG = 0x38 -+ S_IRWXO = 0x7 -+ S_IRWXU = 0x1c0 -+ S_ISGID = 0x400 -+ S_ISUID = 0x800 -+ S_ISVTX = 0x200 -+ S_IWGRP = 0x10 -+ S_IWOTH = 0x2 -+ S_IWRITE = 0x80 -+ S_IWUSR = 0x80 -+ S_IXGRP = 0x8 -+ S_IXOTH = 0x1 -+ S_IXUSR = 0x40 -+ TAB0 = 0x0 -+ TAB1 = 0x800 -+ TAB2 = 0x1000 -+ TAB3 = 0x1800 -+ TABDLY = 0x1800 -+ TASKSTATS_CMD_ATTR_MAX = 0x4 -+ TASKSTATS_CMD_MAX = 0x2 -+ TASKSTATS_GENL_NAME = "TASKSTATS" -+ TASKSTATS_GENL_VERSION = 0x1 -+ TASKSTATS_TYPE_MAX = 0x6 -+ TASKSTATS_VERSION = 0x9 -+ TCFLSH = 0x540b -+ TCGETA = 0x5405 -+ TCGETS = 0x5401 -+ TCGETS2 = 0x802c542a -+ TCGETX = 0x5432 -+ TCIFLUSH = 0x0 -+ TCIOFF = 0x2 -+ TCIOFLUSH = 0x2 -+ TCION = 0x3 -+ TCOFLUSH = 0x1 -+ TCOOFF = 0x0 -+ TCOON = 0x1 -+ TCP_CC_INFO = 0x1a -+ TCP_CM_INQ = 0x24 -+ TCP_CONGESTION = 0xd -+ TCP_COOKIE_IN_ALWAYS = 0x1 -+ TCP_COOKIE_MAX = 0x10 -+ TCP_COOKIE_MIN = 0x8 -+ TCP_COOKIE_OUT_NEVER = 0x2 -+ TCP_COOKIE_PAIR_SIZE = 0x20 -+ TCP_COOKIE_TRANSACTIONS = 0xf -+ TCP_CORK = 0x3 -+ TCP_DEFER_ACCEPT = 0x9 -+ TCP_FASTOPEN = 0x17 -+ TCP_FASTOPEN_CONNECT = 0x1e -+ TCP_FASTOPEN_KEY = 0x21 -+ TCP_FASTOPEN_NO_COOKIE = 0x22 -+ TCP_INFO = 0xb -+ TCP_INQ = 0x24 -+ TCP_KEEPCNT = 0x6 -+ TCP_KEEPIDLE = 0x4 -+ TCP_KEEPINTVL = 0x5 -+ TCP_LINGER2 = 0x8 -+ TCP_MAXSEG = 0x2 -+ TCP_MAXWIN = 0xffff -+ TCP_MAX_WINSHIFT = 0xe -+ TCP_MD5SIG = 0xe -+ TCP_MD5SIG_EXT = 0x20 -+ TCP_MD5SIG_FLAG_PREFIX = 0x1 -+ TCP_MD5SIG_MAXKEYLEN = 0x50 -+ TCP_MSS = 0x200 -+ TCP_MSS_DEFAULT = 0x218 -+ TCP_MSS_DESIRED = 0x4c4 -+ TCP_NODELAY = 0x1 -+ TCP_NOTSENT_LOWAT = 0x19 -+ TCP_QUEUE_SEQ = 0x15 -+ TCP_QUICKACK = 0xc -+ TCP_REPAIR = 0x13 -+ TCP_REPAIR_OFF = 0x0 -+ TCP_REPAIR_OFF_NO_WP = -0x1 -+ TCP_REPAIR_ON = 0x1 -+ TCP_REPAIR_OPTIONS = 0x16 -+ TCP_REPAIR_QUEUE = 0x14 -+ TCP_REPAIR_WINDOW = 0x1d -+ TCP_SAVED_SYN = 0x1c -+ TCP_SAVE_SYN = 0x1b -+ TCP_SYNCNT = 0x7 -+ TCP_S_DATA_IN = 0x4 -+ TCP_S_DATA_OUT = 0x8 -+ TCP_THIN_DUPACK = 0x11 -+ TCP_THIN_LINEAR_TIMEOUTS = 0x10 -+ TCP_TIMESTAMP = 0x18 -+ TCP_ULP = 0x1f -+ TCP_USER_TIMEOUT = 0x12 -+ TCP_WINDOW_CLAMP = 0xa -+ TCP_ZEROCOPY_RECEIVE = 0x23 -+ TCSAFLUSH = 0x2 -+ TCSBRK = 0x5409 -+ TCSBRKP = 0x5425 -+ TCSETA = 0x5406 -+ TCSETAF = 0x5408 -+ TCSETAW = 0x5407 -+ TCSETS = 0x5402 -+ TCSETS2 = 0x402c542b -+ TCSETSF = 0x5404 -+ TCSETSF2 = 0x402c542d -+ TCSETSW = 0x5403 -+ TCSETSW2 = 0x402c542c -+ TCSETX = 0x5433 -+ TCSETXF = 0x5434 -+ TCSETXW = 0x5435 -+ TCXONC = 0x540a -+ TIMER_ABSTIME = 0x1 -+ TIOCCBRK = 0x5428 -+ TIOCCONS = 0x541d -+ TIOCEXCL = 0x540c -+ TIOCGDEV = 0x80045432 -+ TIOCGETD = 0x5424 -+ TIOCGEXCL = 0x80045440 -+ TIOCGICOUNT = 0x545d -+ TIOCGISO7816 = 0x80285442 -+ TIOCGLCKTRMIOS = 0x5456 -+ TIOCGPGRP = 0x540f -+ TIOCGPKT = 0x80045438 -+ TIOCGPTLCK = 0x80045439 -+ TIOCGPTN = 0x80045430 -+ TIOCGPTPEER = 0x5441 -+ TIOCGRS485 = 0x542e -+ TIOCGSERIAL = 0x541e -+ TIOCGSID = 0x5429 -+ TIOCGSOFTCAR = 0x5419 -+ TIOCGWINSZ = 0x5413 -+ TIOCINQ = 0x541b -+ TIOCLINUX = 0x541c -+ TIOCMBIC = 0x5417 -+ TIOCMBIS = 0x5416 -+ TIOCMGET = 0x5415 -+ TIOCMIWAIT = 0x545c -+ TIOCMSET = 0x5418 -+ TIOCM_CAR = 0x40 -+ TIOCM_CD = 0x40 -+ TIOCM_CTS = 0x20 -+ TIOCM_DSR = 0x100 -+ TIOCM_DTR = 0x2 -+ TIOCM_LE = 0x1 -+ TIOCM_RI = 0x80 -+ TIOCM_RNG = 0x80 -+ TIOCM_RTS = 0x4 -+ TIOCM_SR = 0x10 -+ TIOCM_ST = 0x8 -+ TIOCNOTTY = 0x5422 -+ TIOCNXCL = 0x540d -+ TIOCOUTQ = 0x5411 -+ TIOCPKT = 0x5420 -+ TIOCPKT_DATA = 0x0 -+ TIOCPKT_DOSTOP = 0x20 -+ TIOCPKT_FLUSHREAD = 0x1 -+ TIOCPKT_FLUSHWRITE = 0x2 -+ TIOCPKT_IOCTL = 0x40 -+ TIOCPKT_NOSTOP = 0x10 -+ TIOCPKT_START = 0x8 -+ TIOCPKT_STOP = 0x4 -+ TIOCSBRK = 0x5427 -+ TIOCSCTTY = 0x540e -+ TIOCSERCONFIG = 0x5453 -+ TIOCSERGETLSR = 0x5459 -+ TIOCSERGETMULTI = 0x545a -+ TIOCSERGSTRUCT = 0x5458 -+ TIOCSERGWILD = 0x5454 -+ TIOCSERSETMULTI = 0x545b -+ TIOCSERSWILD = 0x5455 -+ TIOCSER_TEMT = 0x1 -+ TIOCSETD = 0x5423 -+ TIOCSIG = 0x40045436 -+ TIOCSISO7816 = 0xc0285443 -+ TIOCSLCKTRMIOS = 0x5457 -+ TIOCSPGRP = 0x5410 -+ TIOCSPTLCK = 0x40045431 -+ TIOCSRS485 = 0x542f -+ TIOCSSERIAL = 0x541f -+ TIOCSSOFTCAR = 0x541a -+ TIOCSTI = 0x5412 -+ TIOCSWINSZ = 0x5414 -+ TIOCVHANGUP = 0x5437 -+ TMPFS_MAGIC = 0x1021994 -+ TOSTOP = 0x100 -+ TPACKET_ALIGNMENT = 0x10 -+ TPACKET_HDRLEN = 0x34 -+ TP_STATUS_AVAILABLE = 0x0 -+ TP_STATUS_BLK_TMO = 0x20 -+ TP_STATUS_COPY = 0x2 -+ TP_STATUS_CSUMNOTREADY = 0x8 -+ TP_STATUS_CSUM_VALID = 0x80 -+ TP_STATUS_KERNEL = 0x0 -+ TP_STATUS_LOSING = 0x4 -+ TP_STATUS_SENDING = 0x2 -+ TP_STATUS_SEND_REQUEST = 0x1 -+ TP_STATUS_TS_RAW_HARDWARE = -0x80000000 -+ TP_STATUS_TS_SOFTWARE = 0x20000000 -+ TP_STATUS_TS_SYS_HARDWARE = 0x40000000 -+ TP_STATUS_USER = 0x1 -+ TP_STATUS_VLAN_TPID_VALID = 0x40 -+ TP_STATUS_VLAN_VALID = 0x10 -+ TP_STATUS_WRONG_FORMAT = 0x4 -+ TRACEFS_MAGIC = 0x74726163 -+ TS_COMM_LEN = 0x20 -+ TUNATTACHFILTER = 0x401054d5 -+ TUNDETACHFILTER = 0x401054d6 -+ TUNGETFEATURES = 0x800454cf -+ TUNGETFILTER = 0x801054db -+ TUNGETIFF = 0x800454d2 -+ TUNGETSNDBUF = 0x800454d3 -+ TUNGETVNETBE = 0x800454df -+ TUNGETVNETHDRSZ = 0x800454d7 -+ TUNGETVNETLE = 0x800454dd -+ TUNSETCARRIER = 0x400454e2 -+ TUNSETDEBUG = 0x400454c9 -+ TUNSETFILTEREBPF = 0x800454e1 -+ TUNSETGROUP = 0x400454ce -+ TUNSETIFF = 0x400454ca -+ TUNSETIFINDEX = 0x400454da -+ TUNSETLINK = 0x400454cd -+ TUNSETNOCSUM = 0x400454c8 -+ TUNSETOFFLOAD = 0x400454d0 -+ TUNSETOWNER = 0x400454cc -+ TUNSETPERSIST = 0x400454cb -+ TUNSETQUEUE = 0x400454d9 -+ TUNSETSNDBUF = 0x400454d4 -+ TUNSETSTEERINGEBPF = 0x800454e0 -+ TUNSETTXFILTER = 0x400454d1 -+ TUNSETVNETBE = 0x400454de -+ TUNSETVNETHDRSZ = 0x400454d8 -+ TUNSETVNETLE = 0x400454dc -+ UBI_IOCATT = 0x40186f40 -+ UBI_IOCDET = 0x40046f41 -+ UBI_IOCEBCH = 0x40044f02 -+ UBI_IOCEBER = 0x40044f01 -+ UBI_IOCEBISMAP = 0x80044f05 -+ UBI_IOCEBMAP = 0x40084f03 -+ UBI_IOCEBUNMAP = 0x40044f04 -+ UBI_IOCMKVOL = 0x40986f00 -+ UBI_IOCRMVOL = 0x40046f01 -+ UBI_IOCRNVOL = 0x51106f03 -+ UBI_IOCRSVOL = 0x400c6f02 -+ UBI_IOCSETVOLPROP = 0x40104f06 -+ UBI_IOCVOLCRBLK = 0x40804f07 -+ UBI_IOCVOLRMBLK = 0x4f08 -+ UBI_IOCVOLUP = 0x40084f00 -+ UDF_SUPER_MAGIC = 0x15013346 -+ UMOUNT_NOFOLLOW = 0x8 -+ USBDEVICE_SUPER_MAGIC = 0x9fa2 -+ UTIME_NOW = 0x3fffffff -+ UTIME_OMIT = 0x3ffffffe -+ V9FS_MAGIC = 0x1021997 -+ VDISCARD = 0xd -+ VEOF = 0x4 -+ VEOL = 0xb -+ VEOL2 = 0x10 -+ VERASE = 0x2 -+ VINTR = 0x0 -+ VKILL = 0x3 -+ VLNEXT = 0xf -+ VMADDR_CID_ANY = 0xffffffff -+ VMADDR_CID_HOST = 0x2 -+ VMADDR_CID_HYPERVISOR = 0x0 -+ VMADDR_CID_RESERVED = 0x1 -+ VMADDR_PORT_ANY = 0xffffffff -+ VMIN = 0x6 -+ VM_SOCKETS_INVALID_VERSION = 0xffffffff -+ VQUIT = 0x1 -+ VREPRINT = 0xc -+ VSTART = 0x8 -+ VSTOP = 0x9 -+ VSUSP = 0xa -+ VSWTC = 0x7 -+ VT0 = 0x0 -+ VT1 = 0x4000 -+ VTDLY = 0x4000 -+ VTIME = 0x5 -+ VWERASE = 0xe -+ WALL = 0x40000000 -+ WCLONE = 0x80000000 -+ WCONTINUED = 0x8 -+ WDIOC_GETBOOTSTATUS = 0x80045702 -+ WDIOC_GETPRETIMEOUT = 0x80045709 -+ WDIOC_GETSTATUS = 0x80045701 -+ WDIOC_GETSUPPORT = 0x80285700 -+ WDIOC_GETTEMP = 0x80045703 -+ WDIOC_GETTIMELEFT = 0x8004570a -+ WDIOC_GETTIMEOUT = 0x80045707 -+ WDIOC_KEEPALIVE = 0x80045705 -+ WDIOC_SETOPTIONS = 0x80045704 -+ WDIOC_SETPRETIMEOUT = 0xc0045708 -+ WDIOC_SETTIMEOUT = 0xc0045706 -+ WEXITED = 0x4 -+ WIN_ACKMEDIACHANGE = 0xdb -+ WIN_CHECKPOWERMODE1 = 0xe5 -+ WIN_CHECKPOWERMODE2 = 0x98 -+ WIN_DEVICE_RESET = 0x8 -+ WIN_DIAGNOSE = 0x90 -+ WIN_DOORLOCK = 0xde -+ WIN_DOORUNLOCK = 0xdf -+ WIN_DOWNLOAD_MICROCODE = 0x92 -+ WIN_FLUSH_CACHE = 0xe7 -+ WIN_FLUSH_CACHE_EXT = 0xea -+ WIN_FORMAT = 0x50 -+ WIN_GETMEDIASTATUS = 0xda -+ WIN_IDENTIFY = 0xec -+ WIN_IDENTIFY_DMA = 0xee -+ WIN_IDLEIMMEDIATE = 0xe1 -+ WIN_INIT = 0x60 -+ WIN_MEDIAEJECT = 0xed -+ WIN_MULTREAD = 0xc4 -+ WIN_MULTREAD_EXT = 0x29 -+ WIN_MULTWRITE = 0xc5 -+ WIN_MULTWRITE_EXT = 0x39 -+ WIN_NOP = 0x0 -+ WIN_PACKETCMD = 0xa0 -+ WIN_PIDENTIFY = 0xa1 -+ WIN_POSTBOOT = 0xdc -+ WIN_PREBOOT = 0xdd -+ WIN_QUEUED_SERVICE = 0xa2 -+ WIN_READ = 0x20 -+ WIN_READDMA = 0xc8 -+ WIN_READDMA_EXT = 0x25 -+ WIN_READDMA_ONCE = 0xc9 -+ WIN_READDMA_QUEUED = 0xc7 -+ WIN_READDMA_QUEUED_EXT = 0x26 -+ WIN_READ_BUFFER = 0xe4 -+ WIN_READ_EXT = 0x24 -+ WIN_READ_LONG = 0x22 -+ WIN_READ_LONG_ONCE = 0x23 -+ WIN_READ_NATIVE_MAX = 0xf8 -+ WIN_READ_NATIVE_MAX_EXT = 0x27 -+ WIN_READ_ONCE = 0x21 -+ WIN_RECAL = 0x10 -+ WIN_RESTORE = 0x10 -+ WIN_SECURITY_DISABLE = 0xf6 -+ WIN_SECURITY_ERASE_PREPARE = 0xf3 -+ WIN_SECURITY_ERASE_UNIT = 0xf4 -+ WIN_SECURITY_FREEZE_LOCK = 0xf5 -+ WIN_SECURITY_SET_PASS = 0xf1 -+ WIN_SECURITY_UNLOCK = 0xf2 -+ WIN_SEEK = 0x70 -+ WIN_SETFEATURES = 0xef -+ WIN_SETIDLE1 = 0xe3 -+ WIN_SETIDLE2 = 0x97 -+ WIN_SETMULT = 0xc6 -+ WIN_SET_MAX = 0xf9 -+ WIN_SET_MAX_EXT = 0x37 -+ WIN_SLEEPNOW1 = 0xe6 -+ WIN_SLEEPNOW2 = 0x99 -+ WIN_SMART = 0xb0 -+ WIN_SPECIFY = 0x91 -+ WIN_SRST = 0x8 -+ WIN_STANDBY = 0xe2 -+ WIN_STANDBY2 = 0x96 -+ WIN_STANDBYNOW1 = 0xe0 -+ WIN_STANDBYNOW2 = 0x94 -+ WIN_VERIFY = 0x40 -+ WIN_VERIFY_EXT = 0x42 -+ WIN_VERIFY_ONCE = 0x41 -+ WIN_WRITE = 0x30 -+ WIN_WRITEDMA = 0xca -+ WIN_WRITEDMA_EXT = 0x35 -+ WIN_WRITEDMA_ONCE = 0xcb -+ WIN_WRITEDMA_QUEUED = 0xcc -+ WIN_WRITEDMA_QUEUED_EXT = 0x36 -+ WIN_WRITE_BUFFER = 0xe8 -+ WIN_WRITE_EXT = 0x34 -+ WIN_WRITE_LONG = 0x32 -+ WIN_WRITE_LONG_ONCE = 0x33 -+ WIN_WRITE_ONCE = 0x31 -+ WIN_WRITE_SAME = 0xe9 -+ WIN_WRITE_VERIFY = 0x3c -+ WNOHANG = 0x1 -+ WNOTHREAD = 0x20000000 -+ WNOWAIT = 0x1000000 -+ WORDSIZE = 0x40 -+ WSTOPPED = 0x2 -+ WUNTRACED = 0x2 -+ XATTR_CREATE = 0x1 -+ XATTR_REPLACE = 0x2 -+ XCASE = 0x4 -+ XDP_COPY = 0x2 -+ XDP_FLAGS_DRV_MODE = 0x4 -+ XDP_FLAGS_HW_MODE = 0x8 -+ XDP_FLAGS_MASK = 0xf -+ XDP_FLAGS_MODES = 0xe -+ XDP_FLAGS_SKB_MODE = 0x2 -+ XDP_FLAGS_UPDATE_IF_NOEXIST = 0x1 -+ XDP_MMAP_OFFSETS = 0x1 -+ XDP_PGOFF_RX_RING = 0x0 -+ XDP_PGOFF_TX_RING = 0x80000000 -+ XDP_RX_RING = 0x2 -+ XDP_SHARED_UMEM = 0x1 -+ XDP_STATISTICS = 0x7 -+ XDP_TX_RING = 0x3 -+ XDP_UMEM_COMPLETION_RING = 0x6 -+ XDP_UMEM_FILL_RING = 0x5 -+ XDP_UMEM_PGOFF_COMPLETION_RING = 0x180000000 -+ XDP_UMEM_PGOFF_FILL_RING = 0x100000000 -+ XDP_UMEM_REG = 0x4 -+ XDP_ZEROCOPY = 0x4 -+ XENFS_SUPER_MAGIC = 0xabba1974 -+ XFS_SUPER_MAGIC = 0x58465342 -+ XTABS = 0x1800 -+ ZSMALLOC_MAGIC = 0x58295829 -+) -+ -+// Errors -+const ( -+ E2BIG = syscall.Errno(0x7) -+ EACCES = syscall.Errno(0xd) -+ EADDRINUSE = syscall.Errno(0x62) -+ EADDRNOTAVAIL = syscall.Errno(0x63) -+ EADV = syscall.Errno(0x44) -+ EAFNOSUPPORT = syscall.Errno(0x61) -+ EAGAIN = syscall.Errno(0xb) -+ EALREADY = syscall.Errno(0x72) -+ EBADE = syscall.Errno(0x34) -+ EBADF = syscall.Errno(0x9) -+ EBADFD = syscall.Errno(0x4d) -+ EBADMSG = syscall.Errno(0x4a) -+ EBADR = syscall.Errno(0x35) -+ EBADRQC = syscall.Errno(0x38) -+ EBADSLT = syscall.Errno(0x39) -+ EBFONT = syscall.Errno(0x3b) -+ EBUSY = syscall.Errno(0x10) -+ ECANCELED = syscall.Errno(0x7d) -+ ECHILD = syscall.Errno(0xa) -+ ECHRNG = syscall.Errno(0x2c) -+ ECOMM = syscall.Errno(0x46) -+ ECONNABORTED = syscall.Errno(0x67) -+ ECONNREFUSED = syscall.Errno(0x6f) -+ ECONNRESET = syscall.Errno(0x68) -+ EDEADLK = syscall.Errno(0x23) -+ EDEADLOCK = syscall.Errno(0x23) -+ EDESTADDRREQ = syscall.Errno(0x59) -+ EDOM = syscall.Errno(0x21) -+ EDOTDOT = syscall.Errno(0x49) -+ EDQUOT = syscall.Errno(0x7a) -+ EEXIST = syscall.Errno(0x11) -+ EFAULT = syscall.Errno(0xe) -+ EFBIG = syscall.Errno(0x1b) -+ EHOSTDOWN = syscall.Errno(0x70) -+ EHOSTUNREACH = syscall.Errno(0x71) -+ EHWPOISON = syscall.Errno(0x85) -+ EIDRM = syscall.Errno(0x2b) -+ EILSEQ = syscall.Errno(0x54) -+ EINPROGRESS = syscall.Errno(0x73) -+ EINTR = syscall.Errno(0x4) -+ EINVAL = syscall.Errno(0x16) -+ EIO = syscall.Errno(0x5) -+ EISCONN = syscall.Errno(0x6a) -+ EISDIR = syscall.Errno(0x15) -+ EISNAM = syscall.Errno(0x78) -+ EKEYEXPIRED = syscall.Errno(0x7f) -+ EKEYREJECTED = syscall.Errno(0x81) -+ EKEYREVOKED = syscall.Errno(0x80) -+ EL2HLT = syscall.Errno(0x33) -+ EL2NSYNC = syscall.Errno(0x2d) -+ EL3HLT = syscall.Errno(0x2e) -+ EL3RST = syscall.Errno(0x2f) -+ ELIBACC = syscall.Errno(0x4f) -+ ELIBBAD = syscall.Errno(0x50) -+ ELIBEXEC = syscall.Errno(0x53) -+ ELIBMAX = syscall.Errno(0x52) -+ ELIBSCN = syscall.Errno(0x51) -+ ELNRNG = syscall.Errno(0x30) -+ ELOOP = syscall.Errno(0x28) -+ EMEDIUMTYPE = syscall.Errno(0x7c) -+ EMFILE = syscall.Errno(0x18) -+ EMLINK = syscall.Errno(0x1f) -+ EMSGSIZE = syscall.Errno(0x5a) -+ EMULTIHOP = syscall.Errno(0x48) -+ ENAMETOOLONG = syscall.Errno(0x24) -+ ENAVAIL = syscall.Errno(0x77) -+ ENETDOWN = syscall.Errno(0x64) -+ ENETRESET = syscall.Errno(0x66) -+ ENETUNREACH = syscall.Errno(0x65) -+ ENFILE = syscall.Errno(0x17) -+ ENOANO = syscall.Errno(0x37) -+ ENOBUFS = syscall.Errno(0x69) -+ ENOCSI = syscall.Errno(0x32) -+ ENODATA = syscall.Errno(0x3d) -+ ENODEV = syscall.Errno(0x13) -+ ENOENT = syscall.Errno(0x2) -+ ENOEXEC = syscall.Errno(0x8) -+ ENOKEY = syscall.Errno(0x7e) -+ ENOLCK = syscall.Errno(0x25) -+ ENOLINK = syscall.Errno(0x43) -+ ENOMEDIUM = syscall.Errno(0x7b) -+ ENOMEM = syscall.Errno(0xc) -+ ENOMSG = syscall.Errno(0x2a) -+ ENONET = syscall.Errno(0x40) -+ ENOPKG = syscall.Errno(0x41) -+ ENOPROTOOPT = syscall.Errno(0x5c) -+ ENOSPC = syscall.Errno(0x1c) -+ ENOSR = syscall.Errno(0x3f) -+ ENOSTR = syscall.Errno(0x3c) -+ ENOSYS = syscall.Errno(0x26) -+ ENOTBLK = syscall.Errno(0xf) -+ ENOTCONN = syscall.Errno(0x6b) -+ ENOTDIR = syscall.Errno(0x14) -+ ENOTEMPTY = syscall.Errno(0x27) -+ ENOTNAM = syscall.Errno(0x76) -+ ENOTRECOVERABLE = syscall.Errno(0x83) -+ ENOTSOCK = syscall.Errno(0x58) -+ ENOTSUP = syscall.Errno(0x5f) -+ ENOTTY = syscall.Errno(0x19) -+ ENOTUNIQ = syscall.Errno(0x4c) -+ ENXIO = syscall.Errno(0x6) -+ EOPNOTSUPP = syscall.Errno(0x5f) -+ EOVERFLOW = syscall.Errno(0x4b) -+ EOWNERDEAD = syscall.Errno(0x82) -+ EPERM = syscall.Errno(0x1) -+ EPFNOSUPPORT = syscall.Errno(0x60) -+ EPIPE = syscall.Errno(0x20) -+ EPROTO = syscall.Errno(0x47) -+ EPROTONOSUPPORT = syscall.Errno(0x5d) -+ EPROTOTYPE = syscall.Errno(0x5b) -+ ERANGE = syscall.Errno(0x22) -+ EREMCHG = syscall.Errno(0x4e) -+ EREMOTE = syscall.Errno(0x42) -+ EREMOTEIO = syscall.Errno(0x79) -+ ERESTART = syscall.Errno(0x55) -+ ERFKILL = syscall.Errno(0x84) -+ EROFS = syscall.Errno(0x1e) -+ ESHUTDOWN = syscall.Errno(0x6c) -+ ESOCKTNOSUPPORT = syscall.Errno(0x5e) -+ ESPIPE = syscall.Errno(0x1d) -+ ESRCH = syscall.Errno(0x3) -+ ESRMNT = syscall.Errno(0x45) -+ ESTALE = syscall.Errno(0x74) -+ ESTRPIPE = syscall.Errno(0x56) -+ ETIME = syscall.Errno(0x3e) -+ ETIMEDOUT = syscall.Errno(0x6e) -+ ETOOMANYREFS = syscall.Errno(0x6d) -+ ETXTBSY = syscall.Errno(0x1a) -+ EUCLEAN = syscall.Errno(0x75) -+ EUNATCH = syscall.Errno(0x31) -+ EUSERS = syscall.Errno(0x57) -+ EWOULDBLOCK = syscall.Errno(0xb) -+ EXDEV = syscall.Errno(0x12) -+ EXFULL = syscall.Errno(0x36) -+) -+ -+// Signals -+const ( -+ SIGABRT = syscall.Signal(0x6) -+ SIGALRM = syscall.Signal(0xe) -+ SIGBUS = syscall.Signal(0x7) -+ SIGCHLD = syscall.Signal(0x11) -+ SIGCLD = syscall.Signal(0x11) -+ SIGCONT = syscall.Signal(0x12) -+ SIGFPE = syscall.Signal(0x8) -+ SIGHUP = syscall.Signal(0x1) -+ SIGILL = syscall.Signal(0x4) -+ SIGINT = syscall.Signal(0x2) -+ SIGIO = syscall.Signal(0x1d) -+ SIGIOT = syscall.Signal(0x6) -+ SIGKILL = syscall.Signal(0x9) -+ SIGPIPE = syscall.Signal(0xd) -+ SIGPOLL = syscall.Signal(0x1d) -+ SIGPROF = syscall.Signal(0x1b) -+ SIGPWR = syscall.Signal(0x1e) -+ SIGQUIT = syscall.Signal(0x3) -+ SIGSEGV = syscall.Signal(0xb) -+ SIGSTKFLT = syscall.Signal(0x10) -+ SIGSTOP = syscall.Signal(0x13) -+ SIGSYS = syscall.Signal(0x1f) -+ SIGTERM = syscall.Signal(0xf) -+ SIGTRAP = syscall.Signal(0x5) -+ SIGTSTP = syscall.Signal(0x14) -+ SIGTTIN = syscall.Signal(0x15) -+ SIGTTOU = syscall.Signal(0x16) -+ SIGURG = syscall.Signal(0x17) -+ SIGUSR1 = syscall.Signal(0xa) -+ SIGUSR2 = syscall.Signal(0xc) -+ SIGVTALRM = syscall.Signal(0x1a) -+ SIGWINCH = syscall.Signal(0x1c) -+ SIGXCPU = syscall.Signal(0x18) -+ SIGXFSZ = syscall.Signal(0x19) -+) -+ -+// Error table -+var errorList = [...]struct { -+ num syscall.Errno -+ name string -+ desc string -+}{ -+ {1, "EPERM", "operation not permitted"}, -+ {2, "ENOENT", "no such file or directory"}, -+ {3, "ESRCH", "no such process"}, -+ {4, "EINTR", "interrupted system call"}, -+ {5, "EIO", "input/output error"}, -+ {6, "ENXIO", "no such device or address"}, -+ {7, "E2BIG", "argument list too long"}, -+ {8, "ENOEXEC", "exec format error"}, -+ {9, "EBADF", "bad file descriptor"}, -+ {10, "ECHILD", "no child processes"}, -+ {11, "EAGAIN", "resource temporarily unavailable"}, -+ {12, "ENOMEM", "cannot allocate memory"}, -+ {13, "EACCES", "permission denied"}, -+ {14, "EFAULT", "bad address"}, -+ {15, "ENOTBLK", "block device required"}, -+ {16, "EBUSY", "device or resource busy"}, -+ {17, "EEXIST", "file exists"}, -+ {18, "EXDEV", "invalid cross-device link"}, -+ {19, "ENODEV", "no such device"}, -+ {20, "ENOTDIR", "not a directory"}, -+ {21, "EISDIR", "is a directory"}, -+ {22, "EINVAL", "invalid argument"}, -+ {23, "ENFILE", "too many open files in system"}, -+ {24, "EMFILE", "too many open files"}, -+ {25, "ENOTTY", "inappropriate ioctl for device"}, -+ {26, "ETXTBSY", "text file busy"}, -+ {27, "EFBIG", "file too large"}, -+ {28, "ENOSPC", "no space left on device"}, -+ {29, "ESPIPE", "illegal seek"}, -+ {30, "EROFS", "read-only file system"}, -+ {31, "EMLINK", "too many links"}, -+ {32, "EPIPE", "broken pipe"}, -+ {33, "EDOM", "numerical argument out of domain"}, -+ {34, "ERANGE", "numerical result out of range"}, -+ {35, "EDEADLK", "resource deadlock avoided"}, -+ {36, "ENAMETOOLONG", "file name too long"}, -+ {37, "ENOLCK", "no locks available"}, -+ {38, "ENOSYS", "function not implemented"}, -+ {39, "ENOTEMPTY", "directory not empty"}, -+ {40, "ELOOP", "too many levels of symbolic links"}, -+ {42, "ENOMSG", "no message of desired type"}, -+ {43, "EIDRM", "identifier removed"}, -+ {44, "ECHRNG", "channel number out of range"}, -+ {45, "EL2NSYNC", "level 2 not synchronized"}, -+ {46, "EL3HLT", "level 3 halted"}, -+ {47, "EL3RST", "level 3 reset"}, -+ {48, "ELNRNG", "link number out of range"}, -+ {49, "EUNATCH", "protocol driver not attached"}, -+ {50, "ENOCSI", "no CSI structure available"}, -+ {51, "EL2HLT", "level 2 halted"}, -+ {52, "EBADE", "invalid exchange"}, -+ {53, "EBADR", "invalid request descriptor"}, -+ {54, "EXFULL", "exchange full"}, -+ {55, "ENOANO", "no anode"}, -+ {56, "EBADRQC", "invalid request code"}, -+ {57, "EBADSLT", "invalid slot"}, -+ {59, "EBFONT", "bad font file format"}, -+ {60, "ENOSTR", "device not a stream"}, -+ {61, "ENODATA", "no data available"}, -+ {62, "ETIME", "timer expired"}, -+ {63, "ENOSR", "out of streams resources"}, -+ {64, "ENONET", "machine is not on the network"}, -+ {65, "ENOPKG", "package not installed"}, -+ {66, "EREMOTE", "object is remote"}, -+ {67, "ENOLINK", "link has been severed"}, -+ {68, "EADV", "advertise error"}, -+ {69, "ESRMNT", "srmount error"}, -+ {70, "ECOMM", "communication error on send"}, -+ {71, "EPROTO", "protocol error"}, -+ {72, "EMULTIHOP", "multihop attempted"}, -+ {73, "EDOTDOT", "RFS specific error"}, -+ {74, "EBADMSG", "bad message"}, -+ {75, "EOVERFLOW", "value too large for defined data type"}, -+ {76, "ENOTUNIQ", "name not unique on network"}, -+ {77, "EBADFD", "file descriptor in bad state"}, -+ {78, "EREMCHG", "remote address changed"}, -+ {79, "ELIBACC", "can not access a needed shared library"}, -+ {80, "ELIBBAD", "accessing a corrupted shared library"}, -+ {81, "ELIBSCN", ".lib section in a.out corrupted"}, -+ {82, "ELIBMAX", "attempting to link in too many shared libraries"}, -+ {83, "ELIBEXEC", "cannot exec a shared library directly"}, -+ {84, "EILSEQ", "invalid or incomplete multibyte or wide character"}, -+ {85, "ERESTART", "interrupted system call should be restarted"}, -+ {86, "ESTRPIPE", "streams pipe error"}, -+ {87, "EUSERS", "too many users"}, -+ {88, "ENOTSOCK", "socket operation on non-socket"}, -+ {89, "EDESTADDRREQ", "destination address required"}, -+ {90, "EMSGSIZE", "message too long"}, -+ {91, "EPROTOTYPE", "protocol wrong type for socket"}, -+ {92, "ENOPROTOOPT", "protocol not available"}, -+ {93, "EPROTONOSUPPORT", "protocol not supported"}, -+ {94, "ESOCKTNOSUPPORT", "socket type not supported"}, -+ {95, "ENOTSUP", "operation not supported"}, -+ {96, "EPFNOSUPPORT", "protocol family not supported"}, -+ {97, "EAFNOSUPPORT", "address family not supported by protocol"}, -+ {98, "EADDRINUSE", "address already in use"}, -+ {99, "EADDRNOTAVAIL", "cannot assign requested address"}, -+ {100, "ENETDOWN", "network is down"}, -+ {101, "ENETUNREACH", "network is unreachable"}, -+ {102, "ENETRESET", "network dropped connection on reset"}, -+ {103, "ECONNABORTED", "software caused connection abort"}, -+ {104, "ECONNRESET", "connection reset by peer"}, -+ {105, "ENOBUFS", "no buffer space available"}, -+ {106, "EISCONN", "transport endpoint is already connected"}, -+ {107, "ENOTCONN", "transport endpoint is not connected"}, -+ {108, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, -+ {109, "ETOOMANYREFS", "too many references: cannot splice"}, -+ {110, "ETIMEDOUT", "connection timed out"}, -+ {111, "ECONNREFUSED", "connection refused"}, -+ {112, "EHOSTDOWN", "host is down"}, -+ {113, "EHOSTUNREACH", "no route to host"}, -+ {114, "EALREADY", "operation already in progress"}, -+ {115, "EINPROGRESS", "operation now in progress"}, -+ {116, "ESTALE", "stale file handle"}, -+ {117, "EUCLEAN", "structure needs cleaning"}, -+ {118, "ENOTNAM", "not a XENIX named type file"}, -+ {119, "ENAVAIL", "no XENIX semaphores available"}, -+ {120, "EISNAM", "is a named type file"}, -+ {121, "EREMOTEIO", "remote I/O error"}, -+ {122, "EDQUOT", "disk quota exceeded"}, -+ {123, "ENOMEDIUM", "no medium found"}, -+ {124, "EMEDIUMTYPE", "wrong medium type"}, -+ {125, "ECANCELED", "operation canceled"}, -+ {126, "ENOKEY", "required key not available"}, -+ {127, "EKEYEXPIRED", "key has expired"}, -+ {128, "EKEYREVOKED", "key has been revoked"}, -+ {129, "EKEYREJECTED", "key was rejected by service"}, -+ {130, "EOWNERDEAD", "owner died"}, -+ {131, "ENOTRECOVERABLE", "state not recoverable"}, -+ {132, "ERFKILL", "operation not possible due to RF-kill"}, -+ {133, "EHWPOISON", "memory page has hardware error"}, -+} -+ -+// Signal table -+var signalList = [...]struct { -+ num syscall.Signal -+ name string -+ desc string -+}{ -+ {1, "SIGHUP", "hangup"}, -+ {2, "SIGINT", "interrupt"}, -+ {3, "SIGQUIT", "quit"}, -+ {4, "SIGILL", "illegal instruction"}, -+ {5, "SIGTRAP", "trace/breakpoint trap"}, -+ {6, "SIGABRT", "aborted"}, -+ {7, "SIGBUS", "bus error"}, -+ {8, "SIGFPE", "floating point exception"}, -+ {9, "SIGKILL", "killed"}, -+ {10, "SIGUSR1", "user defined signal 1"}, -+ {11, "SIGSEGV", "segmentation fault"}, -+ {12, "SIGUSR2", "user defined signal 2"}, -+ {13, "SIGPIPE", "broken pipe"}, -+ {14, "SIGALRM", "alarm clock"}, -+ {15, "SIGTERM", "terminated"}, -+ {16, "SIGSTKFLT", "stack fault"}, -+ {17, "SIGCHLD", "child exited"}, -+ {18, "SIGCONT", "continued"}, -+ {19, "SIGSTOP", "stopped (signal)"}, -+ {20, "SIGTSTP", "stopped"}, -+ {21, "SIGTTIN", "stopped (tty input)"}, -+ {22, "SIGTTOU", "stopped (tty output)"}, -+ {23, "SIGURG", "urgent I/O condition"}, -+ {24, "SIGXCPU", "CPU time limit exceeded"}, -+ {25, "SIGXFSZ", "file size limit exceeded"}, -+ {26, "SIGVTALRM", "virtual timer expired"}, -+ {27, "SIGPROF", "profiling timer expired"}, -+ {28, "SIGWINCH", "window changed"}, -+ {29, "SIGIO", "I/O possible"}, -+ {30, "SIGPWR", "power failure"}, -+ {31, "SIGSYS", "bad system call"}, -+} -diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go -new file mode 100644 -index 0000000..15d33e4 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go -@@ -0,0 +1,2217 @@ -+// go run mksyscall.go -tags linux,riscv64 syscall_linux.go syscall_linux_riscv64.go -+// Code generated by the command above; see README.md. DO NOT EDIT. -+ -+// +build linux,riscv64 -+ -+package unix -+ -+import ( -+ "syscall" -+ "unsafe" -+) -+ -+var _ syscall.Errno -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func FanotifyInit(flags uint, event_f_flags uint) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_FANOTIFY_INIT, uintptr(flags), uintptr(event_f_flags), 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname *byte) (err error) { -+ _, _, e1 := Syscall6(SYS_FANOTIFY_MARK, uintptr(fd), uintptr(flags), uintptr(mask), uintptr(dirFd), uintptr(unsafe.Pointer(pathname)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ioctl(fd int, req uint, arg uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_LINKAT, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_OPENAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mode), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PPOLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Readlinkat(dirfd int, path string, buf []byte) (n int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(buf) > 0 { -+ _p1 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_READLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(buf)), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Symlinkat(oldpath string, newdirfd int, newpath string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_SYMLINKAT, uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unlinkat(dirfd int, path string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UNLINKAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_UTIMENSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(times)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getcwd(buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETCWD, uintptr(_p0), uintptr(len(buf)), 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func wait4(pid int, wstatus *_C_int, options int, rusage *Rusage) (wpid int, err error) { -+ r0, _, e1 := Syscall6(SYS_WAIT4, uintptr(pid), uintptr(unsafe.Pointer(wstatus)), uintptr(options), uintptr(unsafe.Pointer(rusage)), 0, 0) -+ wpid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func KeyctlInt(cmd int, arg2 int, arg3 int, arg4 int, arg5 int) (ret int, err error) { -+ r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func KeyctlBuffer(cmd int, arg2 int, buf []byte, arg5 int) (ret int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(buf)), uintptr(arg5), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func keyctlJoin(cmd int, arg2 string) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg2) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func keyctlSearch(cmd int, arg2 int, arg3 string, arg4 string, arg5 int) (ret int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg3) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(arg4) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(arg5), 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func keyctlIOV(cmd int, arg2 int, payload []Iovec, arg5 int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(payload) > 0 { -+ _p0 = unsafe.Pointer(&payload[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(_p0), uintptr(len(payload)), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func keyctlDH(cmd int, arg2 *KeyctlDHParams, buf []byte) (ret int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(unsafe.Pointer(arg2)), uintptr(_p0), uintptr(len(buf)), 0, 0) -+ ret = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PTRACE, uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func reboot(magic1 uint, magic2 uint, cmd int, arg string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(arg) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_REBOOT, uintptr(magic1), uintptr(magic2), uintptr(cmd), uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mount(source string, target string, fstype string, flags uintptr, data *byte) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(source) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(fstype) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MOUNT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(flags), uintptr(unsafe.Pointer(data)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Acct(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_ACCT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func AddKey(keyType string, description string, payload []byte, ringid int) (id int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(keyType) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(description) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(payload) > 0 { -+ _p2 = unsafe.Pointer(&payload[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_ADD_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(payload)), uintptr(ringid), 0) -+ id = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Adjtimex(buf *Timex) (state int, err error) { -+ r0, _, e1 := Syscall(SYS_ADJTIMEX, uintptr(unsafe.Pointer(buf)), 0, 0) -+ state = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chdir(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHDIR, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Chroot(path string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_CHROOT, uintptr(unsafe.Pointer(_p0)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGetres(clockid int32, res *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETRES, uintptr(clockid), uintptr(unsafe.Pointer(res)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockGettime(clockid int32, time *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_CLOCK_GETTIME, uintptr(clockid), uintptr(unsafe.Pointer(time)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func ClockNanosleep(clockid int32, flags int, request *Timespec, remain *Timespec) (err error) { -+ _, _, e1 := Syscall6(SYS_CLOCK_NANOSLEEP, uintptr(clockid), uintptr(flags), uintptr(unsafe.Pointer(request)), uintptr(unsafe.Pointer(remain)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Close(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_CLOSE, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func CopyFileRange(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_COPY_FILE_RANGE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func DeleteModule(name string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_DELETE_MODULE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup(oldfd int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_DUP, uintptr(oldfd), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Dup3(oldfd int, newfd int, flags int) (err error) { -+ _, _, e1 := Syscall(SYS_DUP3, uintptr(oldfd), uintptr(newfd), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCreate1(flag int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_EPOLL_CREATE1, uintptr(flag), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) { -+ _, _, e1 := RawSyscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Eventfd(initval uint, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Exit(code int) { -+ Syscall(SYS_EXIT_GROUP, uintptr(code), 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fallocate(fd int, mode uint32, off int64, len int64) (err error) { -+ _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchdir(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHDIR, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchmod(fd int, mode uint32) (err error) { -+ _, _, e1 := Syscall(SYS_FCHMOD, uintptr(fd), uintptr(mode), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FCHOWNAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(uid), uintptr(gid), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func fcntl(fd int, cmd int, arg int) (val int, err error) { -+ r0, _, e1 := Syscall(SYS_FCNTL, uintptr(fd), uintptr(cmd), uintptr(arg)) -+ val = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fdatasync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FDATASYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fgetxattr(fd int, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_FGETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func FinitModule(fd int, params string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(params) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_FINIT_MODULE, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flistxattr(fd int, dest []byte) (sz int, err error) { -+ var _p0 unsafe.Pointer -+ if len(dest) > 0 { -+ _p0 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_FLISTXATTR, uintptr(fd), uintptr(_p0), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Flock(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_FLOCK, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fremovexattr(fd int, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_FREMOVEXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsetxattr(fd int, attr string, dest []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_FSETXATTR, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fsync(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_FSYNC, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getdents(fd int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETDENTS64, uintptr(fd), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpgid(pid int) (pgid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETPGID, uintptr(pid), 0, 0) -+ pgid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpid() (pid int) { -+ r0, _, _ := RawSyscall(SYS_GETPID, 0, 0, 0) -+ pid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getppid() (ppid int) { -+ r0,_,_:=RawSyscall(SYS_GETPPID, 0, 0, 0) -+ ppid=int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getpriority(which int, who int) (prio int, err error) { -+ r0, _, e1 := Syscall(SYS_GETPRIORITY, uintptr(which), uintptr(who), 0) -+ prio = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrandom(buf []byte, flags int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_GETRANDOM, uintptr(_p0), uintptr(len(buf)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrusage(who int, rusage *Rusage) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRUSAGE, uintptr(who), uintptr(unsafe.Pointer(rusage)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getsid(pid int) (sid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETSID, uintptr(pid), 0, 0) -+ sid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettid() (tid int) { -+ r0, _, _ := RawSyscall(SYS_GETTID, 0, 0, 0) -+ tid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_GETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InitModule(moduleImage []byte, params string) (err error) { -+ var _p0 unsafe.Pointer -+ if len(moduleImage) > 0 { -+ _p0 = unsafe.Pointer(&moduleImage[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(params) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_INIT_MODULE, uintptr(_p0), uintptr(len(moduleImage)), uintptr(unsafe.Pointer(_p1))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyAddWatch(fd int, pathname string, mask uint32) (watchdesc int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(pathname) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_INOTIFY_ADD_WATCH, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(mask)) -+ watchdesc = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyInit1(flags int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_INIT1, uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func InotifyRmWatch(fd int, watchdesc uint32) (success int, err error) { -+ r0, _, e1 := RawSyscall(SYS_INOTIFY_RM_WATCH, uintptr(fd), uintptr(watchdesc), 0) -+ success = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Kill(pid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_KILL, uintptr(pid), uintptr(sig), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Klogctl(typ int, buf []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_SYSLOG, uintptr(typ), uintptr(_p0), uintptr(len(buf))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lgetxattr(path string, attr string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(dest) > 0 { -+ _p2 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_LGETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(dest)), 0, 0) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Llistxattr(path string, dest []byte) (sz int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 unsafe.Pointer -+ if len(dest) > 0 { -+ _p1 = unsafe.Pointer(&dest[0]) -+ } else { -+ _p1 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_LLISTXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(_p1), uintptr(len(dest))) -+ sz = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lremovexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_LREMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Lsetxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_LSETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func MemfdCreate(name string, flags int) (fd int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(name) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall(SYS_MEMFD_CREATE, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mkdirat(dirfd int, path string, mode uint32) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_MKDIRAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mknodat(dirfd int, path string, mode uint32, dev int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_MKNODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(dev), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Nanosleep(time *Timespec, leftover *Timespec) (err error) { -+ _, _, e1 := Syscall(SYS_NANOSLEEP, uintptr(unsafe.Pointer(time)), uintptr(unsafe.Pointer(leftover)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_PERF_EVENT_OPEN, uintptr(unsafe.Pointer(attr)), uintptr(pid), uintptr(cpu), uintptr(groupFd), uintptr(flags), 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func PivotRoot(newroot string, putold string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(newroot) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(putold) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_PIVOT_ROOT, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) { -+ _, _, e1 := RawSyscall6(SYS_PRLIMIT64, uintptr(pid), uintptr(resource), uintptr(unsafe.Pointer(newlimit)), uintptr(unsafe.Pointer(old)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_PRCTL, uintptr(option), uintptr(arg2), uintptr(arg3), uintptr(arg4), uintptr(arg5), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) { -+ r0, _, e1 := Syscall6(SYS_PSELECT6, uintptr(nfd), uintptr(unsafe.Pointer(r)), uintptr(unsafe.Pointer(w)), uintptr(unsafe.Pointer(e)), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func read(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Removexattr(path string, attr string) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_REMOVEXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Renameat2(olddirfd int, oldpath string, newdirfd int, newpath string, flags uint) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(oldpath) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(newpath) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_RENAMEAT2, uintptr(olddirfd), uintptr(unsafe.Pointer(_p0)), uintptr(newdirfd), uintptr(unsafe.Pointer(_p1)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func RequestKey(keyType string, description string, callback string, destRingid int) (id int, err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(keyType) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(description) -+ if err != nil { -+ return -+ } -+ var _p2 *byte -+ _p2, err = BytePtrFromString(callback) -+ if err != nil { -+ return -+ } -+ r0, _, e1 := Syscall6(SYS_REQUEST_KEY, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(unsafe.Pointer(_p2)), uintptr(destRingid), 0, 0) -+ id = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setdomainname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETDOMAINNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sethostname(p []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_SETHOSTNAME, uintptr(_p0), uintptr(len(p)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpgid(pid int, pgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETPGID, uintptr(pid), uintptr(pgid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setsid() (pid int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) -+ pid = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Settimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setns(fd int, nstype int) (err error) { -+ _, _, e1 := Syscall(SYS_SETNS, uintptr(fd), uintptr(nstype), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setpriority(which int, who int, prio int) (err error) { -+ _, _, e1 := Syscall(SYS_SETPRIORITY, uintptr(which), uintptr(who), uintptr(prio)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setxattr(path string, attr string, data []byte, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ var _p1 *byte -+ _p1, err = BytePtrFromString(attr) -+ if err != nil { -+ return -+ } -+ var _p2 unsafe.Pointer -+ if len(data) > 0 { -+ _p2 = unsafe.Pointer(&data[0]) -+ } else { -+ _p2 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SETXATTR, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(_p2), uintptr(len(data)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statx(dirfd int, path string, flags int, mask int, stat *Statx_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_STATX, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(mask), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Syncfs(fd int) (err error) { -+ _, _, e1 := Syscall(SYS_SYNCFS, uintptr(fd), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sync() { -+ Syscall(SYS_SYNC, 0, 0, 0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Sysinfo(info *Sysinfo_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SYSINFO, uintptr(unsafe.Pointer(info)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_TEE, uintptr(rfd), uintptr(wfd), uintptr(len), uintptr(flags), 0, 0) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Tgkill(tgid int, tid int, sig syscall.Signal) (err error) { -+ _, _, e1 := RawSyscall(SYS_TGKILL, uintptr(tgid), uintptr(tid), uintptr(sig)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Times(tms *Tms) (ticks uintptr, err error) { -+ r0, _, e1 := RawSyscall(SYS_TIMES, uintptr(unsafe.Pointer(tms)), 0, 0) -+ ticks = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Umask(mask int) (oldmask int) { -+ r0, _, _ := RawSyscall(SYS_UMASK, uintptr(mask), 0, 0) -+ oldmask = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Uname(buf *Utsname) (err error) { -+ _, _, e1 := RawSyscall(SYS_UNAME, uintptr(unsafe.Pointer(buf)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unmount(target string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(target) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_UMOUNT2, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Unshare(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_UNSHARE, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func write(fd int, p []byte) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(_p0), uintptr(len(p))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func exitThread(code int) (err error) { -+ _, _, e1 := Syscall(SYS_EXIT, uintptr(code), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func readlen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func writelen(fd int, p *byte, np int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_WRITE, uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(np)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func munmap(addr uintptr, length uintptr) (err error) { -+ _, _, e1 := Syscall(SYS_MUNMAP, uintptr(addr), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Madvise(b []byte, advice int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MADVISE, uintptr(_p0), uintptr(len(b)), uintptr(advice)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mprotect(b []byte, prot int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MPROTECT, uintptr(_p0), uintptr(len(b)), uintptr(prot)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Mlockall(flags int) (err error) { -+ _, _, e1 := Syscall(SYS_MLOCKALL, uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Msync(b []byte, flags int) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MSYNC, uintptr(_p0), uintptr(len(b)), uintptr(flags)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlock(b []byte) (err error) { -+ var _p0 unsafe.Pointer -+ if len(b) > 0 { -+ _p0 = unsafe.Pointer(&b[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall(SYS_MUNLOCK, uintptr(_p0), uintptr(len(b)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Munlockall() (err error) { -+ _, _, e1 := Syscall(SYS_MUNLOCKALL, 0, 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(events) > 0 { -+ _p0 = unsafe.Pointer(&events[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(_p0), uintptr(len(events)), uintptr(msec), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fadvise(fd int, offset int64, length int64, advice int) (err error) { -+ _, _, e1 := Syscall6(SYS_FADVISE64, uintptr(fd), uintptr(offset), uintptr(length), uintptr(advice), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fchown(fd int, uid int, gid int) (err error) { -+ _, _, e1 := Syscall(SYS_FCHOWN, uintptr(fd), uintptr(uid), uintptr(gid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstat(fd int, stat *Stat_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTAT, uintptr(fd), uintptr(unsafe.Pointer(stat)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatat(fd int, path string, stat *Stat_t, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_FSTATAT, uintptr(fd), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(stat)), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Fstatfs(fd int, buf *Statfs_t) (err error) { -+ _, _, e1 := Syscall(SYS_FSTATFS, uintptr(fd), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Ftruncate(fd int, length int64) (err error) { -+ _, _, e1 := Syscall(SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getegid() (egid int) { -+ r0, _, _ := RawSyscall(SYS_GETEGID, 0, 0, 0) -+ egid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Geteuid() (euid int) { -+ r0, _, _ := RawSyscall(SYS_GETEUID, 0, 0, 0) -+ euid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getgid() (gid int) { -+ r0, _, _ := RawSyscall(SYS_GETGID, 0, 0, 0) -+ gid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Getuid() (uid int) { -+ r0, _, _ := RawSyscall(SYS_GETUID, 0, 0, 0) -+ uid = int(r0) -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Listen(s int, n int) (err error) { -+ _, _, e1 := Syscall(SYS_LISTEN, uintptr(s), uintptr(n), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pread(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PREAD64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Pwrite(fd int, p []byte, offset int64) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_PWRITE64, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(offset), 0, 0) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Seek(fd int, offset int64, whence int) (off int64, err error) { -+ r0, _, e1 := Syscall(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence)) -+ off = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { -+ r0, _, e1 := Syscall6(SYS_SENDFILE, uintptr(outfd), uintptr(infd), uintptr(unsafe.Pointer(offset)), uintptr(count), 0, 0) -+ written = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsgid(gid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSGID, uintptr(gid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setfsuid(uid int) (err error) { -+ _, _, e1 := Syscall(SYS_SETFSUID, uintptr(uid), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setregid(rgid int, egid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREGID, uintptr(rgid), uintptr(egid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresgid(rgid int, egid int, sgid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESGID, uintptr(rgid), uintptr(egid), uintptr(sgid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setresuid(ruid int, euid int, suid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRESUID, uintptr(ruid), uintptr(euid), uintptr(suid)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setrlimit(resource int, rlim *Rlimit) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(resource), uintptr(unsafe.Pointer(rlim)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Setreuid(ruid int, euid int) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETREUID, uintptr(ruid), uintptr(euid), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Shutdown(fd int, how int) (err error) { -+ _, _, e1 := Syscall(SYS_SHUTDOWN, uintptr(fd), uintptr(how), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) { -+ r0, _, e1 := Syscall6(SYS_SPLICE, uintptr(rfd), uintptr(unsafe.Pointer(roff)), uintptr(wfd), uintptr(unsafe.Pointer(woff)), uintptr(len), uintptr(flags)) -+ n = int64(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Statfs(path string, buf *Statfs_t) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_STATFS, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(buf)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func SyncFileRange(fd int, off int64, n int64, flags int) (err error) { -+ _, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE, uintptr(fd), uintptr(off), uintptr(n), uintptr(flags), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Truncate(path string, length int64) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(path) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall(SYS_TRUNCATE, uintptr(unsafe.Pointer(_p0)), uintptr(length), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) { -+ r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) { -+ r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_BIND, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) { -+ _, _, e1 := Syscall(SYS_CONNECT, uintptr(s), uintptr(addr), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getgroups(n int, list *_Gid_t) (nn int, err error) { -+ r0, _, e1 := RawSyscall(SYS_GETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ nn = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setgroups(n int, list *_Gid_t) (err error) { -+ _, _, e1 := RawSyscall(SYS_SETGROUPS, uintptr(n), uintptr(unsafe.Pointer(list)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockopt(s int, level int, name int, val unsafe.Pointer, vallen *_Socklen) (err error) { -+ _, _, e1 := Syscall6(SYS_GETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(unsafe.Pointer(vallen)), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func setsockopt(s int, level int, name int, val unsafe.Pointer, vallen uintptr) (err error) { -+ _, _, e1 := Syscall6(SYS_SETSOCKOPT, uintptr(s), uintptr(level), uintptr(name), uintptr(val), uintptr(vallen), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socket(domain int, typ int, proto int) (fd int, err error) { -+ r0, _, e1 := RawSyscall(SYS_SOCKET, uintptr(domain), uintptr(typ), uintptr(proto)) -+ fd = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func socketpair(domain int, typ int, proto int, fd *[2]int32) (err error) { -+ _, _, e1 := RawSyscall6(SYS_SOCKETPAIR, uintptr(domain), uintptr(typ), uintptr(proto), uintptr(unsafe.Pointer(fd)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getpeername(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETPEERNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETSOCKNAME, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error) { -+ var _p0 unsafe.Pointer -+ if len(p) > 0 { -+ _p0 = unsafe.Pointer(&p[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ r0, _, e1 := Syscall6(SYS_RECVFROM, uintptr(fd), uintptr(_p0), uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen))) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error) { -+ var _p0 unsafe.Pointer -+ if len(buf) > 0 { -+ _p0 = unsafe.Pointer(&buf[0]) -+ } else { -+ _p0 = unsafe.Pointer(&_zero) -+ } -+ _, _, e1 := Syscall6(SYS_SENDTO, uintptr(s), uintptr(_p0), uintptr(len(buf)), uintptr(flags), uintptr(to), uintptr(addrlen)) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func recvmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_RECVMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func sendmsg(s int, msg *Msghdr, flags int) (n int, err error) { -+ r0, _, e1 := Syscall(SYS_SENDMSG, uintptr(s), uintptr(unsafe.Pointer(msg)), uintptr(flags)) -+ n = int(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) { -+ r0, _, e1 := Syscall6(SYS_MMAP, uintptr(addr), uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset)) -+ xaddr = uintptr(r0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func Gettimeofday(tv *Timeval) (err error) { -+ _, _, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tv)), 0, 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func pipe2(p *[2]_C_int, flags int) (err error) { -+ _, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -+ -+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT -+ -+func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) { -+ var _p0 *byte -+ _p0, err = BytePtrFromString(cmdline) -+ if err != nil { -+ return -+ } -+ _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) -+ if e1 != 0 { -+ err = errnoErr(e1) -+ } -+ return -+} -diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go -new file mode 100644 -index 0000000..38868fe ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go -@@ -0,0 +1,289 @@ -+// go run linux/mksysnum.go -Wall -Werror -static -I/tmp/include /tmp/include/asm/unistd.h -+// Code generated by the command above; see README.md. DO NOT EDIT. -+ -+// +build riscv64,linux -+ -+package unix -+ -+const ( -+ SYS_IO_SETUP = 0 -+ SYS_IO_DESTROY = 1 -+ SYS_IO_SUBMIT = 2 -+ SYS_IO_CANCEL = 3 -+ SYS_IO_GETEVENTS = 4 -+ SYS_SETXATTR = 5 -+ SYS_LSETXATTR = 6 -+ SYS_FSETXATTR = 7 -+ SYS_GETXATTR = 8 -+ SYS_LGETXATTR = 9 -+ SYS_FGETXATTR = 10 -+ SYS_LISTXATTR = 11 -+ SYS_LLISTXATTR = 12 -+ SYS_FLISTXATTR = 13 -+ SYS_REMOVEXATTR = 14 -+ SYS_LREMOVEXATTR = 15 -+ SYS_FREMOVEXATTR = 16 -+ SYS_GETCWD = 17 -+ SYS_LOOKUP_DCOOKIE = 18 -+ SYS_EVENTFD2 = 19 -+ SYS_EPOLL_CREATE1 = 20 -+ SYS_EPOLL_CTL = 21 -+ SYS_EPOLL_PWAIT = 22 -+ SYS_DUP = 23 -+ SYS_DUP3 = 24 -+ SYS_FCNTL = 25 -+ SYS_INOTIFY_INIT1 = 26 -+ SYS_INOTIFY_ADD_WATCH = 27 -+ SYS_INOTIFY_RM_WATCH = 28 -+ SYS_IOCTL = 29 -+ SYS_IOPRIO_SET = 30 -+ SYS_IOPRIO_GET = 31 -+ SYS_FLOCK = 32 -+ SYS_MKNODAT = 33 -+ SYS_MKDIRAT = 34 -+ SYS_UNLINKAT = 35 -+ SYS_SYMLINKAT = 36 -+ SYS_LINKAT = 37 -+ SYS_UMOUNT2 = 39 -+ SYS_MOUNT = 40 -+ SYS_PIVOT_ROOT = 41 -+ SYS_NFSSERVCTL = 42 -+ SYS_STATFS = 43 -+ SYS_FSTATFS = 44 -+ SYS_TRUNCATE = 45 -+ SYS_FTRUNCATE = 46 -+ SYS_FALLOCATE = 47 -+ SYS_FACCESSAT = 48 -+ SYS_CHDIR = 49 -+ SYS_FCHDIR = 50 -+ SYS_CHROOT = 51 -+ SYS_FCHMOD = 52 -+ SYS_FCHMODAT = 53 -+ SYS_FCHOWNAT = 54 -+ SYS_FCHOWN = 55 -+ SYS_OPENAT = 56 -+ SYS_CLOSE = 57 -+ SYS_VHANGUP = 58 -+ SYS_PIPE2 = 59 -+ SYS_QUOTACTL = 60 -+ SYS_GETDENTS64 = 61 -+ SYS_LSEEK = 62 -+ SYS_READ = 63 -+ SYS_WRITE = 64 -+ SYS_READV = 65 -+ SYS_WRITEV = 66 -+ SYS_PREAD64 = 67 -+ SYS_PWRITE64 = 68 -+ SYS_PREADV = 69 -+ SYS_PWRITEV = 70 -+ SYS_SENDFILE = 71 -+ SYS_PSELECT6 = 72 -+ SYS_PPOLL = 73 -+ SYS_SIGNALFD4 = 74 -+ SYS_VMSPLICE = 75 -+ SYS_SPLICE = 76 -+ SYS_TEE = 77 -+ SYS_READLINKAT = 78 -+ SYS_FSTATAT = 79 -+ SYS_FSTAT = 80 -+ SYS_SYNC = 81 -+ SYS_FSYNC = 82 -+ SYS_FDATASYNC = 83 -+ SYS_SYNC_FILE_RANGE = 84 -+ SYS_TIMERFD_CREATE = 85 -+ SYS_TIMERFD_SETTIME = 86 -+ SYS_TIMERFD_GETTIME = 87 -+ SYS_UTIMENSAT = 88 -+ SYS_ACCT = 89 -+ SYS_CAPGET = 90 -+ SYS_CAPSET = 91 -+ SYS_PERSONALITY = 92 -+ SYS_EXIT = 93 -+ SYS_EXIT_GROUP = 94 -+ SYS_WAITID = 95 -+ SYS_SET_TID_ADDRESS = 96 -+ SYS_UNSHARE = 97 -+ SYS_FUTEX = 98 -+ SYS_SET_ROBUST_LIST = 99 -+ SYS_GET_ROBUST_LIST = 100 -+ SYS_NANOSLEEP = 101 -+ SYS_GETITIMER = 102 -+ SYS_SETITIMER = 103 -+ SYS_KEXEC_LOAD = 104 -+ SYS_INIT_MODULE = 105 -+ SYS_DELETE_MODULE = 106 -+ SYS_TIMER_CREATE = 107 -+ SYS_TIMER_GETTIME = 108 -+ SYS_TIMER_GETOVERRUN = 109 -+ SYS_TIMER_SETTIME = 110 -+ SYS_TIMER_DELETE = 111 -+ SYS_CLOCK_SETTIME = 112 -+ SYS_CLOCK_GETTIME = 113 -+ SYS_CLOCK_GETRES = 114 -+ SYS_CLOCK_NANOSLEEP = 115 -+ SYS_SYSLOG = 116 -+ SYS_PTRACE = 117 -+ SYS_SCHED_SETPARAM = 118 -+ SYS_SCHED_SETSCHEDULER = 119 -+ SYS_SCHED_GETSCHEDULER = 120 -+ SYS_SCHED_GETPARAM = 121 -+ SYS_SCHED_SETAFFINITY = 122 -+ SYS_SCHED_GETAFFINITY = 123 -+ SYS_SCHED_YIELD = 124 -+ SYS_SCHED_GET_PRIORITY_MAX = 125 -+ SYS_SCHED_GET_PRIORITY_MIN = 126 -+ SYS_SCHED_RR_GET_INTERVAL = 127 -+ SYS_RESTART_SYSCALL = 128 -+ SYS_KILL = 129 -+ SYS_TKILL = 130 -+ SYS_TGKILL = 131 -+ SYS_SIGALTSTACK = 132 -+ SYS_RT_SIGSUSPEND = 133 -+ SYS_RT_SIGACTION = 134 -+ SYS_RT_SIGPROCMASK = 135 -+ SYS_RT_SIGPENDING = 136 -+ SYS_RT_SIGTIMEDWAIT = 137 -+ SYS_RT_SIGQUEUEINFO = 138 -+ SYS_RT_SIGRETURN = 139 -+ SYS_SETPRIORITY = 140 -+ SYS_GETPRIORITY = 141 -+ SYS_REBOOT = 142 -+ SYS_SETREGID = 143 -+ SYS_SETGID = 144 -+ SYS_SETREUID = 145 -+ SYS_SETUID = 146 -+ SYS_SETRESUID = 147 -+ SYS_GETRESUID = 148 -+ SYS_SETRESGID = 149 -+ SYS_GETRESGID = 150 -+ SYS_SETFSUID = 151 -+ SYS_SETFSGID = 152 -+ SYS_TIMES = 153 -+ SYS_SETPGID = 154 -+ SYS_GETPGID = 155 -+ SYS_GETSID = 156 -+ SYS_SETSID = 157 -+ SYS_GETGROUPS = 158 -+ SYS_SETGROUPS = 159 -+ SYS_UNAME = 160 -+ SYS_SETHOSTNAME = 161 -+ SYS_SETDOMAINNAME = 162 -+ SYS_GETRLIMIT = 163 -+ SYS_SETRLIMIT = 164 -+ SYS_GETRUSAGE = 165 -+ SYS_UMASK = 166 -+ SYS_PRCTL = 167 -+ SYS_GETCPU = 168 -+ SYS_GETTIMEOFDAY = 169 -+ SYS_SETTIMEOFDAY = 170 -+ SYS_ADJTIMEX = 171 -+ SYS_GETPID = 172 -+ SYS_GETPPID = 173 -+ SYS_GETUID = 174 -+ SYS_GETEUID = 175 -+ SYS_GETGID = 176 -+ SYS_GETEGID = 177 -+ SYS_GETTID = 178 -+ SYS_SYSINFO = 179 -+ SYS_MQ_OPEN = 180 -+ SYS_MQ_UNLINK = 181 -+ SYS_MQ_TIMEDSEND = 182 -+ SYS_MQ_TIMEDRECEIVE = 183 -+ SYS_MQ_NOTIFY = 184 -+ SYS_MQ_GETSETATTR = 185 -+ SYS_MSGGET = 186 -+ SYS_MSGCTL = 187 -+ SYS_MSGRCV = 188 -+ SYS_MSGSND = 189 -+ SYS_SEMGET = 190 -+ SYS_SEMCTL = 191 -+ SYS_SEMTIMEDOP = 192 -+ SYS_SEMOP = 193 -+ SYS_SHMGET = 194 -+ SYS_SHMCTL = 195 -+ SYS_SHMAT = 196 -+ SYS_SHMDT = 197 -+ SYS_SOCKET = 198 -+ SYS_SOCKETPAIR = 199 -+ SYS_BIND = 200 -+ SYS_LISTEN = 201 -+ SYS_ACCEPT = 202 -+ SYS_CONNECT = 203 -+ SYS_GETSOCKNAME = 204 -+ SYS_GETPEERNAME = 205 -+ SYS_SENDTO = 206 -+ SYS_RECVFROM = 207 -+ SYS_SETSOCKOPT = 208 -+ SYS_GETSOCKOPT = 209 -+ SYS_SHUTDOWN = 210 -+ SYS_SENDMSG = 211 -+ SYS_RECVMSG = 212 -+ SYS_READAHEAD = 213 -+ SYS_BRK = 214 -+ SYS_MUNMAP = 215 -+ SYS_MREMAP = 216 -+ SYS_ADD_KEY = 217 -+ SYS_REQUEST_KEY = 218 -+ SYS_KEYCTL = 219 -+ SYS_CLONE = 220 -+ SYS_EXECVE = 221 -+ SYS_MMAP = 222 -+ SYS_FADVISE64 = 223 -+ SYS_SWAPON = 224 -+ SYS_SWAPOFF = 225 -+ SYS_MPROTECT = 226 -+ SYS_MSYNC = 227 -+ SYS_MLOCK = 228 -+ SYS_MUNLOCK = 229 -+ SYS_MLOCKALL = 230 -+ SYS_MUNLOCKALL = 231 -+ SYS_MINCORE = 232 -+ SYS_MADVISE = 233 -+ SYS_REMAP_FILE_PAGES = 234 -+ SYS_MBIND = 235 -+ SYS_GET_MEMPOLICY = 236 -+ SYS_SET_MEMPOLICY = 237 -+ SYS_MIGRATE_PAGES = 238 -+ SYS_MOVE_PAGES = 239 -+ SYS_RT_TGSIGQUEUEINFO = 240 -+ SYS_PERF_EVENT_OPEN = 241 -+ SYS_ACCEPT4 = 242 -+ SYS_RECVMMSG = 243 -+ SYS_ARCH_SPECIFIC_SYSCALL = 244 -+ SYS_WAIT4 = 260 -+ SYS_PRLIMIT64 = 261 -+ SYS_FANOTIFY_INIT = 262 -+ SYS_FANOTIFY_MARK = 263 -+ SYS_NAME_TO_HANDLE_AT = 264 -+ SYS_OPEN_BY_HANDLE_AT = 265 -+ SYS_CLOCK_ADJTIME = 266 -+ SYS_SYNCFS = 267 -+ SYS_SETNS = 268 -+ SYS_SENDMMSG = 269 -+ SYS_PROCESS_VM_READV = 270 -+ SYS_PROCESS_VM_WRITEV = 271 -+ SYS_KCMP = 272 -+ SYS_FINIT_MODULE = 273 -+ SYS_SCHED_SETATTR = 274 -+ SYS_SCHED_GETATTR = 275 -+ SYS_RENAMEAT2 = 276 -+ SYS_SECCOMP = 277 -+ SYS_GETRANDOM = 278 -+ SYS_MEMFD_CREATE = 279 -+ SYS_BPF = 280 -+ SYS_EXECVEAT = 281 -+ SYS_USERFAULTFD = 282 -+ SYS_MEMBARRIER = 283 -+ SYS_MLOCK2 = 284 -+ SYS_COPY_FILE_RANGE = 285 -+ SYS_PREADV2 = 286 -+ SYS_PWRITEV2 = 287 -+ SYS_PKEY_MPROTECT = 288 -+ SYS_PKEY_ALLOC = 289 -+ SYS_PKEY_FREE = 290 -+ SYS_STATX = 291 -+ SYS_IO_PGETEVENTS = 292 -+ SYS_RSEQ = 293 -+ SYS_KEXEC_FILE_LOAD = 294 -+ SYS_FUTIMESAT = 295 -+) -diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go -new file mode 100644 -index 0000000..c37e476 ---- /dev/null -+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go -@@ -0,0 +1,2334 @@ -+// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go -+// Code generated by the command above; see README.md. DO NOT EDIT. -+ -+// +build riscv64,linux -+ -+package unix -+ -+const ( -+ sizeofPtr = 0x8 -+ sizeofShort = 0x2 -+ sizeofInt = 0x4 -+ sizeofLong = 0x8 -+ sizeofLongLong = 0x8 -+ PathMax = 0x1000 -+) -+ -+type ( -+ _C_short int16 -+ _C_int int32 -+ _C_long int64 -+ _C_long_long int64 -+) -+ -+type Timespec struct { -+ Sec int64 -+ Nsec int64 -+} -+ -+type Timeval struct { -+ Sec int64 -+ Usec int64 -+} -+ -+type Timex struct { -+ Modes uint32 -+ Offset int64 -+ Freq int64 -+ Maxerror int64 -+ Esterror int64 -+ Status int32 -+ Constant int64 -+ Precision int64 -+ Tolerance int64 -+ Time Timeval -+ Tick int64 -+ Ppsfreq int64 -+ Jitter int64 -+ Shift int32 -+ Stabil int64 -+ Jitcnt int64 -+ Calcnt int64 -+ Errcnt int64 -+ Stbcnt int64 -+ Tai int32 -+ _ [44]byte -+} -+ -+type Time_t int64 -+ -+type Tms struct { -+ Utime int64 -+ Stime int64 -+ Cutime int64 -+ Cstime int64 -+} -+ -+type Utimbuf struct { -+ Actime int64 -+ Modtime int64 -+} -+ -+type Rusage struct { -+ Utime Timeval -+ Stime Timeval -+ Maxrss int64 -+ Ixrss int64 -+ Idrss int64 -+ Isrss int64 -+ Minflt int64 -+ Majflt int64 -+ Nswap int64 -+ Inblock int64 -+ Oublock int64 -+ Msgsnd int64 -+ Msgrcv int64 -+ Nsignals int64 -+ Nvcsw int64 -+ Nivcsw int64 -+} -+ -+type Rlimit struct { -+ Cur uint64 -+ Max uint64 -+} -+ -+type _Gid_t uint32 -+ -+type Stat_t struct { -+ Dev uint64 -+ Ino uint64 -+ Mode uint32 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Rdev uint64 -+ _ uint64 -+ Size int64 -+ Blksize int32 -+ _ int32 -+ Blocks int64 -+ Atim Timespec -+ Mtim Timespec -+ Ctim Timespec -+ _ [2]int32 -+} -+ -+type StatxTimestamp struct { -+ Sec int64 -+ Nsec uint32 -+ _ int32 -+} -+ -+type Statx_t struct { -+ Mask uint32 -+ Blksize uint32 -+ Attributes uint64 -+ Nlink uint32 -+ Uid uint32 -+ Gid uint32 -+ Mode uint16 -+ _ [1]uint16 -+ Ino uint64 -+ Size uint64 -+ Blocks uint64 -+ Attributes_mask uint64 -+ Atime StatxTimestamp -+ Btime StatxTimestamp -+ Ctime StatxTimestamp -+ Mtime StatxTimestamp -+ Rdev_major uint32 -+ Rdev_minor uint32 -+ Dev_major uint32 -+ Dev_minor uint32 -+ _ [14]uint64 -+} -+ -+type Dirent struct { -+ Ino uint64 -+ Off int64 -+ Reclen uint16 -+ Type uint8 -+ Name [256]uint8 -+ _ [5]byte -+} -+ -+type Fsid struct { -+ Val [2]int32 -+} -+ -+type Flock_t struct { -+ Type int16 -+ Whence int16 -+ Start int64 -+ Len int64 -+ Pid int32 -+ _ [4]byte -+} -+ -+type FscryptPolicy struct { -+ Version uint8 -+ Contents_encryption_mode uint8 -+ Filenames_encryption_mode uint8 -+ Flags uint8 -+ Master_key_descriptor [8]uint8 -+} -+ -+type FscryptKey struct { -+ Mode uint32 -+ Raw [64]uint8 -+ Size uint32 -+} -+ -+type KeyctlDHParams struct { -+ Private int32 -+ Prime int32 -+ Base int32 -+} -+ -+const ( -+ FADV_NORMAL = 0x0 -+ FADV_RANDOM = 0x1 -+ FADV_SEQUENTIAL = 0x2 -+ FADV_WILLNEED = 0x3 -+ FADV_DONTNEED = 0x4 -+ FADV_NOREUSE = 0x5 -+) -+ -+type RawSockaddrInet4 struct { -+ Family uint16 -+ Port uint16 -+ Addr [4]byte /* in_addr */ -+ Zero [8]uint8 -+} -+ -+type RawSockaddrInet6 struct { -+ Family uint16 -+ Port uint16 -+ Flowinfo uint32 -+ Addr [16]byte /* in6_addr */ -+ Scope_id uint32 -+} -+ -+type RawSockaddrUnix struct { -+ Family uint16 -+ Path [108]int8 -+} -+ -+type RawSockaddrLinklayer struct { -+ Family uint16 -+ Protocol uint16 -+ Ifindex int32 -+ Hatype uint16 -+ Pkttype uint8 -+ Halen uint8 -+ Addr [8]uint8 -+} -+ -+type RawSockaddrNetlink struct { -+ Family uint16 -+ Pad uint16 -+ Pid uint32 -+ Groups uint32 -+} -+ -+type RawSockaddrHCI struct { -+ Family uint16 -+ Dev uint16 -+ Channel uint16 -+} -+ -+type RawSockaddrL2 struct { -+ Family uint16 -+ Psm uint16 -+ Bdaddr [6]uint8 -+ Cid uint16 -+ Bdaddr_type uint8 -+ _ [1]byte -+} -+ -+type RawSockaddrRFCOMM struct { -+ Family uint16 -+ Bdaddr [6]uint8 -+ Channel uint8 -+ _ [1]byte -+} -+ -+type RawSockaddrCAN struct { -+ Family uint16 -+ Ifindex int32 -+ Addr [8]byte -+} -+ -+type RawSockaddrALG struct { -+ Family uint16 -+ Type [14]uint8 -+ Feat uint32 -+ Mask uint32 -+ Name [64]uint8 -+} -+ -+type RawSockaddrVM struct { -+ Family uint16 -+ Reserved1 uint16 -+ Port uint32 -+ Cid uint32 -+ Zero [4]uint8 -+} -+ -+type RawSockaddrXDP struct { -+ Family uint16 -+ Flags uint16 -+ Ifindex uint32 -+ Queue_id uint32 -+ Shared_umem_fd uint32 -+} -+ -+type RawSockaddrPPPoX [0x1e]byte -+ -+type RawSockaddr struct { -+ Family uint16 -+ Data [14]uint8 -+} -+ -+type RawSockaddrAny struct { -+ Addr RawSockaddr -+ Pad [96]uint8 -+} -+ -+type _Socklen uint32 -+ -+type Linger struct { -+ Onoff int32 -+ Linger int32 -+} -+ -+type Iovec struct { -+ Base *byte -+ Len uint64 -+} -+ -+type IPMreq struct { -+ Multiaddr [4]byte /* in_addr */ -+ Interface [4]byte /* in_addr */ -+} -+ -+type IPMreqn struct { -+ Multiaddr [4]byte /* in_addr */ -+ Address [4]byte /* in_addr */ -+ Ifindex int32 -+} -+ -+type IPv6Mreq struct { -+ Multiaddr [16]byte /* in6_addr */ -+ Interface uint32 -+} -+ -+type PacketMreq struct { -+ Ifindex int32 -+ Type uint16 -+ Alen uint16 -+ Address [8]uint8 -+} -+ -+type Msghdr struct { -+ Name *byte -+ Namelen uint32 -+ Iov *Iovec -+ Iovlen uint64 -+ Control *byte -+ Controllen uint64 -+ Flags int32 -+ _ [4]byte -+} -+ -+type Cmsghdr struct { -+ Len uint64 -+ Level int32 -+ Type int32 -+} -+ -+type Inet4Pktinfo struct { -+ Ifindex int32 -+ Spec_dst [4]byte /* in_addr */ -+ Addr [4]byte /* in_addr */ -+} -+ -+type Inet6Pktinfo struct { -+ Addr [16]byte /* in6_addr */ -+ Ifindex uint32 -+} -+ -+type IPv6MTUInfo struct { -+ Addr RawSockaddrInet6 -+ Mtu uint32 -+} -+ -+type ICMPv6Filter struct { -+ Data [8]uint32 -+} -+ -+type Ucred struct { -+ Pid int32 -+ Uid uint32 -+ Gid uint32 -+} -+ -+type TCPInfo struct { -+ State uint8 -+ Ca_state uint8 -+ Retransmits uint8 -+ Probes uint8 -+ Backoff uint8 -+ Options uint8 -+ Rto uint32 -+ Ato uint32 -+ Snd_mss uint32 -+ Rcv_mss uint32 -+ Unacked uint32 -+ Sacked uint32 -+ Lost uint32 -+ Retrans uint32 -+ Fackets uint32 -+ Last_data_sent uint32 -+ Last_ack_sent uint32 -+ Last_data_recv uint32 -+ Last_ack_recv uint32 -+ Pmtu uint32 -+ Rcv_ssthresh uint32 -+ Rtt uint32 -+ Rttvar uint32 -+ Snd_ssthresh uint32 -+ Snd_cwnd uint32 -+ Advmss uint32 -+ Reordering uint32 -+ Rcv_rtt uint32 -+ Rcv_space uint32 -+ Total_retrans uint32 -+} -+ -+type CanFilter struct { -+ Id uint32 -+ Mask uint32 -+} -+ -+const ( -+ SizeofSockaddrInet4 = 0x10 -+ SizeofSockaddrInet6 = 0x1c -+ SizeofSockaddrAny = 0x70 -+ SizeofSockaddrUnix = 0x6e -+ SizeofSockaddrLinklayer = 0x14 -+ SizeofSockaddrNetlink = 0xc -+ SizeofSockaddrHCI = 0x6 -+ SizeofSockaddrL2 = 0xe -+ SizeofSockaddrRFCOMM = 0xa -+ SizeofSockaddrCAN = 0x10 -+ SizeofSockaddrALG = 0x58 -+ SizeofSockaddrVM = 0x10 -+ SizeofSockaddrXDP = 0x10 -+ SizeofSockaddrPPPoX = 0x1e -+ SizeofLinger = 0x8 -+ SizeofIovec = 0x10 -+ SizeofIPMreq = 0x8 -+ SizeofIPMreqn = 0xc -+ SizeofIPv6Mreq = 0x14 -+ SizeofPacketMreq = 0x10 -+ SizeofMsghdr = 0x38 -+ SizeofCmsghdr = 0x10 -+ SizeofInet4Pktinfo = 0xc -+ SizeofInet6Pktinfo = 0x14 -+ SizeofIPv6MTUInfo = 0x20 -+ SizeofICMPv6Filter = 0x20 -+ SizeofUcred = 0xc -+ SizeofTCPInfo = 0x68 -+ SizeofCanFilter = 0x8 -+) -+ -+const ( -+ NDA_UNSPEC = 0x0 -+ NDA_DST = 0x1 -+ NDA_LLADDR = 0x2 -+ NDA_CACHEINFO = 0x3 -+ NDA_PROBES = 0x4 -+ NDA_VLAN = 0x5 -+ NDA_PORT = 0x6 -+ NDA_VNI = 0x7 -+ NDA_IFINDEX = 0x8 -+ NDA_MASTER = 0x9 -+ NDA_LINK_NETNSID = 0xa -+ NDA_SRC_VNI = 0xb -+ NTF_USE = 0x1 -+ NTF_SELF = 0x2 -+ NTF_MASTER = 0x4 -+ NTF_PROXY = 0x8 -+ NTF_EXT_LEARNED = 0x10 -+ NTF_OFFLOADED = 0x20 -+ NTF_ROUTER = 0x80 -+ NUD_INCOMPLETE = 0x1 -+ NUD_REACHABLE = 0x2 -+ NUD_STALE = 0x4 -+ NUD_DELAY = 0x8 -+ NUD_PROBE = 0x10 -+ NUD_FAILED = 0x20 -+ NUD_NOARP = 0x40 -+ NUD_PERMANENT = 0x80 -+ NUD_NONE = 0x0 -+ IFA_UNSPEC = 0x0 -+ IFA_ADDRESS = 0x1 -+ IFA_LOCAL = 0x2 -+ IFA_LABEL = 0x3 -+ IFA_BROADCAST = 0x4 -+ IFA_ANYCAST = 0x5 -+ IFA_CACHEINFO = 0x6 -+ IFA_MULTICAST = 0x7 -+ IFA_FLAGS = 0x8 -+ IFA_RT_PRIORITY = 0x9 -+ IFA_TARGET_NETNSID = 0xa -+ IFLA_UNSPEC = 0x0 -+ IFLA_ADDRESS = 0x1 -+ IFLA_BROADCAST = 0x2 -+ IFLA_IFNAME = 0x3 -+ IFLA_MTU = 0x4 -+ IFLA_LINK = 0x5 -+ IFLA_QDISC = 0x6 -+ IFLA_STATS = 0x7 -+ IFLA_COST = 0x8 -+ IFLA_PRIORITY = 0x9 -+ IFLA_MASTER = 0xa -+ IFLA_WIRELESS = 0xb -+ IFLA_PROTINFO = 0xc -+ IFLA_TXQLEN = 0xd -+ IFLA_MAP = 0xe -+ IFLA_WEIGHT = 0xf -+ IFLA_OPERSTATE = 0x10 -+ IFLA_LINKMODE = 0x11 -+ IFLA_LINKINFO = 0x12 -+ IFLA_NET_NS_PID = 0x13 -+ IFLA_IFALIAS = 0x14 -+ IFLA_NUM_VF = 0x15 -+ IFLA_VFINFO_LIST = 0x16 -+ IFLA_STATS64 = 0x17 -+ IFLA_VF_PORTS = 0x18 -+ IFLA_PORT_SELF = 0x19 -+ IFLA_AF_SPEC = 0x1a -+ IFLA_GROUP = 0x1b -+ IFLA_NET_NS_FD = 0x1c -+ IFLA_EXT_MASK = 0x1d -+ IFLA_PROMISCUITY = 0x1e -+ IFLA_NUM_TX_QUEUES = 0x1f -+ IFLA_NUM_RX_QUEUES = 0x20 -+ IFLA_CARRIER = 0x21 -+ IFLA_PHYS_PORT_ID = 0x22 -+ IFLA_CARRIER_CHANGES = 0x23 -+ IFLA_PHYS_SWITCH_ID = 0x24 -+ IFLA_LINK_NETNSID = 0x25 -+ IFLA_PHYS_PORT_NAME = 0x26 -+ IFLA_PROTO_DOWN = 0x27 -+ IFLA_GSO_MAX_SEGS = 0x28 -+ IFLA_GSO_MAX_SIZE = 0x29 -+ IFLA_PAD = 0x2a -+ IFLA_XDP = 0x2b -+ IFLA_EVENT = 0x2c -+ IFLA_NEW_NETNSID = 0x2d -+ IFLA_IF_NETNSID = 0x2e -+ IFLA_TARGET_NETNSID = 0x2e -+ IFLA_CARRIER_UP_COUNT = 0x2f -+ IFLA_CARRIER_DOWN_COUNT = 0x30 -+ IFLA_NEW_IFINDEX = 0x31 -+ IFLA_MIN_MTU = 0x32 -+ IFLA_MAX_MTU = 0x33 -+ IFLA_MAX = 0x33 -+ IFLA_INFO_KIND = 0x1 -+ IFLA_INFO_DATA = 0x2 -+ IFLA_INFO_XSTATS = 0x3 -+ IFLA_INFO_SLAVE_KIND = 0x4 -+ IFLA_INFO_SLAVE_DATA = 0x5 -+ RT_SCOPE_UNIVERSE = 0x0 -+ RT_SCOPE_SITE = 0xc8 -+ RT_SCOPE_LINK = 0xfd -+ RT_SCOPE_HOST = 0xfe -+ RT_SCOPE_NOWHERE = 0xff -+ RT_TABLE_UNSPEC = 0x0 -+ RT_TABLE_COMPAT = 0xfc -+ RT_TABLE_DEFAULT = 0xfd -+ RT_TABLE_MAIN = 0xfe -+ RT_TABLE_LOCAL = 0xff -+ RT_TABLE_MAX = 0xffffffff -+ RTA_UNSPEC = 0x0 -+ RTA_DST = 0x1 -+ RTA_SRC = 0x2 -+ RTA_IIF = 0x3 -+ RTA_OIF = 0x4 -+ RTA_GATEWAY = 0x5 -+ RTA_PRIORITY = 0x6 -+ RTA_PREFSRC = 0x7 -+ RTA_METRICS = 0x8 -+ RTA_MULTIPATH = 0x9 -+ RTA_FLOW = 0xb -+ RTA_CACHEINFO = 0xc -+ RTA_TABLE = 0xf -+ RTA_MARK = 0x10 -+ RTA_MFC_STATS = 0x11 -+ RTA_VIA = 0x12 -+ RTA_NEWDST = 0x13 -+ RTA_PREF = 0x14 -+ RTA_ENCAP_TYPE = 0x15 -+ RTA_ENCAP = 0x16 -+ RTA_EXPIRES = 0x17 -+ RTA_PAD = 0x18 -+ RTA_UID = 0x19 -+ RTA_TTL_PROPAGATE = 0x1a -+ RTA_IP_PROTO = 0x1b -+ RTA_SPORT = 0x1c -+ RTA_DPORT = 0x1d -+ RTN_UNSPEC = 0x0 -+ RTN_UNICAST = 0x1 -+ RTN_LOCAL = 0x2 -+ RTN_BROADCAST = 0x3 -+ RTN_ANYCAST = 0x4 -+ RTN_MULTICAST = 0x5 -+ RTN_BLACKHOLE = 0x6 -+ RTN_UNREACHABLE = 0x7 -+ RTN_PROHIBIT = 0x8 -+ RTN_THROW = 0x9 -+ RTN_NAT = 0xa -+ RTN_XRESOLVE = 0xb -+ RTNLGRP_NONE = 0x0 -+ RTNLGRP_LINK = 0x1 -+ RTNLGRP_NOTIFY = 0x2 -+ RTNLGRP_NEIGH = 0x3 -+ RTNLGRP_TC = 0x4 -+ RTNLGRP_IPV4_IFADDR = 0x5 -+ RTNLGRP_IPV4_MROUTE = 0x6 -+ RTNLGRP_IPV4_ROUTE = 0x7 -+ RTNLGRP_IPV4_RULE = 0x8 -+ RTNLGRP_IPV6_IFADDR = 0x9 -+ RTNLGRP_IPV6_MROUTE = 0xa -+ RTNLGRP_IPV6_ROUTE = 0xb -+ RTNLGRP_IPV6_IFINFO = 0xc -+ RTNLGRP_IPV6_PREFIX = 0x12 -+ RTNLGRP_IPV6_RULE = 0x13 -+ RTNLGRP_ND_USEROPT = 0x14 -+ SizeofNlMsghdr = 0x10 -+ SizeofNlMsgerr = 0x14 -+ SizeofRtGenmsg = 0x1 -+ SizeofNlAttr = 0x4 -+ SizeofRtAttr = 0x4 -+ SizeofIfInfomsg = 0x10 -+ SizeofIfAddrmsg = 0x8 -+ SizeofRtMsg = 0xc -+ SizeofRtNexthop = 0x8 -+ SizeofNdUseroptmsg = 0x10 -+ SizeofNdMsg = 0xc -+) -+ -+type NlMsghdr struct { -+ Len uint32 -+ Type uint16 -+ Flags uint16 -+ Seq uint32 -+ Pid uint32 -+} -+ -+type NlMsgerr struct { -+ Error int32 -+ Msg NlMsghdr -+} -+ -+type RtGenmsg struct { -+ Family uint8 -+} -+ -+type NlAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type RtAttr struct { -+ Len uint16 -+ Type uint16 -+} -+ -+type IfInfomsg struct { -+ Family uint8 -+ _ uint8 -+ Type uint16 -+ Index int32 -+ Flags uint32 -+ Change uint32 -+} -+ -+type IfAddrmsg struct { -+ Family uint8 -+ Prefixlen uint8 -+ Flags uint8 -+ Scope uint8 -+ Index uint32 -+} -+ -+type RtMsg struct { -+ Family uint8 -+ Dst_len uint8 -+ Src_len uint8 -+ Tos uint8 -+ Table uint8 -+ Protocol uint8 -+ Scope uint8 -+ Type uint8 -+ Flags uint32 -+} -+ -+type RtNexthop struct { -+ Len uint16 -+ Flags uint8 -+ Hops uint8 -+ Ifindex int32 -+} -+ -+type NdUseroptmsg struct { -+ Family uint8 -+ Pad1 uint8 -+ Opts_len uint16 -+ Ifindex int32 -+ Icmp_type uint8 -+ Icmp_code uint8 -+ Pad2 uint16 -+ Pad3 uint32 -+} -+ -+type NdMsg struct { -+ Family uint8 -+ Pad1 uint8 -+ Pad2 uint16 -+ Ifindex int32 -+ State uint16 -+ Flags uint8 -+ Type uint8 -+} -+ -+const ( -+ SizeofSockFilter = 0x8 -+ SizeofSockFprog = 0x10 -+) -+ -+type SockFilter struct { -+ Code uint16 -+ Jt uint8 -+ Jf uint8 -+ K uint32 -+} -+ -+type SockFprog struct { -+ Len uint16 -+ Filter *SockFilter -+} -+ -+type InotifyEvent struct { -+ Wd int32 -+ Mask uint32 -+ Cookie uint32 -+ Len uint32 -+} -+ -+const SizeofInotifyEvent = 0x10 -+ -+type PtraceRegs struct { -+ Pc uint64 -+ Ra uint64 -+ Sp uint64 -+ Gp uint64 -+ Tp uint64 -+ T0 uint64 -+ T1 uint64 -+ T2 uint64 -+ S0 uint64 -+ S1 uint64 -+ A0 uint64 -+ A1 uint64 -+ A2 uint64 -+ A3 uint64 -+ A4 uint64 -+ A5 uint64 -+ A6 uint64 -+ A7 uint64 -+ S2 uint64 -+ S3 uint64 -+ S4 uint64 -+ S5 uint64 -+ S6 uint64 -+ S7 uint64 -+ S8 uint64 -+ S9 uint64 -+ S10 uint64 -+ S11 uint64 -+ T3 uint64 -+ T4 uint64 -+ T5 uint64 -+ T6 uint64 -+} -+ -+type FdSet struct { -+ Bits [16]int64 -+} -+ -+type Sysinfo_t struct { -+ Uptime int64 -+ Loads [3]uint64 -+ Totalram uint64 -+ Freeram uint64 -+ Sharedram uint64 -+ Bufferram uint64 -+ Totalswap uint64 -+ Freeswap uint64 -+ Procs uint16 -+ Pad uint16 -+ Totalhigh uint64 -+ Freehigh uint64 -+ Unit uint32 -+ _ [0]uint8 -+ _ [4]byte -+} -+ -+type Utsname struct { -+ Sysname [65]byte -+ Nodename [65]byte -+ Release [65]byte -+ Version [65]byte -+ Machine [65]byte -+ Domainname [65]byte -+} -+ -+type Ustat_t struct { -+ Tfree int32 -+ Tinode uint64 -+ Fname [6]uint8 -+ Fpack [6]uint8 -+ _ [4]byte -+} -+ -+type EpollEvent struct { -+ Events uint32 -+ Fd int32 -+ Pad int32 -+} -+ -+const ( -+ AT_EMPTY_PATH = 0x1000 -+ AT_FDCWD = -0x64 -+ AT_NO_AUTOMOUNT = 0x800 -+ AT_REMOVEDIR = 0x200 -+ -+ AT_STATX_SYNC_AS_STAT = 0x0 -+ AT_STATX_FORCE_SYNC = 0x2000 -+ AT_STATX_DONT_SYNC = 0x4000 -+ -+ AT_SYMLINK_FOLLOW = 0x400 -+ AT_SYMLINK_NOFOLLOW = 0x100 -+ -+ AT_EACCESS = 0x200 -+) -+ -+type PollFd struct { -+ Fd int32 -+ Events int16 -+ Revents int16 -+} -+ -+const ( -+ POLLIN = 0x1 -+ POLLPRI = 0x2 -+ POLLOUT = 0x4 -+ POLLRDHUP = 0x2000 -+ POLLERR = 0x8 -+ POLLHUP = 0x10 -+ POLLNVAL = 0x20 -+) -+ -+type Sigset_t struct { -+ Val [16]uint64 -+} -+ -+type SignalfdSiginfo struct { -+ Signo uint32 -+ Errno int32 -+ Code int32 -+ Pid uint32 -+ Uid uint32 -+ Fd int32 -+ Tid uint32 -+ Band uint32 -+ Overrun uint32 -+ Trapno uint32 -+ Status int32 -+ Int int32 -+ Ptr uint64 -+ Utime uint64 -+ Stime uint64 -+ Addr uint64 -+ Addr_lsb uint16 -+ _ uint16 -+ Syscall int32 -+ Call_addr uint64 -+ Arch uint32 -+ _ [28]uint8 -+} -+ -+const PERF_IOC_FLAG_GROUP = 0x1 -+ -+type Termios struct { -+ Iflag uint32 -+ Oflag uint32 -+ Cflag uint32 -+ Lflag uint32 -+ Line uint8 -+ Cc [19]uint8 -+ Ispeed uint32 -+ Ospeed uint32 -+} -+ -+type Winsize struct { -+ Row uint16 -+ Col uint16 -+ Xpixel uint16 -+ Ypixel uint16 -+} -+ -+type Taskstats struct { -+ Version uint16 -+ Ac_exitcode uint32 -+ Ac_flag uint8 -+ Ac_nice uint8 -+ Cpu_count uint64 -+ Cpu_delay_total uint64 -+ Blkio_count uint64 -+ Blkio_delay_total uint64 -+ Swapin_count uint64 -+ Swapin_delay_total uint64 -+ Cpu_run_real_total uint64 -+ Cpu_run_virtual_total uint64 -+ Ac_comm [32]uint8 -+ Ac_sched uint8 -+ Ac_pad [3]uint8 -+ _ [4]byte -+ Ac_uid uint32 -+ Ac_gid uint32 -+ Ac_pid uint32 -+ Ac_ppid uint32 -+ Ac_btime uint32 -+ Ac_etime uint64 -+ Ac_utime uint64 -+ Ac_stime uint64 -+ Ac_minflt uint64 -+ Ac_majflt uint64 -+ Coremem uint64 -+ Virtmem uint64 -+ Hiwater_rss uint64 -+ Hiwater_vm uint64 -+ Read_char uint64 -+ Write_char uint64 -+ Read_syscalls uint64 -+ Write_syscalls uint64 -+ Read_bytes uint64 -+ Write_bytes uint64 -+ Cancelled_write_bytes uint64 -+ Nvcsw uint64 -+ Nivcsw uint64 -+ Ac_utimescaled uint64 -+ Ac_stimescaled uint64 -+ Cpu_scaled_run_real_total uint64 -+ Freepages_count uint64 -+ Freepages_delay_total uint64 -+ Thrashing_count uint64 -+ Thrashing_delay_total uint64 -+} -+ -+const ( -+ TASKSTATS_CMD_UNSPEC = 0x0 -+ TASKSTATS_CMD_GET = 0x1 -+ TASKSTATS_CMD_NEW = 0x2 -+ TASKSTATS_TYPE_UNSPEC = 0x0 -+ TASKSTATS_TYPE_PID = 0x1 -+ TASKSTATS_TYPE_TGID = 0x2 -+ TASKSTATS_TYPE_STATS = 0x3 -+ TASKSTATS_TYPE_AGGR_PID = 0x4 -+ TASKSTATS_TYPE_AGGR_TGID = 0x5 -+ TASKSTATS_TYPE_NULL = 0x6 -+ TASKSTATS_CMD_ATTR_UNSPEC = 0x0 -+ TASKSTATS_CMD_ATTR_PID = 0x1 -+ TASKSTATS_CMD_ATTR_TGID = 0x2 -+ TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3 -+ TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4 -+) -+ -+type CGroupStats struct { -+ Sleeping uint64 -+ Running uint64 -+ Stopped uint64 -+ Uninterruptible uint64 -+ Io_wait uint64 -+} -+ -+const ( -+ CGROUPSTATS_CMD_UNSPEC = 0x3 -+ CGROUPSTATS_CMD_GET = 0x4 -+ CGROUPSTATS_CMD_NEW = 0x5 -+ CGROUPSTATS_TYPE_UNSPEC = 0x0 -+ CGROUPSTATS_TYPE_CGROUP_STATS = 0x1 -+ CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0 -+ CGROUPSTATS_CMD_ATTR_FD = 0x1 -+) -+ -+type Genlmsghdr struct { -+ Cmd uint8 -+ Version uint8 -+ Reserved uint16 -+} -+ -+const ( -+ CTRL_CMD_UNSPEC = 0x0 -+ CTRL_CMD_NEWFAMILY = 0x1 -+ CTRL_CMD_DELFAMILY = 0x2 -+ CTRL_CMD_GETFAMILY = 0x3 -+ CTRL_CMD_NEWOPS = 0x4 -+ CTRL_CMD_DELOPS = 0x5 -+ CTRL_CMD_GETOPS = 0x6 -+ CTRL_CMD_NEWMCAST_GRP = 0x7 -+ CTRL_CMD_DELMCAST_GRP = 0x8 -+ CTRL_CMD_GETMCAST_GRP = 0x9 -+ CTRL_ATTR_UNSPEC = 0x0 -+ CTRL_ATTR_FAMILY_ID = 0x1 -+ CTRL_ATTR_FAMILY_NAME = 0x2 -+ CTRL_ATTR_VERSION = 0x3 -+ CTRL_ATTR_HDRSIZE = 0x4 -+ CTRL_ATTR_MAXATTR = 0x5 -+ CTRL_ATTR_OPS = 0x6 -+ CTRL_ATTR_MCAST_GROUPS = 0x7 -+ CTRL_ATTR_OP_UNSPEC = 0x0 -+ CTRL_ATTR_OP_ID = 0x1 -+ CTRL_ATTR_OP_FLAGS = 0x2 -+ CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0 -+ CTRL_ATTR_MCAST_GRP_NAME = 0x1 -+ CTRL_ATTR_MCAST_GRP_ID = 0x2 -+) -+ -+type cpuMask uint64 -+ -+const ( -+ _CPU_SETSIZE = 0x400 -+ _NCPUBITS = 0x40 -+) -+ -+const ( -+ BDADDR_BREDR = 0x0 -+ BDADDR_LE_PUBLIC = 0x1 -+ BDADDR_LE_RANDOM = 0x2 -+) -+ -+type PerfEventAttr struct { -+ Type uint32 -+ Size uint32 -+ Config uint64 -+ Sample uint64 -+ Sample_type uint64 -+ Read_format uint64 -+ Bits uint64 -+ Wakeup uint32 -+ Bp_type uint32 -+ Ext1 uint64 -+ Ext2 uint64 -+ Branch_sample_type uint64 -+ Sample_regs_user uint64 -+ Sample_stack_user uint32 -+ Clockid int32 -+ Sample_regs_intr uint64 -+ Aux_watermark uint32 -+ Sample_max_stack uint16 -+ _ uint16 -+} -+ -+type PerfEventMmapPage struct { -+ Version uint32 -+ Compat_version uint32 -+ Lock uint32 -+ Index uint32 -+ Offset int64 -+ Time_enabled uint64 -+ Time_running uint64 -+ Capabilities uint64 -+ Pmc_width uint16 -+ Time_shift uint16 -+ Time_mult uint32 -+ Time_offset uint64 -+ Time_zero uint64 -+ Size uint32 -+ _ [948]uint8 -+ Data_head uint64 -+ Data_tail uint64 -+ Data_offset uint64 -+ Data_size uint64 -+ Aux_head uint64 -+ Aux_tail uint64 -+ Aux_offset uint64 -+ Aux_size uint64 -+} -+ -+const ( -+ PerfBitDisabled uint64 = CBitFieldMaskBit0 -+ PerfBitInherit = CBitFieldMaskBit1 -+ PerfBitPinned = CBitFieldMaskBit2 -+ PerfBitExclusive = CBitFieldMaskBit3 -+ PerfBitExcludeUser = CBitFieldMaskBit4 -+ PerfBitExcludeKernel = CBitFieldMaskBit5 -+ PerfBitExcludeHv = CBitFieldMaskBit6 -+ PerfBitExcludeIdle = CBitFieldMaskBit7 -+ PerfBitMmap = CBitFieldMaskBit8 -+ PerfBitComm = CBitFieldMaskBit9 -+ PerfBitFreq = CBitFieldMaskBit10 -+ PerfBitInheritStat = CBitFieldMaskBit11 -+ PerfBitEnableOnExec = CBitFieldMaskBit12 -+ PerfBitTask = CBitFieldMaskBit13 -+ PerfBitWatermark = CBitFieldMaskBit14 -+ PerfBitPreciseIPBit1 = CBitFieldMaskBit15 -+ PerfBitPreciseIPBit2 = CBitFieldMaskBit16 -+ PerfBitMmapData = CBitFieldMaskBit17 -+ PerfBitSampleIDAll = CBitFieldMaskBit18 -+ PerfBitExcludeHost = CBitFieldMaskBit19 -+ PerfBitExcludeGuest = CBitFieldMaskBit20 -+ PerfBitExcludeCallchainKernel = CBitFieldMaskBit21 -+ PerfBitExcludeCallchainUser = CBitFieldMaskBit22 -+ PerfBitMmap2 = CBitFieldMaskBit23 -+ PerfBitCommExec = CBitFieldMaskBit24 -+ PerfBitUseClockID = CBitFieldMaskBit25 -+ PerfBitContextSwitch = CBitFieldMaskBit26 -+) -+ -+const ( -+ PERF_TYPE_HARDWARE = 0x0 -+ PERF_TYPE_SOFTWARE = 0x1 -+ PERF_TYPE_TRACEPOINT = 0x2 -+ PERF_TYPE_HW_CACHE = 0x3 -+ PERF_TYPE_RAW = 0x4 -+ PERF_TYPE_BREAKPOINT = 0x5 -+ -+ PERF_COUNT_HW_CPU_CYCLES = 0x0 -+ PERF_COUNT_HW_INSTRUCTIONS = 0x1 -+ PERF_COUNT_HW_CACHE_REFERENCES = 0x2 -+ PERF_COUNT_HW_CACHE_MISSES = 0x3 -+ PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4 -+ PERF_COUNT_HW_BRANCH_MISSES = 0x5 -+ PERF_COUNT_HW_BUS_CYCLES = 0x6 -+ PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7 -+ PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8 -+ PERF_COUNT_HW_REF_CPU_CYCLES = 0x9 -+ -+ PERF_COUNT_HW_CACHE_L1D = 0x0 -+ PERF_COUNT_HW_CACHE_L1I = 0x1 -+ PERF_COUNT_HW_CACHE_LL = 0x2 -+ PERF_COUNT_HW_CACHE_DTLB = 0x3 -+ PERF_COUNT_HW_CACHE_ITLB = 0x4 -+ PERF_COUNT_HW_CACHE_BPU = 0x5 -+ PERF_COUNT_HW_CACHE_NODE = 0x6 -+ -+ PERF_COUNT_HW_CACHE_OP_READ = 0x0 -+ PERF_COUNT_HW_CACHE_OP_WRITE = 0x1 -+ PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2 -+ -+ PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0 -+ PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1 -+ -+ PERF_COUNT_SW_CPU_CLOCK = 0x0 -+ PERF_COUNT_SW_TASK_CLOCK = 0x1 -+ PERF_COUNT_SW_PAGE_FAULTS = 0x2 -+ PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3 -+ PERF_COUNT_SW_CPU_MIGRATIONS = 0x4 -+ PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5 -+ PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6 -+ PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7 -+ PERF_COUNT_SW_EMULATION_FAULTS = 0x8 -+ PERF_COUNT_SW_DUMMY = 0x9 -+ PERF_COUNT_SW_BPF_OUTPUT = 0xa -+ -+ PERF_SAMPLE_IP = 0x1 -+ PERF_SAMPLE_TID = 0x2 -+ PERF_SAMPLE_TIME = 0x4 -+ PERF_SAMPLE_ADDR = 0x8 -+ PERF_SAMPLE_READ = 0x10 -+ PERF_SAMPLE_CALLCHAIN = 0x20 -+ PERF_SAMPLE_ID = 0x40 -+ PERF_SAMPLE_CPU = 0x80 -+ PERF_SAMPLE_PERIOD = 0x100 -+ PERF_SAMPLE_STREAM_ID = 0x200 -+ PERF_SAMPLE_RAW = 0x400 -+ PERF_SAMPLE_BRANCH_STACK = 0x800 -+ -+ PERF_SAMPLE_BRANCH_USER = 0x1 -+ PERF_SAMPLE_BRANCH_KERNEL = 0x2 -+ PERF_SAMPLE_BRANCH_HV = 0x4 -+ PERF_SAMPLE_BRANCH_ANY = 0x8 -+ PERF_SAMPLE_BRANCH_ANY_CALL = 0x10 -+ PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20 -+ PERF_SAMPLE_BRANCH_IND_CALL = 0x40 -+ PERF_SAMPLE_BRANCH_ABORT_TX = 0x80 -+ PERF_SAMPLE_BRANCH_IN_TX = 0x100 -+ PERF_SAMPLE_BRANCH_NO_TX = 0x200 -+ PERF_SAMPLE_BRANCH_COND = 0x400 -+ PERF_SAMPLE_BRANCH_CALL_STACK = 0x800 -+ PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000 -+ PERF_SAMPLE_BRANCH_CALL = 0x2000 -+ PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000 -+ PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000 -+ PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000 -+ -+ PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1 -+ PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2 -+ PERF_FORMAT_ID = 0x4 -+ PERF_FORMAT_GROUP = 0x8 -+ -+ PERF_RECORD_MMAP = 0x1 -+ PERF_RECORD_LOST = 0x2 -+ PERF_RECORD_COMM = 0x3 -+ PERF_RECORD_EXIT = 0x4 -+ PERF_RECORD_THROTTLE = 0x5 -+ PERF_RECORD_UNTHROTTLE = 0x6 -+ PERF_RECORD_FORK = 0x7 -+ PERF_RECORD_READ = 0x8 -+ PERF_RECORD_SAMPLE = 0x9 -+ PERF_RECORD_MMAP2 = 0xa -+ PERF_RECORD_AUX = 0xb -+ PERF_RECORD_ITRACE_START = 0xc -+ PERF_RECORD_LOST_SAMPLES = 0xd -+ PERF_RECORD_SWITCH = 0xe -+ PERF_RECORD_SWITCH_CPU_WIDE = 0xf -+ PERF_RECORD_NAMESPACES = 0x10 -+ -+ PERF_CONTEXT_HV = -0x20 -+ PERF_CONTEXT_KERNEL = -0x80 -+ PERF_CONTEXT_USER = -0x200 -+ -+ PERF_CONTEXT_GUEST = -0x800 -+ PERF_CONTEXT_GUEST_KERNEL = -0x880 -+ PERF_CONTEXT_GUEST_USER = -0xa00 -+ -+ PERF_FLAG_FD_NO_GROUP = 0x1 -+ PERF_FLAG_FD_OUTPUT = 0x2 -+ PERF_FLAG_PID_CGROUP = 0x4 -+ PERF_FLAG_FD_CLOEXEC = 0x8 -+) -+ -+const ( -+ CBitFieldMaskBit0 = 0x1 -+ CBitFieldMaskBit1 = 0x2 -+ CBitFieldMaskBit2 = 0x4 -+ CBitFieldMaskBit3 = 0x8 -+ CBitFieldMaskBit4 = 0x10 -+ CBitFieldMaskBit5 = 0x20 -+ CBitFieldMaskBit6 = 0x40 -+ CBitFieldMaskBit7 = 0x80 -+ CBitFieldMaskBit8 = 0x100 -+ CBitFieldMaskBit9 = 0x200 -+ CBitFieldMaskBit10 = 0x400 -+ CBitFieldMaskBit11 = 0x800 -+ CBitFieldMaskBit12 = 0x1000 -+ CBitFieldMaskBit13 = 0x2000 -+ CBitFieldMaskBit14 = 0x4000 -+ CBitFieldMaskBit15 = 0x8000 -+ CBitFieldMaskBit16 = 0x10000 -+ CBitFieldMaskBit17 = 0x20000 -+ CBitFieldMaskBit18 = 0x40000 -+ CBitFieldMaskBit19 = 0x80000 -+ CBitFieldMaskBit20 = 0x100000 -+ CBitFieldMaskBit21 = 0x200000 -+ CBitFieldMaskBit22 = 0x400000 -+ CBitFieldMaskBit23 = 0x800000 -+ CBitFieldMaskBit24 = 0x1000000 -+ CBitFieldMaskBit25 = 0x2000000 -+ CBitFieldMaskBit26 = 0x4000000 -+ CBitFieldMaskBit27 = 0x8000000 -+ CBitFieldMaskBit28 = 0x10000000 -+ CBitFieldMaskBit29 = 0x20000000 -+ CBitFieldMaskBit30 = 0x40000000 -+ CBitFieldMaskBit31 = 0x80000000 -+ CBitFieldMaskBit32 = 0x100000000 -+ CBitFieldMaskBit33 = 0x200000000 -+ CBitFieldMaskBit34 = 0x400000000 -+ CBitFieldMaskBit35 = 0x800000000 -+ CBitFieldMaskBit36 = 0x1000000000 -+ CBitFieldMaskBit37 = 0x2000000000 -+ CBitFieldMaskBit38 = 0x4000000000 -+ CBitFieldMaskBit39 = 0x8000000000 -+ CBitFieldMaskBit40 = 0x10000000000 -+ CBitFieldMaskBit41 = 0x20000000000 -+ CBitFieldMaskBit42 = 0x40000000000 -+ CBitFieldMaskBit43 = 0x80000000000 -+ CBitFieldMaskBit44 = 0x100000000000 -+ CBitFieldMaskBit45 = 0x200000000000 -+ CBitFieldMaskBit46 = 0x400000000000 -+ CBitFieldMaskBit47 = 0x800000000000 -+ CBitFieldMaskBit48 = 0x1000000000000 -+ CBitFieldMaskBit49 = 0x2000000000000 -+ CBitFieldMaskBit50 = 0x4000000000000 -+ CBitFieldMaskBit51 = 0x8000000000000 -+ CBitFieldMaskBit52 = 0x10000000000000 -+ CBitFieldMaskBit53 = 0x20000000000000 -+ CBitFieldMaskBit54 = 0x40000000000000 -+ CBitFieldMaskBit55 = 0x80000000000000 -+ CBitFieldMaskBit56 = 0x100000000000000 -+ CBitFieldMaskBit57 = 0x200000000000000 -+ CBitFieldMaskBit58 = 0x400000000000000 -+ CBitFieldMaskBit59 = 0x800000000000000 -+ CBitFieldMaskBit60 = 0x1000000000000000 -+ CBitFieldMaskBit61 = 0x2000000000000000 -+ CBitFieldMaskBit62 = 0x4000000000000000 -+ CBitFieldMaskBit63 = 0x8000000000000000 -+) -+ -+type SockaddrStorage struct { -+ Family uint16 -+ _ [118]uint8 -+ _ uint64 -+} -+ -+type TCPMD5Sig struct { -+ Addr SockaddrStorage -+ Flags uint8 -+ Prefixlen uint8 -+ Keylen uint16 -+ _ uint32 -+ Key [80]uint8 -+} -+ -+type HDDriveCmdHdr struct { -+ Command uint8 -+ Number uint8 -+ Feature uint8 -+ Count uint8 -+} -+ -+type HDGeometry struct { -+ Heads uint8 -+ Sectors uint8 -+ Cylinders uint16 -+ Start uint64 -+} -+ -+type HDDriveID struct { -+ Config uint16 -+ Cyls uint16 -+ Reserved2 uint16 -+ Heads uint16 -+ Track_bytes uint16 -+ Sector_bytes uint16 -+ Sectors uint16 -+ Vendor0 uint16 -+ Vendor1 uint16 -+ Vendor2 uint16 -+ Serial_no [20]uint8 -+ Buf_type uint16 -+ Buf_size uint16 -+ Ecc_bytes uint16 -+ Fw_rev [8]uint8 -+ Model [40]uint8 -+ Max_multsect uint8 -+ Vendor3 uint8 -+ Dword_io uint16 -+ Vendor4 uint8 -+ Capability uint8 -+ Reserved50 uint16 -+ Vendor5 uint8 -+ TPIO uint8 -+ Vendor6 uint8 -+ TDMA uint8 -+ Field_valid uint16 -+ Cur_cyls uint16 -+ Cur_heads uint16 -+ Cur_sectors uint16 -+ Cur_capacity0 uint16 -+ Cur_capacity1 uint16 -+ Multsect uint8 -+ Multsect_valid uint8 -+ Lba_capacity uint32 -+ Dma_1word uint16 -+ Dma_mword uint16 -+ Eide_pio_modes uint16 -+ Eide_dma_min uint16 -+ Eide_dma_time uint16 -+ Eide_pio uint16 -+ Eide_pio_iordy uint16 -+ Words69_70 [2]uint16 -+ Words71_74 [4]uint16 -+ Queue_depth uint16 -+ Words76_79 [4]uint16 -+ Major_rev_num uint16 -+ Minor_rev_num uint16 -+ Command_set_1 uint16 -+ Command_set_2 uint16 -+ Cfsse uint16 -+ Cfs_enable_1 uint16 -+ Cfs_enable_2 uint16 -+ Csf_default uint16 -+ Dma_ultra uint16 -+ Trseuc uint16 -+ TrsEuc uint16 -+ CurAPMvalues uint16 -+ Mprc uint16 -+ Hw_config uint16 -+ Acoustic uint16 -+ Msrqs uint16 -+ Sxfert uint16 -+ Sal uint16 -+ Spg uint32 -+ Lba_capacity_2 uint64 -+ Words104_125 [22]uint16 -+ Last_lun uint16 -+ Word127 uint16 -+ Dlf uint16 -+ Csfo uint16 -+ Words130_155 [26]uint16 -+ Word156 uint16 -+ Words157_159 [3]uint16 -+ Cfa_power uint16 -+ Words161_175 [15]uint16 -+ Words176_205 [30]uint16 -+ Words206_254 [49]uint16 -+ Integrity_word uint16 -+} -+ -+type Statfs_t struct { -+ Type int64 -+ Bsize int64 -+ Blocks uint64 -+ Bfree uint64 -+ Bavail uint64 -+ Files uint64 -+ Ffree uint64 -+ Fsid Fsid -+ Namelen int64 -+ Frsize int64 -+ Flags int64 -+ Spare [4]int64 -+} -+ -+const ( -+ ST_MANDLOCK = 0x40 -+ ST_NOATIME = 0x400 -+ ST_NODEV = 0x4 -+ ST_NODIRATIME = 0x800 -+ ST_NOEXEC = 0x8 -+ ST_NOSUID = 0x2 -+ ST_RDONLY = 0x1 -+ ST_RELATIME = 0x1000 -+ ST_SYNCHRONOUS = 0x10 -+) -+ -+type TpacketHdr struct { -+ Status uint64 -+ Len uint32 -+ Snaplen uint32 -+ Mac uint16 -+ Net uint16 -+ Sec uint32 -+ Usec uint32 -+ _ [4]byte -+} -+ -+type Tpacket2Hdr struct { -+ Status uint32 -+ Len uint32 -+ Snaplen uint32 -+ Mac uint16 -+ Net uint16 -+ Sec uint32 -+ Nsec uint32 -+ Vlan_tci uint16 -+ Vlan_tpid uint16 -+ _ [4]uint8 -+} -+ -+type Tpacket3Hdr struct { -+ Next_offset uint32 -+ Sec uint32 -+ Nsec uint32 -+ Snaplen uint32 -+ Len uint32 -+ Status uint32 -+ Mac uint16 -+ Net uint16 -+ Hv1 TpacketHdrVariant1 -+ _ [8]uint8 -+} -+ -+type TpacketHdrVariant1 struct { -+ Rxhash uint32 -+ Vlan_tci uint32 -+ Vlan_tpid uint16 -+ _ uint16 -+} -+ -+type TpacketBlockDesc struct { -+ Version uint32 -+ To_priv uint32 -+ Hdr [40]byte -+} -+ -+type TpacketBDTS struct { -+ Sec uint32 -+ Usec uint32 -+} -+ -+type TpacketHdrV1 struct { -+ Block_status uint32 -+ Num_pkts uint32 -+ Offset_to_first_pkt uint32 -+ Blk_len uint32 -+ Seq_num uint64 -+ Ts_first_pkt TpacketBDTS -+ Ts_last_pkt TpacketBDTS -+} -+ -+type TpacketReq struct { -+ Block_size uint32 -+ Block_nr uint32 -+ Frame_size uint32 -+ Frame_nr uint32 -+} -+ -+type TpacketReq3 struct { -+ Block_size uint32 -+ Block_nr uint32 -+ Frame_size uint32 -+ Frame_nr uint32 -+ Retire_blk_tov uint32 -+ Sizeof_priv uint32 -+ Feature_req_word uint32 -+} -+ -+type TpacketStats struct { -+ Packets uint32 -+ Drops uint32 -+} -+ -+type TpacketStatsV3 struct { -+ Packets uint32 -+ Drops uint32 -+ Freeze_q_cnt uint32 -+} -+ -+type TpacketAuxdata struct { -+ Status uint32 -+ Len uint32 -+ Snaplen uint32 -+ Mac uint16 -+ Net uint16 -+ Vlan_tci uint16 -+ Vlan_tpid uint16 -+} -+ -+const ( -+ TPACKET_V1 = 0x0 -+ TPACKET_V2 = 0x1 -+ TPACKET_V3 = 0x2 -+) -+ -+const ( -+ SizeofTpacketHdr = 0x20 -+ SizeofTpacket2Hdr = 0x20 -+ SizeofTpacket3Hdr = 0x30 -+ -+ SizeofTpacketStats = 0x8 -+ SizeofTpacketStatsV3 = 0xc -+) -+ -+const ( -+ NF_INET_PRE_ROUTING = 0x0 -+ NF_INET_LOCAL_IN = 0x1 -+ NF_INET_FORWARD = 0x2 -+ NF_INET_LOCAL_OUT = 0x3 -+ NF_INET_POST_ROUTING = 0x4 -+ NF_INET_NUMHOOKS = 0x5 -+) -+ -+const ( -+ NF_NETDEV_INGRESS = 0x0 -+ NF_NETDEV_NUMHOOKS = 0x1 -+) -+ -+const ( -+ NFPROTO_UNSPEC = 0x0 -+ NFPROTO_INET = 0x1 -+ NFPROTO_IPV4 = 0x2 -+ NFPROTO_ARP = 0x3 -+ NFPROTO_NETDEV = 0x5 -+ NFPROTO_BRIDGE = 0x7 -+ NFPROTO_IPV6 = 0xa -+ NFPROTO_DECNET = 0xc -+ NFPROTO_NUMPROTO = 0xd -+) -+ -+type Nfgenmsg struct { -+ Nfgen_family uint8 -+ Version uint8 -+ Res_id uint16 -+} -+ -+const ( -+ NFNL_BATCH_UNSPEC = 0x0 -+ NFNL_BATCH_GENID = 0x1 -+) -+ -+const ( -+ NFT_REG_VERDICT = 0x0 -+ NFT_REG_1 = 0x1 -+ NFT_REG_2 = 0x2 -+ NFT_REG_3 = 0x3 -+ NFT_REG_4 = 0x4 -+ NFT_REG32_00 = 0x8 -+ NFT_REG32_01 = 0x9 -+ NFT_REG32_02 = 0xa -+ NFT_REG32_03 = 0xb -+ NFT_REG32_04 = 0xc -+ NFT_REG32_05 = 0xd -+ NFT_REG32_06 = 0xe -+ NFT_REG32_07 = 0xf -+ NFT_REG32_08 = 0x10 -+ NFT_REG32_09 = 0x11 -+ NFT_REG32_10 = 0x12 -+ NFT_REG32_11 = 0x13 -+ NFT_REG32_12 = 0x14 -+ NFT_REG32_13 = 0x15 -+ NFT_REG32_14 = 0x16 -+ NFT_REG32_15 = 0x17 -+ NFT_CONTINUE = -0x1 -+ NFT_BREAK = -0x2 -+ NFT_JUMP = -0x3 -+ NFT_GOTO = -0x4 -+ NFT_RETURN = -0x5 -+ NFT_MSG_NEWTABLE = 0x0 -+ NFT_MSG_GETTABLE = 0x1 -+ NFT_MSG_DELTABLE = 0x2 -+ NFT_MSG_NEWCHAIN = 0x3 -+ NFT_MSG_GETCHAIN = 0x4 -+ NFT_MSG_DELCHAIN = 0x5 -+ NFT_MSG_NEWRULE = 0x6 -+ NFT_MSG_GETRULE = 0x7 -+ NFT_MSG_DELRULE = 0x8 -+ NFT_MSG_NEWSET = 0x9 -+ NFT_MSG_GETSET = 0xa -+ NFT_MSG_DELSET = 0xb -+ NFT_MSG_NEWSETELEM = 0xc -+ NFT_MSG_GETSETELEM = 0xd -+ NFT_MSG_DELSETELEM = 0xe -+ NFT_MSG_NEWGEN = 0xf -+ NFT_MSG_GETGEN = 0x10 -+ NFT_MSG_TRACE = 0x11 -+ NFT_MSG_NEWOBJ = 0x12 -+ NFT_MSG_GETOBJ = 0x13 -+ NFT_MSG_DELOBJ = 0x14 -+ NFT_MSG_GETOBJ_RESET = 0x15 -+ NFT_MSG_MAX = 0x19 -+ NFTA_LIST_UNPEC = 0x0 -+ NFTA_LIST_ELEM = 0x1 -+ NFTA_HOOK_UNSPEC = 0x0 -+ NFTA_HOOK_HOOKNUM = 0x1 -+ NFTA_HOOK_PRIORITY = 0x2 -+ NFTA_HOOK_DEV = 0x3 -+ NFT_TABLE_F_DORMANT = 0x1 -+ NFTA_TABLE_UNSPEC = 0x0 -+ NFTA_TABLE_NAME = 0x1 -+ NFTA_TABLE_FLAGS = 0x2 -+ NFTA_TABLE_USE = 0x3 -+ NFTA_CHAIN_UNSPEC = 0x0 -+ NFTA_CHAIN_TABLE = 0x1 -+ NFTA_CHAIN_HANDLE = 0x2 -+ NFTA_CHAIN_NAME = 0x3 -+ NFTA_CHAIN_HOOK = 0x4 -+ NFTA_CHAIN_POLICY = 0x5 -+ NFTA_CHAIN_USE = 0x6 -+ NFTA_CHAIN_TYPE = 0x7 -+ NFTA_CHAIN_COUNTERS = 0x8 -+ NFTA_CHAIN_PAD = 0x9 -+ NFTA_RULE_UNSPEC = 0x0 -+ NFTA_RULE_TABLE = 0x1 -+ NFTA_RULE_CHAIN = 0x2 -+ NFTA_RULE_HANDLE = 0x3 -+ NFTA_RULE_EXPRESSIONS = 0x4 -+ NFTA_RULE_COMPAT = 0x5 -+ NFTA_RULE_POSITION = 0x6 -+ NFTA_RULE_USERDATA = 0x7 -+ NFTA_RULE_PAD = 0x8 -+ NFTA_RULE_ID = 0x9 -+ NFT_RULE_COMPAT_F_INV = 0x2 -+ NFT_RULE_COMPAT_F_MASK = 0x2 -+ NFTA_RULE_COMPAT_UNSPEC = 0x0 -+ NFTA_RULE_COMPAT_PROTO = 0x1 -+ NFTA_RULE_COMPAT_FLAGS = 0x2 -+ NFT_SET_ANONYMOUS = 0x1 -+ NFT_SET_CONSTANT = 0x2 -+ NFT_SET_INTERVAL = 0x4 -+ NFT_SET_MAP = 0x8 -+ NFT_SET_TIMEOUT = 0x10 -+ NFT_SET_EVAL = 0x20 -+ NFT_SET_OBJECT = 0x40 -+ NFT_SET_POL_PERFORMANCE = 0x0 -+ NFT_SET_POL_MEMORY = 0x1 -+ NFTA_SET_DESC_UNSPEC = 0x0 -+ NFTA_SET_DESC_SIZE = 0x1 -+ NFTA_SET_UNSPEC = 0x0 -+ NFTA_SET_TABLE = 0x1 -+ NFTA_SET_NAME = 0x2 -+ NFTA_SET_FLAGS = 0x3 -+ NFTA_SET_KEY_TYPE = 0x4 -+ NFTA_SET_KEY_LEN = 0x5 -+ NFTA_SET_DATA_TYPE = 0x6 -+ NFTA_SET_DATA_LEN = 0x7 -+ NFTA_SET_POLICY = 0x8 -+ NFTA_SET_DESC = 0x9 -+ NFTA_SET_ID = 0xa -+ NFTA_SET_TIMEOUT = 0xb -+ NFTA_SET_GC_INTERVAL = 0xc -+ NFTA_SET_USERDATA = 0xd -+ NFTA_SET_PAD = 0xe -+ NFTA_SET_OBJ_TYPE = 0xf -+ NFT_SET_ELEM_INTERVAL_END = 0x1 -+ NFTA_SET_ELEM_UNSPEC = 0x0 -+ NFTA_SET_ELEM_KEY = 0x1 -+ NFTA_SET_ELEM_DATA = 0x2 -+ NFTA_SET_ELEM_FLAGS = 0x3 -+ NFTA_SET_ELEM_TIMEOUT = 0x4 -+ NFTA_SET_ELEM_EXPIRATION = 0x5 -+ NFTA_SET_ELEM_USERDATA = 0x6 -+ NFTA_SET_ELEM_EXPR = 0x7 -+ NFTA_SET_ELEM_PAD = 0x8 -+ NFTA_SET_ELEM_OBJREF = 0x9 -+ NFTA_SET_ELEM_LIST_UNSPEC = 0x0 -+ NFTA_SET_ELEM_LIST_TABLE = 0x1 -+ NFTA_SET_ELEM_LIST_SET = 0x2 -+ NFTA_SET_ELEM_LIST_ELEMENTS = 0x3 -+ NFTA_SET_ELEM_LIST_SET_ID = 0x4 -+ NFT_DATA_VALUE = 0x0 -+ NFT_DATA_VERDICT = 0xffffff00 -+ NFTA_DATA_UNSPEC = 0x0 -+ NFTA_DATA_VALUE = 0x1 -+ NFTA_DATA_VERDICT = 0x2 -+ NFTA_VERDICT_UNSPEC = 0x0 -+ NFTA_VERDICT_CODE = 0x1 -+ NFTA_VERDICT_CHAIN = 0x2 -+ NFTA_EXPR_UNSPEC = 0x0 -+ NFTA_EXPR_NAME = 0x1 -+ NFTA_EXPR_DATA = 0x2 -+ NFTA_IMMEDIATE_UNSPEC = 0x0 -+ NFTA_IMMEDIATE_DREG = 0x1 -+ NFTA_IMMEDIATE_DATA = 0x2 -+ NFTA_BITWISE_UNSPEC = 0x0 -+ NFTA_BITWISE_SREG = 0x1 -+ NFTA_BITWISE_DREG = 0x2 -+ NFTA_BITWISE_LEN = 0x3 -+ NFTA_BITWISE_MASK = 0x4 -+ NFTA_BITWISE_XOR = 0x5 -+ NFT_BYTEORDER_NTOH = 0x0 -+ NFT_BYTEORDER_HTON = 0x1 -+ NFTA_BYTEORDER_UNSPEC = 0x0 -+ NFTA_BYTEORDER_SREG = 0x1 -+ NFTA_BYTEORDER_DREG = 0x2 -+ NFTA_BYTEORDER_OP = 0x3 -+ NFTA_BYTEORDER_LEN = 0x4 -+ NFTA_BYTEORDER_SIZE = 0x5 -+ NFT_CMP_EQ = 0x0 -+ NFT_CMP_NEQ = 0x1 -+ NFT_CMP_LT = 0x2 -+ NFT_CMP_LTE = 0x3 -+ NFT_CMP_GT = 0x4 -+ NFT_CMP_GTE = 0x5 -+ NFTA_CMP_UNSPEC = 0x0 -+ NFTA_CMP_SREG = 0x1 -+ NFTA_CMP_OP = 0x2 -+ NFTA_CMP_DATA = 0x3 -+ NFT_RANGE_EQ = 0x0 -+ NFT_RANGE_NEQ = 0x1 -+ NFTA_RANGE_UNSPEC = 0x0 -+ NFTA_RANGE_SREG = 0x1 -+ NFTA_RANGE_OP = 0x2 -+ NFTA_RANGE_FROM_DATA = 0x3 -+ NFTA_RANGE_TO_DATA = 0x4 -+ NFT_LOOKUP_F_INV = 0x1 -+ NFTA_LOOKUP_UNSPEC = 0x0 -+ NFTA_LOOKUP_SET = 0x1 -+ NFTA_LOOKUP_SREG = 0x2 -+ NFTA_LOOKUP_DREG = 0x3 -+ NFTA_LOOKUP_SET_ID = 0x4 -+ NFTA_LOOKUP_FLAGS = 0x5 -+ NFT_DYNSET_OP_ADD = 0x0 -+ NFT_DYNSET_OP_UPDATE = 0x1 -+ NFT_DYNSET_F_INV = 0x1 -+ NFTA_DYNSET_UNSPEC = 0x0 -+ NFTA_DYNSET_SET_NAME = 0x1 -+ NFTA_DYNSET_SET_ID = 0x2 -+ NFTA_DYNSET_OP = 0x3 -+ NFTA_DYNSET_SREG_KEY = 0x4 -+ NFTA_DYNSET_SREG_DATA = 0x5 -+ NFTA_DYNSET_TIMEOUT = 0x6 -+ NFTA_DYNSET_EXPR = 0x7 -+ NFTA_DYNSET_PAD = 0x8 -+ NFTA_DYNSET_FLAGS = 0x9 -+ NFT_PAYLOAD_LL_HEADER = 0x0 -+ NFT_PAYLOAD_NETWORK_HEADER = 0x1 -+ NFT_PAYLOAD_TRANSPORT_HEADER = 0x2 -+ NFT_PAYLOAD_CSUM_NONE = 0x0 -+ NFT_PAYLOAD_CSUM_INET = 0x1 -+ NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1 -+ NFTA_PAYLOAD_UNSPEC = 0x0 -+ NFTA_PAYLOAD_DREG = 0x1 -+ NFTA_PAYLOAD_BASE = 0x2 -+ NFTA_PAYLOAD_OFFSET = 0x3 -+ NFTA_PAYLOAD_LEN = 0x4 -+ NFTA_PAYLOAD_SREG = 0x5 -+ NFTA_PAYLOAD_CSUM_TYPE = 0x6 -+ NFTA_PAYLOAD_CSUM_OFFSET = 0x7 -+ NFTA_PAYLOAD_CSUM_FLAGS = 0x8 -+ NFT_EXTHDR_F_PRESENT = 0x1 -+ NFT_EXTHDR_OP_IPV6 = 0x0 -+ NFT_EXTHDR_OP_TCPOPT = 0x1 -+ NFTA_EXTHDR_UNSPEC = 0x0 -+ NFTA_EXTHDR_DREG = 0x1 -+ NFTA_EXTHDR_TYPE = 0x2 -+ NFTA_EXTHDR_OFFSET = 0x3 -+ NFTA_EXTHDR_LEN = 0x4 -+ NFTA_EXTHDR_FLAGS = 0x5 -+ NFTA_EXTHDR_OP = 0x6 -+ NFTA_EXTHDR_SREG = 0x7 -+ NFT_META_LEN = 0x0 -+ NFT_META_PROTOCOL = 0x1 -+ NFT_META_PRIORITY = 0x2 -+ NFT_META_MARK = 0x3 -+ NFT_META_IIF = 0x4 -+ NFT_META_OIF = 0x5 -+ NFT_META_IIFNAME = 0x6 -+ NFT_META_OIFNAME = 0x7 -+ NFT_META_IIFTYPE = 0x8 -+ NFT_META_OIFTYPE = 0x9 -+ NFT_META_SKUID = 0xa -+ NFT_META_SKGID = 0xb -+ NFT_META_NFTRACE = 0xc -+ NFT_META_RTCLASSID = 0xd -+ NFT_META_SECMARK = 0xe -+ NFT_META_NFPROTO = 0xf -+ NFT_META_L4PROTO = 0x10 -+ NFT_META_BRI_IIFNAME = 0x11 -+ NFT_META_BRI_OIFNAME = 0x12 -+ NFT_META_PKTTYPE = 0x13 -+ NFT_META_CPU = 0x14 -+ NFT_META_IIFGROUP = 0x15 -+ NFT_META_OIFGROUP = 0x16 -+ NFT_META_CGROUP = 0x17 -+ NFT_META_PRANDOM = 0x18 -+ NFT_RT_CLASSID = 0x0 -+ NFT_RT_NEXTHOP4 = 0x1 -+ NFT_RT_NEXTHOP6 = 0x2 -+ NFT_RT_TCPMSS = 0x3 -+ NFT_HASH_JENKINS = 0x0 -+ NFT_HASH_SYM = 0x1 -+ NFTA_HASH_UNSPEC = 0x0 -+ NFTA_HASH_SREG = 0x1 -+ NFTA_HASH_DREG = 0x2 -+ NFTA_HASH_LEN = 0x3 -+ NFTA_HASH_MODULUS = 0x4 -+ NFTA_HASH_SEED = 0x5 -+ NFTA_HASH_OFFSET = 0x6 -+ NFTA_HASH_TYPE = 0x7 -+ NFTA_META_UNSPEC = 0x0 -+ NFTA_META_DREG = 0x1 -+ NFTA_META_KEY = 0x2 -+ NFTA_META_SREG = 0x3 -+ NFTA_RT_UNSPEC = 0x0 -+ NFTA_RT_DREG = 0x1 -+ NFTA_RT_KEY = 0x2 -+ NFT_CT_STATE = 0x0 -+ NFT_CT_DIRECTION = 0x1 -+ NFT_CT_STATUS = 0x2 -+ NFT_CT_MARK = 0x3 -+ NFT_CT_SECMARK = 0x4 -+ NFT_CT_EXPIRATION = 0x5 -+ NFT_CT_HELPER = 0x6 -+ NFT_CT_L3PROTOCOL = 0x7 -+ NFT_CT_SRC = 0x8 -+ NFT_CT_DST = 0x9 -+ NFT_CT_PROTOCOL = 0xa -+ NFT_CT_PROTO_SRC = 0xb -+ NFT_CT_PROTO_DST = 0xc -+ NFT_CT_LABELS = 0xd -+ NFT_CT_PKTS = 0xe -+ NFT_CT_BYTES = 0xf -+ NFT_CT_AVGPKT = 0x10 -+ NFT_CT_ZONE = 0x11 -+ NFT_CT_EVENTMASK = 0x12 -+ NFTA_CT_UNSPEC = 0x0 -+ NFTA_CT_DREG = 0x1 -+ NFTA_CT_KEY = 0x2 -+ NFTA_CT_DIRECTION = 0x3 -+ NFTA_CT_SREG = 0x4 -+ NFT_LIMIT_PKTS = 0x0 -+ NFT_LIMIT_PKT_BYTES = 0x1 -+ NFT_LIMIT_F_INV = 0x1 -+ NFTA_LIMIT_UNSPEC = 0x0 -+ NFTA_LIMIT_RATE = 0x1 -+ NFTA_LIMIT_UNIT = 0x2 -+ NFTA_LIMIT_BURST = 0x3 -+ NFTA_LIMIT_TYPE = 0x4 -+ NFTA_LIMIT_FLAGS = 0x5 -+ NFTA_LIMIT_PAD = 0x6 -+ NFTA_COUNTER_UNSPEC = 0x0 -+ NFTA_COUNTER_BYTES = 0x1 -+ NFTA_COUNTER_PACKETS = 0x2 -+ NFTA_COUNTER_PAD = 0x3 -+ NFTA_LOG_UNSPEC = 0x0 -+ NFTA_LOG_GROUP = 0x1 -+ NFTA_LOG_PREFIX = 0x2 -+ NFTA_LOG_SNAPLEN = 0x3 -+ NFTA_LOG_QTHRESHOLD = 0x4 -+ NFTA_LOG_LEVEL = 0x5 -+ NFTA_LOG_FLAGS = 0x6 -+ NFTA_QUEUE_UNSPEC = 0x0 -+ NFTA_QUEUE_NUM = 0x1 -+ NFTA_QUEUE_TOTAL = 0x2 -+ NFTA_QUEUE_FLAGS = 0x3 -+ NFTA_QUEUE_SREG_QNUM = 0x4 -+ NFT_QUOTA_F_INV = 0x1 -+ NFT_QUOTA_F_DEPLETED = 0x2 -+ NFTA_QUOTA_UNSPEC = 0x0 -+ NFTA_QUOTA_BYTES = 0x1 -+ NFTA_QUOTA_FLAGS = 0x2 -+ NFTA_QUOTA_PAD = 0x3 -+ NFTA_QUOTA_CONSUMED = 0x4 -+ NFT_REJECT_ICMP_UNREACH = 0x0 -+ NFT_REJECT_TCP_RST = 0x1 -+ NFT_REJECT_ICMPX_UNREACH = 0x2 -+ NFT_REJECT_ICMPX_NO_ROUTE = 0x0 -+ NFT_REJECT_ICMPX_PORT_UNREACH = 0x1 -+ NFT_REJECT_ICMPX_HOST_UNREACH = 0x2 -+ NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3 -+ NFTA_REJECT_UNSPEC = 0x0 -+ NFTA_REJECT_TYPE = 0x1 -+ NFTA_REJECT_ICMP_CODE = 0x2 -+ NFT_NAT_SNAT = 0x0 -+ NFT_NAT_DNAT = 0x1 -+ NFTA_NAT_UNSPEC = 0x0 -+ NFTA_NAT_TYPE = 0x1 -+ NFTA_NAT_FAMILY = 0x2 -+ NFTA_NAT_REG_ADDR_MIN = 0x3 -+ NFTA_NAT_REG_ADDR_MAX = 0x4 -+ NFTA_NAT_REG_PROTO_MIN = 0x5 -+ NFTA_NAT_REG_PROTO_MAX = 0x6 -+ NFTA_NAT_FLAGS = 0x7 -+ NFTA_MASQ_UNSPEC = 0x0 -+ NFTA_MASQ_FLAGS = 0x1 -+ NFTA_MASQ_REG_PROTO_MIN = 0x2 -+ NFTA_MASQ_REG_PROTO_MAX = 0x3 -+ NFTA_REDIR_UNSPEC = 0x0 -+ NFTA_REDIR_REG_PROTO_MIN = 0x1 -+ NFTA_REDIR_REG_PROTO_MAX = 0x2 -+ NFTA_REDIR_FLAGS = 0x3 -+ NFTA_DUP_UNSPEC = 0x0 -+ NFTA_DUP_SREG_ADDR = 0x1 -+ NFTA_DUP_SREG_DEV = 0x2 -+ NFTA_FWD_UNSPEC = 0x0 -+ NFTA_FWD_SREG_DEV = 0x1 -+ NFTA_OBJREF_UNSPEC = 0x0 -+ NFTA_OBJREF_IMM_TYPE = 0x1 -+ NFTA_OBJREF_IMM_NAME = 0x2 -+ NFTA_OBJREF_SET_SREG = 0x3 -+ NFTA_OBJREF_SET_NAME = 0x4 -+ NFTA_OBJREF_SET_ID = 0x5 -+ NFTA_GEN_UNSPEC = 0x0 -+ NFTA_GEN_ID = 0x1 -+ NFTA_GEN_PROC_PID = 0x2 -+ NFTA_GEN_PROC_NAME = 0x3 -+ NFTA_FIB_UNSPEC = 0x0 -+ NFTA_FIB_DREG = 0x1 -+ NFTA_FIB_RESULT = 0x2 -+ NFTA_FIB_FLAGS = 0x3 -+ NFT_FIB_RESULT_UNSPEC = 0x0 -+ NFT_FIB_RESULT_OIF = 0x1 -+ NFT_FIB_RESULT_OIFNAME = 0x2 -+ NFT_FIB_RESULT_ADDRTYPE = 0x3 -+ NFTA_FIB_F_SADDR = 0x1 -+ NFTA_FIB_F_DADDR = 0x2 -+ NFTA_FIB_F_MARK = 0x4 -+ NFTA_FIB_F_IIF = 0x8 -+ NFTA_FIB_F_OIF = 0x10 -+ NFTA_FIB_F_PRESENT = 0x20 -+ NFTA_CT_HELPER_UNSPEC = 0x0 -+ NFTA_CT_HELPER_NAME = 0x1 -+ NFTA_CT_HELPER_L3PROTO = 0x2 -+ NFTA_CT_HELPER_L4PROTO = 0x3 -+ NFTA_OBJ_UNSPEC = 0x0 -+ NFTA_OBJ_TABLE = 0x1 -+ NFTA_OBJ_NAME = 0x2 -+ NFTA_OBJ_TYPE = 0x3 -+ NFTA_OBJ_DATA = 0x4 -+ NFTA_OBJ_USE = 0x5 -+ NFTA_TRACE_UNSPEC = 0x0 -+ NFTA_TRACE_TABLE = 0x1 -+ NFTA_TRACE_CHAIN = 0x2 -+ NFTA_TRACE_RULE_HANDLE = 0x3 -+ NFTA_TRACE_TYPE = 0x4 -+ NFTA_TRACE_VERDICT = 0x5 -+ NFTA_TRACE_ID = 0x6 -+ NFTA_TRACE_LL_HEADER = 0x7 -+ NFTA_TRACE_NETWORK_HEADER = 0x8 -+ NFTA_TRACE_TRANSPORT_HEADER = 0x9 -+ NFTA_TRACE_IIF = 0xa -+ NFTA_TRACE_IIFTYPE = 0xb -+ NFTA_TRACE_OIF = 0xc -+ NFTA_TRACE_OIFTYPE = 0xd -+ NFTA_TRACE_MARK = 0xe -+ NFTA_TRACE_NFPROTO = 0xf -+ NFTA_TRACE_POLICY = 0x10 -+ NFTA_TRACE_PAD = 0x11 -+ NFT_TRACETYPE_UNSPEC = 0x0 -+ NFT_TRACETYPE_POLICY = 0x1 -+ NFT_TRACETYPE_RETURN = 0x2 -+ NFT_TRACETYPE_RULE = 0x3 -+ NFTA_NG_UNSPEC = 0x0 -+ NFTA_NG_DREG = 0x1 -+ NFTA_NG_MODULUS = 0x2 -+ NFTA_NG_TYPE = 0x3 -+ NFTA_NG_OFFSET = 0x4 -+ NFT_NG_INCREMENTAL = 0x0 -+ NFT_NG_RANDOM = 0x1 -+) -+ -+type RTCTime struct { -+ Sec int32 -+ Min int32 -+ Hour int32 -+ Mday int32 -+ Mon int32 -+ Year int32 -+ Wday int32 -+ Yday int32 -+ Isdst int32 -+} -+ -+type RTCWkAlrm struct { -+ Enabled uint8 -+ Pending uint8 -+ Time RTCTime -+} -+ -+type RTCPLLInfo struct { -+ Ctrl int32 -+ Value int32 -+ Max int32 -+ Min int32 -+ Posmult int32 -+ Negmult int32 -+ Clock int64 -+} -+ -+type BlkpgIoctlArg struct { -+ Op int32 -+ Flags int32 -+ Datalen int32 -+ Data *byte -+} -+ -+type BlkpgPartition struct { -+ Start int64 -+ Length int64 -+ Pno int32 -+ Devname [64]uint8 -+ Volname [64]uint8 -+ _ [4]byte -+} -+ -+const ( -+ BLKPG = 0x1269 -+ BLKPG_ADD_PARTITION = 0x1 -+ BLKPG_DEL_PARTITION = 0x2 -+ BLKPG_RESIZE_PARTITION = 0x3 -+) -+ -+const ( -+ NETNSA_NONE = 0x0 -+ NETNSA_NSID = 0x1 -+ NETNSA_PID = 0x2 -+ NETNSA_FD = 0x3 -+) -+ -+type XDPRingOffset struct { -+ Producer uint64 -+ Consumer uint64 -+ Desc uint64 -+} -+ -+type XDPMmapOffsets struct { -+ Rx XDPRingOffset -+ Tx XDPRingOffset -+ Fr XDPRingOffset -+ Cr XDPRingOffset -+} -+ -+type XDPUmemReg struct { -+ Addr uint64 -+ Len uint64 -+ Size uint32 -+ Headroom uint32 -+} -+ -+type XDPStatistics struct { -+ Rx_dropped uint64 -+ Rx_invalid_descs uint64 -+ Tx_invalid_descs uint64 -+} -+ -+type XDPDesc struct { -+ Addr uint64 -+ Len uint32 -+ Options uint32 -+} -+ -+const ( -+ NCSI_CMD_UNSPEC = 0x0 -+ NCSI_CMD_PKG_INFO = 0x1 -+ NCSI_CMD_SET_INTERFACE = 0x2 -+ NCSI_CMD_CLEAR_INTERFACE = 0x3 -+ NCSI_ATTR_UNSPEC = 0x0 -+ NCSI_ATTR_IFINDEX = 0x1 -+ NCSI_ATTR_PACKAGE_LIST = 0x2 -+ NCSI_ATTR_PACKAGE_ID = 0x3 -+ NCSI_ATTR_CHANNEL_ID = 0x4 -+ NCSI_PKG_ATTR_UNSPEC = 0x0 -+ NCSI_PKG_ATTR = 0x1 -+ NCSI_PKG_ATTR_ID = 0x2 -+ NCSI_PKG_ATTR_FORCED = 0x3 -+ NCSI_PKG_ATTR_CHANNEL_LIST = 0x4 -+ NCSI_CHANNEL_ATTR_UNSPEC = 0x0 -+ NCSI_CHANNEL_ATTR = 0x1 -+ NCSI_CHANNEL_ATTR_ID = 0x2 -+ NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3 -+ NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4 -+ NCSI_CHANNEL_ATTR_VERSION_STR = 0x5 -+ NCSI_CHANNEL_ATTR_LINK_STATE = 0x6 -+ NCSI_CHANNEL_ATTR_ACTIVE = 0x7 -+ NCSI_CHANNEL_ATTR_FORCED = 0x8 -+ NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9 -+ NCSI_CHANNEL_ATTR_VLAN_ID = 0xa -+) -+ -+type ScmTimestamping struct { -+ Ts [3]Timespec -+} -+ -+const ( -+ SOF_TIMESTAMPING_TX_HARDWARE = 0x1 -+ SOF_TIMESTAMPING_TX_SOFTWARE = 0x2 -+ SOF_TIMESTAMPING_RX_HARDWARE = 0x4 -+ SOF_TIMESTAMPING_RX_SOFTWARE = 0x8 -+ SOF_TIMESTAMPING_SOFTWARE = 0x10 -+ SOF_TIMESTAMPING_SYS_HARDWARE = 0x20 -+ SOF_TIMESTAMPING_RAW_HARDWARE = 0x40 -+ SOF_TIMESTAMPING_OPT_ID = 0x80 -+ SOF_TIMESTAMPING_TX_SCHED = 0x100 -+ SOF_TIMESTAMPING_TX_ACK = 0x200 -+ SOF_TIMESTAMPING_OPT_CMSG = 0x400 -+ SOF_TIMESTAMPING_OPT_TSONLY = 0x800 -+ SOF_TIMESTAMPING_OPT_STATS = 0x1000 -+ SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000 -+ SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000 -+ -+ SOF_TIMESTAMPING_LAST = 0x4000 -+ SOF_TIMESTAMPING_MASK = 0x7fff -+ -+ SCM_TSTAMP_SND = 0x0 -+ SCM_TSTAMP_SCHED = 0x1 -+ SCM_TSTAMP_ACK = 0x2 -+) -+ -+type SockExtendedErr struct { -+ Errno uint32 -+ Origin uint8 -+ Type uint8 -+ Code uint8 -+ Pad uint8 -+ Info uint32 -+ Data uint32 -+} -+ -+type FanotifyEventMetadata struct { -+ Event_len uint32 -+ Vers uint8 -+ Reserved uint8 -+ Metadata_len uint16 -+ Mask uint64 -+ Fd int32 -+ Pid int32 -+} -+ -+type FanotifyResponse struct { -+ Fd int32 -+ Response uint32 -+} -+ -+const ( -+ CRYPTO_MSG_BASE = 0x10 -+ CRYPTO_MSG_NEWALG = 0x10 -+ CRYPTO_MSG_DELALG = 0x11 -+ CRYPTO_MSG_UPDATEALG = 0x12 -+ CRYPTO_MSG_GETALG = 0x13 -+ CRYPTO_MSG_DELRNG = 0x14 -+ CRYPTO_MSG_GETSTAT = 0x15 -+) -+ -+const ( -+ CRYPTOCFGA_UNSPEC = 0x0 -+ CRYPTOCFGA_PRIORITY_VAL = 0x1 -+ CRYPTOCFGA_REPORT_LARVAL = 0x2 -+ CRYPTOCFGA_REPORT_HASH = 0x3 -+ CRYPTOCFGA_REPORT_BLKCIPHER = 0x4 -+ CRYPTOCFGA_REPORT_AEAD = 0x5 -+ CRYPTOCFGA_REPORT_COMPRESS = 0x6 -+ CRYPTOCFGA_REPORT_RNG = 0x7 -+ CRYPTOCFGA_REPORT_CIPHER = 0x8 -+ CRYPTOCFGA_REPORT_AKCIPHER = 0x9 -+ CRYPTOCFGA_REPORT_KPP = 0xa -+ CRYPTOCFGA_REPORT_ACOMP = 0xb -+ CRYPTOCFGA_STAT_LARVAL = 0xc -+ CRYPTOCFGA_STAT_HASH = 0xd -+ CRYPTOCFGA_STAT_BLKCIPHER = 0xe -+ CRYPTOCFGA_STAT_AEAD = 0xf -+ CRYPTOCFGA_STAT_COMPRESS = 0x10 -+ CRYPTOCFGA_STAT_RNG = 0x11 -+ CRYPTOCFGA_STAT_CIPHER = 0x12 -+ CRYPTOCFGA_STAT_AKCIPHER = 0x13 -+ CRYPTOCFGA_STAT_KPP = 0x14 -+ CRYPTOCFGA_STAT_ACOMP = 0x15 -+) -+ -+type CryptoUserAlg struct { -+ Name [64]uint8 -+ Driver_name [64]uint8 -+ Module_name [64]uint8 -+ Type uint32 -+ Mask uint32 -+ Refcnt uint32 -+ Flags uint32 -+} -+ -+type CryptoStatAEAD struct { -+ Type [64]uint8 -+ Encrypt_cnt uint64 -+ Encrypt_tlen uint64 -+ Decrypt_cnt uint64 -+ Decrypt_tlen uint64 -+ Err_cnt uint64 -+} -+ -+type CryptoStatAKCipher struct { -+ Type [64]uint8 -+ Encrypt_cnt uint64 -+ Encrypt_tlen uint64 -+ Decrypt_cnt uint64 -+ Decrypt_tlen uint64 -+ Verify_cnt uint64 -+ Sign_cnt uint64 -+ Err_cnt uint64 -+} -+ -+type CryptoStatCipher struct { -+ Type [64]uint8 -+ Encrypt_cnt uint64 -+ Encrypt_tlen uint64 -+ Decrypt_cnt uint64 -+ Decrypt_tlen uint64 -+ Err_cnt uint64 -+} -+ -+type CryptoStatCompress struct { -+ Type [64]uint8 -+ Compress_cnt uint64 -+ Compress_tlen uint64 -+ Decompress_cnt uint64 -+ Decompress_tlen uint64 -+ Err_cnt uint64 -+} -+ -+type CryptoStatHash struct { -+ Type [64]uint8 -+ Hash_cnt uint64 -+ Hash_tlen uint64 -+ Err_cnt uint64 -+} -+ -+type CryptoStatKPP struct { -+ Type [64]uint8 -+ Setsecret_cnt uint64 -+ Generate_public_key_cnt uint64 -+ Compute_shared_secret_cnt uint64 -+ Err_cnt uint64 -+} -+ -+type CryptoStatRNG struct { -+ Type [64]uint8 -+ Generate_cnt uint64 -+ Generate_tlen uint64 -+ Seed_cnt uint64 -+ Err_cnt uint64 -+} -+ -+type CryptoStatLarval struct { -+ Type [64]uint8 -+} -+ -+type CryptoReportLarval struct { -+ Type [64]uint8 -+} -+ -+type CryptoReportHash struct { -+ Type [64]uint8 -+ Blocksize uint32 -+ Digestsize uint32 -+} -+ -+type CryptoReportCipher struct { -+ Type [64]uint8 -+ Blocksize uint32 -+ Min_keysize uint32 -+ Max_keysize uint32 -+} -+ -+type CryptoReportBlkCipher struct { -+ Type [64]uint8 -+ Geniv [64]uint8 -+ Blocksize uint32 -+ Min_keysize uint32 -+ Max_keysize uint32 -+ Ivsize uint32 -+} -+ -+type CryptoReportAEAD struct { -+ Type [64]uint8 -+ Geniv [64]uint8 -+ Blocksize uint32 -+ Maxauthsize uint32 -+ Ivsize uint32 -+} -+ -+type CryptoReportComp struct { -+ Type [64]uint8 -+} -+ -+type CryptoReportRNG struct { -+ Type [64]uint8 -+ Seedsize uint32 -+} -+ -+type CryptoReportAKCipher struct { -+ Type [64]uint8 -+} -+ -+type CryptoReportKPP struct { -+ Type [64]uint8 -+} -+ -+type CryptoReportAcomp struct { -+ Type [64]uint8 -+} --- -2.23.0 - diff --git a/patch/0122-runc-add-riscv-on-existing-files.patch b/patch/0122-runc-add-riscv-on-existing-files.patch deleted file mode 100644 index 7d7d792..0000000 --- a/patch/0122-runc-add-riscv-on-existing-files.patch +++ /dev/null @@ -1,36 +0,0 @@ -From b5cf892c9d9609872da81970013a433f998305ea Mon Sep 17 00:00:00 2001 -From: yangyanchao -Date: Tue, 15 Dec 2020 03:04:18 +0000 -Subject: [PATCH 2/2] runc-add-sys-symbol-to-support-riscv - ---- - libcontainer/system/syscall_linux_64.go | 2 +- - vendor/golang.org/x/sys/unix/endian_little.go | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libcontainer/system/syscall_linux_64.go b/libcontainer/system/syscall_linux_64.go -index 0816bf8..6e89196 100644 ---- a/libcontainer/system/syscall_linux_64.go -+++ b/libcontainer/system/syscall_linux_64.go -@@ -1,4 +1,4 @@ --// +build linux,arm64 linux,amd64 linux,ppc linux,ppc64 linux,ppc64le linux,s390x -+// +build linux,arm64 linux,amd64 linux,ppc linux,ppc64 linux,ppc64le linux,s390x linux,riscv64 - - package system - -diff --git a/vendor/golang.org/x/sys/unix/endian_little.go b/vendor/golang.org/x/sys/unix/endian_little.go -index 9ed865f..88903f6 100644 ---- a/vendor/golang.org/x/sys/unix/endian_little.go -+++ b/vendor/golang.org/x/sys/unix/endian_little.go -@@ -2,7 +2,7 @@ - // Use of this source code is governed by a BSD-style - // license that can be found in the LICENSE file. - // --// +build 386 amd64 amd64p32 arm arm64 ppc64le mips64le -+// +build 386 amd64 amd64p32 arm arm64 ppc64le mips64le riscv64 - - package unix - --- -2.23.0 - diff --git a/patch/0124-runc-fix-freezing-race.patch b/patch/0124-runc-fix-freezing-race.patch deleted file mode 100644 index 14db2c1..0000000 --- a/patch/0124-runc-fix-freezing-race.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 943822abaa0aee51985384912292589ae1e34622 Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Thu, 4 Feb 2021 16:26:49 +0800 -Subject: [PATCH] runc: fix freezing race - -runc kill blocks in freezer.Set, freezer.state keeps in freezing, -because new process is creating during freeze. - -Upstream:https://github.com/opencontainers/runc/pull/2774 - https://github.com/opencontainers/runc/pull/2791 - -Signed-off-by: xiadanni ---- - libcontainer/cgroups/fs/freezer.go | 19 ++++++++++++++----- - 1 file changed, 14 insertions(+), 5 deletions(-) - -diff --git a/libcontainer/cgroups/fs/freezer.go b/libcontainer/cgroups/fs/freezer.go -index 5ab3c02..40f70c1 100644 ---- a/libcontainer/cgroups/fs/freezer.go -+++ b/libcontainer/cgroups/fs/freezer.go -@@ -3,6 +3,7 @@ - package fs - - import ( -+ "errors" - "fmt" - "strings" - "time" -@@ -28,24 +29,32 @@ func (s *FreezerGroup) Apply(d *cgroupData) error { - - func (s *FreezerGroup) Set(path string, cgroup *configs.Cgroup) error { - switch cgroup.Resources.Freezer { -- case configs.Frozen, configs.Thawed: -- for { -+ case configs.Frozen: -+ for i := 0; i < 1000; i++ { -+ if i%50 == 49 { -+ writeFile(path, "freezer.state", string(configs.Thawed)) -+ time.Sleep(10 * time.Millisecond) -+ } - // In case this loop does not exit because it doesn't get the expected - // state, let's write again this state, hoping it's going to be properly - // set this time. Otherwise, this loop could run infinitely, waiting for - // a state change that would never happen. -- if err := writeFile(path, "freezer.state", string(cgroup.Resources.Freezer)); err != nil { -+ if err := writeFile(path, "freezer.state", string(configs.Frozen)); err != nil { - return err - } - state, err := readFile(path, "freezer.state") - if err != nil { - return err - } -- if strings.TrimSpace(state) == string(cgroup.Resources.Freezer) { -- break -+ if strings.TrimSpace(state) == string(configs.Frozen) { -+ return nil - } - time.Sleep(1 * time.Millisecond) - } -+ writeFile(path, "freezer.state", string(configs.Thawed)) -+ return errors.New("unable to freeze") -+ case configs.Thawed: -+ return writeFile(path, "freezer.state", string(configs.Thawed)) - case configs.Undefined: - return nil - default: --- -1.8.3.1 - diff --git a/patch/0125-runc-compile-option-compliance.patch b/patch/0125-runc-compile-option-compliance.patch deleted file mode 100644 index 281e4bc..0000000 --- a/patch/0125-runc-compile-option-compliance.patch +++ /dev/null @@ -1,38 +0,0 @@ -From d7e62b082d564d0ac1e58257f34d25082e58c3cf Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Thu, 18 Mar 2021 11:17:13 +0800 -Subject: [PATCH] runc: compile option compliance - -Signed-off-by: xiadanni ---- - Makefile | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -diff --git a/Makefile b/Makefile -index 43d15bf..fcf34ea 100644 ---- a/Makefile -+++ b/Makefile -@@ -39,10 +39,17 @@ recvtty: contrib/cmd/recvtty/recvtty - contrib/cmd/recvtty/recvtty: $(SOURCES) - go build -i -ldflags " -buildid=IdByIsula ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -tags "$(BUILDTAGS)" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty - -+LD_FLAGS='-w -buildid=none -tmpdir=/tmp/bep-runc -linkmode=external -extldflags=-Wl,-z,relro,-z,now \ -+ -X main.gitCommit=${COMMIT} -X main.version=${VERSION}' -+ - static: $(SOURCES) -- mkdir -p ${BEP_DIR} -- CGO_ENABLED=1 go build -i -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -buildid=IdByIsula -extldflags -static ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -o runc . -- CGO_ENABLED=1 go build -i -tags "$(BUILDTAGS) cgo static_build" -ldflags "-w -buildid=IdByIsula -extldflags -static ${BEP_FLAG} -X main.gitCommit=${COMMIT} -X main.version=${VERSION}" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty -+ rm -rf /tmp/bep-runc && mkdir /tmp/bep-runc -+ CGO_ENABLED=1 \ -+ CGO_CFLAGS="-fstack-protector-strong -fPIE" \ -+ CGO_CPPFLAGS="-fstack-protector-strong -fPIE" \ -+ CGO_LDFLAGS_ALLOW='-Wl,-z,relro,-z,now' \ -+ CGO_LDFLAGS="-Wl,-z,relro,-z,now -Wl,-z,noexecstack" \ -+ go build -buildmode=pie -tags "$(BUILDTAGS) cgo static_build" -ldflags '-extldflags=-static' -ldflags $(LD_FLAGS) -o runc . - - release: - @flag_list=(seccomp selinux apparmor static); \ --- -1.8.3.1 - diff --git a/patch/0126-runc-add-check-in-spec.patch b/patch/0126-runc-add-check-in-spec.patch deleted file mode 100644 index 14e28ee..0000000 --- a/patch/0126-runc-add-check-in-spec.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 34e659c12eb4ae543e3c7a6539a3d51ec2ec295b Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Fri, 19 Feb 2021 11:18:25 +0800 -Subject: [PATCH] runc: add check in spec - -Signed-off-by: xiadanni ---- - Makefile | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/Makefile b/Makefile -index fcf34ea..364ac89 100644 ---- a/Makefile -+++ b/Makefile -@@ -89,6 +89,9 @@ man: - runcimage: - docker build -t $(RUNC_IMAGE) . - -+check: -+ go test -v ./libcontainer -+ - test: - make unittest integration rootlessintegration - --- -1.8.3.1 - diff --git a/patch/0127-runc-add-mount-destination-validation-fix-CVE-2021.patch b/patch/0127-runc-add-mount-destination-validation-fix-CVE-2021.patch deleted file mode 100644 index 5649b87..0000000 --- a/patch/0127-runc-add-mount-destination-validation-fix-CVE-2021.patch +++ /dev/null @@ -1,1344 +0,0 @@ -From d0b1d58edca28b6e4264abb1645fa8f7e56fc03e Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Thu, 3 Jun 2021 19:58:55 +0800 -Subject: [PATCH] rootfs:add mount destination validation(fix CVE-2021-30465) - -Conflict:NA -Reference:https://github.com/opencontainers/runc/commit/0ca91f44f1664da834bc61115a849b56d22f595f - -Signed-off-by: xiadanni ---- - libcontainer/init_linux.go | 1 + - libcontainer/rootfs_linux.go | 38 ++- - libcontainer/utils/utils.go | 69 +++++ - .../cyphar/filepath-securejoin/.travis.yml | 19 ++ - .../cyphar/filepath-securejoin/LICENSE | 28 ++ - .../cyphar/filepath-securejoin/README.md | 65 ++++ - .../cyphar/filepath-securejoin/VERSION | 1 + - .../cyphar/filepath-securejoin/join.go | 134 ++++++++ - .../cyphar/filepath-securejoin/vendor.conf | 1 + - .../cyphar/filepath-securejoin/vfs.go | 41 +++ - vendor/github.com/pkg/errors/.gitignore | 24 ++ - vendor/github.com/pkg/errors/.travis.yml | 10 + - vendor/github.com/pkg/errors/LICENSE | 23 ++ - vendor/github.com/pkg/errors/Makefile | 44 +++ - vendor/github.com/pkg/errors/README.md | 59 ++++ - vendor/github.com/pkg/errors/appveyor.yml | 32 ++ - vendor/github.com/pkg/errors/errors.go | 288 ++++++++++++++++++ - vendor/github.com/pkg/errors/go113.go | 38 +++ - vendor/github.com/pkg/errors/stack.go | 177 +++++++++++ - 19 files changed, 1080 insertions(+), 12 deletions(-) - create mode 100644 vendor/github.com/cyphar/filepath-securejoin/.travis.yml - create mode 100644 vendor/github.com/cyphar/filepath-securejoin/LICENSE - create mode 100644 vendor/github.com/cyphar/filepath-securejoin/README.md - create mode 100644 vendor/github.com/cyphar/filepath-securejoin/VERSION - create mode 100644 vendor/github.com/cyphar/filepath-securejoin/join.go - create mode 100644 vendor/github.com/cyphar/filepath-securejoin/vendor.conf - create mode 100644 vendor/github.com/cyphar/filepath-securejoin/vfs.go - create mode 100644 vendor/github.com/pkg/errors/.gitignore - create mode 100644 vendor/github.com/pkg/errors/.travis.yml - create mode 100644 vendor/github.com/pkg/errors/LICENSE - create mode 100644 vendor/github.com/pkg/errors/Makefile - create mode 100644 vendor/github.com/pkg/errors/README.md - create mode 100644 vendor/github.com/pkg/errors/appveyor.yml - create mode 100644 vendor/github.com/pkg/errors/errors.go - create mode 100644 vendor/github.com/pkg/errors/go113.go - create mode 100644 vendor/github.com/pkg/errors/stack.go - -diff --git a/libcontainer/init_linux.go b/libcontainer/init_linux.go -index 73505ef9..ee632b4c 100644 ---- a/libcontainer/init_linux.go -+++ b/libcontainer/init_linux.go -@@ -71,6 +71,7 @@ func newContainerInit(t initType, pipe *os.File, consoleSocket *os.File, stateDi - if err := json.NewDecoder(pipe).Decode(&config); err != nil { - return nil, err - } -+ utils.ConfigRootfs = config.Config.Rootfs - if err := populateProcessEnvironment(config.Env); err != nil { - return nil, err - } -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index 4c184822..908e9d53 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -14,6 +14,7 @@ import ( - "syscall" - "time" - -+ securejoin "github.com/cyphar/filepath-securejoin" - "github.com/docker/docker/pkg/mount" - "github.com/docker/docker/pkg/symlink" - "github.com/mrunalp/fileutils" -@@ -161,9 +162,13 @@ func mountCmd(cmd configs.Command) error { - func mountToRootfs(m *configs.Mount, rootfs, mountLabel string) error { - var ( - dest = m.Destination -+ err error - ) - if !strings.HasPrefix(dest, rootfs) { -- dest = filepath.Join(rootfs, dest) -+ dest, err = securejoin.SecureJoin(rootfs, m.Destination) -+ if err != nil { -+ return err -+ } - } - - switch m.Device { -@@ -216,7 +221,7 @@ func mountToRootfs(m *configs.Mount, rootfs, mountLabel string) error { - } - return errMsg - } -- if err := syscall.Mount(tmpDir, dest, "", syscall.MS_MOVE, ""); err != nil { -+ if err := libcontainerUtils.Mount(tmpDir, dest, "", syscall.MS_MOVE, ""); err != nil { - errMsg := fmt.Errorf("tmpcopyup: failed to move mount %s to %s: %v", tmpDir, dest, err) - if err1 := syscall.Unmount(tmpDir, syscall.MNT_DETACH); err1 != nil { - return newSystemErrorWithCausef(err1, "tmpcopyup: %v: failed to unmount", errMsg) -@@ -494,12 +499,15 @@ func bindMountDeviceNode(dest string, node *configs.Device) error { - if f != nil { - f.Close() - } -- return syscall.Mount(node.Path, dest, "bind", syscall.MS_BIND, "") -+ return libcontainerUtils.Mount(node.Path, dest, "bind", syscall.MS_BIND, "") - } - - // Creates the device node in the rootfs of the container. - func createDeviceNode(rootfs string, node *configs.Device, bind bool) error { -- dest := filepath.Join(rootfs, node.Path) -+ dest, err := securejoin.SecureJoin(rootfs, node.Path) -+ if err != nil { -+ return err -+ } - if err := os.MkdirAll(filepath.Dir(dest), 0755); err != nil { - return err - } -@@ -815,14 +823,16 @@ func writeSystemProperty(key, value string) error { - func remount(m *configs.Mount, rootfs string) error { - var ( - dest = m.Destination -+ err error - ) - if !strings.HasPrefix(dest, rootfs) { -- dest = filepath.Join(rootfs, dest) -- } -- if err := syscall.Mount(m.Source, dest, m.Device, uintptr(m.Flags|syscall.MS_REMOUNT), ""); err != nil { -- return err -+ dest, err = securejoin.SecureJoin(rootfs, dest) -+ if err != nil { -+ return err -+ } - } -- return nil -+ -+ return libcontainerUtils.Mount(m.Source, dest, m.Device, uintptr(m.Flags|syscall.MS_REMOUNT), "") - } - - // Do the mount operation followed by additional mounts required to take care -@@ -832,6 +842,7 @@ func mountPropagate(m *configs.Mount, rootfs string, mountLabel string) error { - dest = m.Destination - data = label.FormatMountLabel(m.Data, mountLabel) - flags = m.Flags -+ err error - ) - if libcontainerUtils.CleanPath(dest) == "/dev" { - flags &= ^syscall.MS_RDONLY -@@ -839,15 +850,18 @@ func mountPropagate(m *configs.Mount, rootfs string, mountLabel string) error { - - copyUp := m.Extensions&configs.EXT_COPYUP == configs.EXT_COPYUP - if !(copyUp || strings.HasPrefix(dest, rootfs)) { -- dest = filepath.Join(rootfs, dest) -+ dest, err = securejoin.SecureJoin(rootfs, dest) -+ if err != nil { -+ return err -+ } - } - -- if err := syscall.Mount(m.Source, dest, m.Device, uintptr(flags), data); err != nil { -+ if err = libcontainerUtils.Mount(m.Source, dest, m.Device, uintptr(flags), data); err != nil { - return err - } - - for _, pflag := range m.PropagationFlags { -- if err := syscall.Mount("", dest, "", uintptr(pflag), ""); err != nil { -+ if err := libcontainerUtils.Mount("", dest, "", uintptr(pflag), ""); err != nil { - return err - } - } -diff --git a/libcontainer/utils/utils.go b/libcontainer/utils/utils.go -index 2b35b9a7..bdd13d49 100644 ---- a/libcontainer/utils/utils.go -+++ b/libcontainer/utils/utils.go -@@ -4,18 +4,25 @@ import ( - "crypto/rand" - "encoding/hex" - "encoding/json" -+ "fmt" - "io" - "os" - "path/filepath" -+ "strconv" - "strings" - "syscall" - "unsafe" -+ -+ securejoin "github.com/cyphar/filepath-securejoin" -+ "golang.org/x/sys/unix" - ) - - const ( - exitSignalOffset = 128 - ) - -+var ConfigRootfs string -+ - // GenerateRandomName returns a new name joined with a prefix. This size - // specified is used to truncate the randomly generated value - func GenerateRandomName(prefix string, size int) (string, error) { -@@ -124,3 +131,65 @@ func Annotations(labels []string) (bundle string, userAnnotations map[string]str - func GetIntSize() int { - return int(unsafe.Sizeof(1)) - } -+ -+func Mount(source, target, fstype string, flags uintptr, data string) error { -+ if ConfigRootfs == "" { -+ panic("rootfs is not inited from config.json") -+ } -+ return WithProcfd(ConfigRootfs, target, func(procfd string) error { -+ return syscall.Mount(source, procfd, fstype, flags, data) -+ }) -+} -+ -+// stripRoot returns the passed path, stripping the root path if it was -+// (lexicially) inside it. Note that both passed paths will always be treated -+// as absolute, and the returned path will also always be absolute. In -+// addition, the paths are cleaned before stripping the root. -+func stripRoot(root, path string) string { -+ // Make the paths clean and absolute. -+ root, path = CleanPath("/"+root), CleanPath("/"+path) -+ switch { -+ case path == root: -+ path = "/" -+ case root == "/": -+ // do nothing -+ case strings.HasPrefix(path, root+"/"): -+ path = strings.TrimPrefix(path, root+"/") -+ default: -+ panic("invalid path to mount, path not begin with rootfs") -+ } -+ return CleanPath("/" + path) -+} -+ -+// WithProcfd runs the passed closure with a procfd path (/proc/self/fd/...) -+// corresponding to the unsafePath resolved within the root. Before passing the -+// fd, this path is verified to have been inside the root -- so operating on it -+// through the passed fdpath should be safe. Do not access this path through -+// the original path strings, and do not attempt to use the pathname outside of -+// the passed closure (the file handle will be freed once the closure returns). -+func WithProcfd(root, unsafePath string, fn func(procfd string) error) error { -+ // Remove the root then forcefully resolve inside the root. -+ unsafePath = stripRoot(root, unsafePath) -+ path, err := securejoin.SecureJoin(root, unsafePath) -+ if err != nil { -+ return fmt.Errorf("resolving path inside rootfs failed: %v", err) -+ } -+ -+ // Open the target path. -+ fh, err := os.OpenFile(path, unix.O_PATH|unix.O_CLOEXEC, 0) -+ if err != nil { -+ return fmt.Errorf("open o_path procfd: %w", err) -+ } -+ defer fh.Close() -+ -+ // Double-check the path is the one we expected. -+ procfd := "/proc/self/fd/" + strconv.Itoa(int(fh.Fd())) -+ if realpath, err := os.Readlink(procfd); err != nil { -+ return fmt.Errorf("procfd verification failed: %w", err) -+ } else if realpath != path { -+ return fmt.Errorf("possibly malicious path detected -- refusing to operate on %s", realpath) -+ } -+ -+ // Run the closure. -+ return fn(procfd) -+} -diff --git a/vendor/github.com/cyphar/filepath-securejoin/.travis.yml b/vendor/github.com/cyphar/filepath-securejoin/.travis.yml -new file mode 100644 -index 00000000..3938f383 ---- /dev/null -+++ b/vendor/github.com/cyphar/filepath-securejoin/.travis.yml -@@ -0,0 +1,19 @@ -+# Copyright (C) 2017 SUSE LLC. All rights reserved. -+# Use of this source code is governed by a BSD-style -+# license that can be found in the LICENSE file. -+ -+language: go -+go: -+ - 1.7.x -+ - 1.8.x -+ - tip -+ -+os: -+ - linux -+ - osx -+ -+script: -+ - go test -cover -v ./... -+ -+notifications: -+ email: false -diff --git a/vendor/github.com/cyphar/filepath-securejoin/LICENSE b/vendor/github.com/cyphar/filepath-securejoin/LICENSE -new file mode 100644 -index 00000000..bec842f2 ---- /dev/null -+++ b/vendor/github.com/cyphar/filepath-securejoin/LICENSE -@@ -0,0 +1,28 @@ -+Copyright (C) 2014-2015 Docker Inc & Go Authors. All rights reserved. -+Copyright (C) 2017 SUSE LLC. All rights reserved. -+ -+Redistribution and use in source and binary forms, with or without -+modification, are permitted provided that the following conditions are -+met: -+ -+ * Redistributions of source code must retain the above copyright -+notice, this list of conditions and the following disclaimer. -+ * Redistributions in binary form must reproduce the above -+copyright notice, this list of conditions and the following disclaimer -+in the documentation and/or other materials provided with the -+distribution. -+ * Neither the name of Google Inc. nor the names of its -+contributors may be used to endorse or promote products derived from -+this software without specific prior written permission. -+ -+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -diff --git a/vendor/github.com/cyphar/filepath-securejoin/README.md b/vendor/github.com/cyphar/filepath-securejoin/README.md -new file mode 100644 -index 00000000..49b2baa9 ---- /dev/null -+++ b/vendor/github.com/cyphar/filepath-securejoin/README.md -@@ -0,0 +1,65 @@ -+## `filepath-securejoin` ## -+ -+[![Build Status](https://travis-ci.org/cyphar/filepath-securejoin.svg?branch=master)](https://travis-ci.org/cyphar/filepath-securejoin) -+ -+An implementation of `SecureJoin`, a [candidate for inclusion in the Go -+standard library][go#20126]. The purpose of this function is to be a "secure" -+alternative to `filepath.Join`, and in particular it provides certain -+guarantees that are not provided by `filepath.Join`. -+ -+This is the function prototype: -+ -+```go -+func SecureJoin(root, unsafePath string) (string, error) -+``` -+ -+This library **guarantees** the following: -+ -+* If no error is set, the resulting string **must** be a child path of -+ `SecureJoin` and will not contain any symlink path components (they will all -+ be expanded). -+ -+* When expanding symlinks, all symlink path components **must** be resolved -+ relative to the provided root. In particular, this can be considered a -+ userspace implementation of how `chroot(2)` operates on file paths. Note that -+ these symlinks will **not** be expanded lexically (`filepath.Clean` is not -+ called on the input before processing). -+ -+* Non-existant path components are unaffected by `SecureJoin` (similar to -+ `filepath.EvalSymlinks`'s semantics). -+ -+* The returned path will always be `filepath.Clean`ed and thus not contain any -+ `..` components. -+ -+A (trivial) implementation of this function on GNU/Linux systems could be done -+with the following (note that this requires root privileges and is far more -+opaque than the implementation in this library, and also requires that -+`readlink` is inside the `root` path): -+ -+```go -+package securejoin -+ -+import ( -+ "os/exec" -+ "path/filepath" -+) -+ -+func SecureJoin(root, unsafePath string) (string, error) { -+ unsafePath = string(filepath.Separator) + unsafePath -+ cmd := exec.Command("chroot", root, -+ "readlink", "--canonicalize-missing", "--no-newline", unsafePath) -+ output, err := cmd.CombinedOutput() -+ if err != nil { -+ return "", err -+ } -+ expanded := string(output) -+ return filepath.Join(root, expanded), nil -+} -+``` -+ -+[go#20126]: https://github.com/golang/go/issues/20126 -+ -+### License ### -+ -+The license of this project is the same as Go, which is a BSD 3-clause license -+available in the `LICENSE` file. -diff --git a/vendor/github.com/cyphar/filepath-securejoin/VERSION b/vendor/github.com/cyphar/filepath-securejoin/VERSION -new file mode 100644 -index 00000000..ee1372d3 ---- /dev/null -+++ b/vendor/github.com/cyphar/filepath-securejoin/VERSION -@@ -0,0 +1 @@ -+0.2.2 -diff --git a/vendor/github.com/cyphar/filepath-securejoin/join.go b/vendor/github.com/cyphar/filepath-securejoin/join.go -new file mode 100644 -index 00000000..c4ca3d71 ---- /dev/null -+++ b/vendor/github.com/cyphar/filepath-securejoin/join.go -@@ -0,0 +1,134 @@ -+// Copyright (C) 2014-2015 Docker Inc & Go Authors. All rights reserved. -+// Copyright (C) 2017 SUSE LLC. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+// Package securejoin is an implementation of the hopefully-soon-to-be-included -+// SecureJoin helper that is meant to be part of the "path/filepath" package. -+// The purpose of this project is to provide a PoC implementation to make the -+// SecureJoin proposal (https://github.com/golang/go/issues/20126) more -+// tangible. -+package securejoin -+ -+import ( -+ "bytes" -+ "os" -+ "path/filepath" -+ "strings" -+ "syscall" -+ -+ "github.com/pkg/errors" -+) -+ -+// ErrSymlinkLoop is returned by SecureJoinVFS when too many symlinks have been -+// evaluated in attempting to securely join the two given paths. -+var ErrSymlinkLoop = errors.Wrap(syscall.ELOOP, "secure join") -+ -+// IsNotExist tells you if err is an error that implies that either the path -+// accessed does not exist (or path components don't exist). This is -+// effectively a more broad version of os.IsNotExist. -+func IsNotExist(err error) bool { -+ // If it's a bone-fide ENOENT just bail. -+ if os.IsNotExist(errors.Cause(err)) { -+ return true -+ } -+ -+ // Check that it's not actually an ENOTDIR, which in some cases is a more -+ // convoluted case of ENOENT (usually involving weird paths). -+ var errno error -+ switch err := errors.Cause(err).(type) { -+ case *os.PathError: -+ errno = err.Err -+ case *os.LinkError: -+ errno = err.Err -+ case *os.SyscallError: -+ errno = err.Err -+ } -+ return errno == syscall.ENOTDIR || errno == syscall.ENOENT -+} -+ -+// SecureJoinVFS joins the two given path components (similar to Join) except -+// that the returned path is guaranteed to be scoped inside the provided root -+// path (when evaluated). Any symbolic links in the path are evaluated with the -+// given root treated as the root of the filesystem, similar to a chroot. The -+// filesystem state is evaluated through the given VFS interface (if nil, the -+// standard os.* family of functions are used). -+// -+// Note that the guarantees provided by this function only apply if the path -+// components in the returned string are not modified (in other words are not -+// replaced with symlinks on the filesystem) after this function has returned. -+// Such a symlink race is necessarily out-of-scope of SecureJoin. -+func SecureJoinVFS(root, unsafePath string, vfs VFS) (string, error) { -+ // Use the os.* VFS implementation if none was specified. -+ if vfs == nil { -+ vfs = osVFS{} -+ } -+ -+ var path bytes.Buffer -+ n := 0 -+ for unsafePath != "" { -+ if n > 255 { -+ return "", ErrSymlinkLoop -+ } -+ -+ // Next path component, p. -+ i := strings.IndexRune(unsafePath, filepath.Separator) -+ var p string -+ if i == -1 { -+ p, unsafePath = unsafePath, "" -+ } else { -+ p, unsafePath = unsafePath[:i], unsafePath[i+1:] -+ } -+ -+ // Create a cleaned path, using the lexical semantics of /../a, to -+ // create a "scoped" path component which can safely be joined to fullP -+ // for evaluation. At this point, path.String() doesn't contain any -+ // symlink components. -+ cleanP := filepath.Clean(string(filepath.Separator) + path.String() + p) -+ if cleanP == string(filepath.Separator) { -+ path.Reset() -+ continue -+ } -+ fullP := filepath.Clean(root + cleanP) -+ -+ // Figure out whether the path is a symlink. -+ fi, err := vfs.Lstat(fullP) -+ if err != nil && !IsNotExist(err) { -+ return "", err -+ } -+ // Treat non-existent path components the same as non-symlinks (we -+ // can't do any better here). -+ if IsNotExist(err) || fi.Mode()&os.ModeSymlink == 0 { -+ path.WriteString(p) -+ path.WriteRune(filepath.Separator) -+ continue -+ } -+ -+ // Only increment when we actually dereference a link. -+ n++ -+ -+ // It's a symlink, expand it by prepending it to the yet-unparsed path. -+ dest, err := vfs.Readlink(fullP) -+ if err != nil { -+ return "", err -+ } -+ // Absolute symlinks reset any work we've already done. -+ if filepath.IsAbs(dest) { -+ path.Reset() -+ } -+ unsafePath = dest + string(filepath.Separator) + unsafePath -+ } -+ -+ // We have to clean path.String() here because it may contain '..' -+ // components that are entirely lexical, but would be misleading otherwise. -+ // And finally do a final clean to ensure that root is also lexically -+ // clean. -+ fullP := filepath.Clean(string(filepath.Separator) + path.String()) -+ return filepath.Clean(root + fullP), nil -+} -+ -+// SecureJoin is a wrapper around SecureJoinVFS that just uses the os.* library -+// of functions as the VFS. If in doubt, use this function over SecureJoinVFS. -+func SecureJoin(root, unsafePath string) (string, error) { -+ return SecureJoinVFS(root, unsafePath, nil) -+} -diff --git a/vendor/github.com/cyphar/filepath-securejoin/vendor.conf b/vendor/github.com/cyphar/filepath-securejoin/vendor.conf -new file mode 100644 -index 00000000..66bb574b ---- /dev/null -+++ b/vendor/github.com/cyphar/filepath-securejoin/vendor.conf -@@ -0,0 +1 @@ -+github.com/pkg/errors v0.8.0 -diff --git a/vendor/github.com/cyphar/filepath-securejoin/vfs.go b/vendor/github.com/cyphar/filepath-securejoin/vfs.go -new file mode 100644 -index 00000000..a82a5eae ---- /dev/null -+++ b/vendor/github.com/cyphar/filepath-securejoin/vfs.go -@@ -0,0 +1,41 @@ -+// Copyright (C) 2017 SUSE LLC. All rights reserved. -+// Use of this source code is governed by a BSD-style -+// license that can be found in the LICENSE file. -+ -+package securejoin -+ -+import "os" -+ -+// In future this should be moved into a separate package, because now there -+// are several projects (umoci and go-mtree) that are using this sort of -+// interface. -+ -+// VFS is the minimal interface necessary to use SecureJoinVFS. A nil VFS is -+// equivalent to using the standard os.* family of functions. This is mainly -+// used for the purposes of mock testing, but also can be used to otherwise use -+// SecureJoin with VFS-like system. -+type VFS interface { -+ // Lstat returns a FileInfo describing the named file. If the file is a -+ // symbolic link, the returned FileInfo describes the symbolic link. Lstat -+ // makes no attempt to follow the link. These semantics are identical to -+ // os.Lstat. -+ Lstat(name string) (os.FileInfo, error) -+ -+ // Readlink returns the destination of the named symbolic link. These -+ // semantics are identical to os.Readlink. -+ Readlink(name string) (string, error) -+} -+ -+// osVFS is the "nil" VFS, in that it just passes everything through to the os -+// module. -+type osVFS struct{} -+ -+// Lstat returns a FileInfo describing the named file. If the file is a -+// symbolic link, the returned FileInfo describes the symbolic link. Lstat -+// makes no attempt to follow the link. These semantics are identical to -+// os.Lstat. -+func (o osVFS) Lstat(name string) (os.FileInfo, error) { return os.Lstat(name) } -+ -+// Readlink returns the destination of the named symbolic link. These -+// semantics are identical to os.Readlink. -+func (o osVFS) Readlink(name string) (string, error) { return os.Readlink(name) } -diff --git a/vendor/github.com/pkg/errors/.gitignore b/vendor/github.com/pkg/errors/.gitignore -new file mode 100644 -index 00000000..daf913b1 ---- /dev/null -+++ b/vendor/github.com/pkg/errors/.gitignore -@@ -0,0 +1,24 @@ -+# Compiled Object files, Static and Dynamic libs (Shared Objects) -+*.o -+*.a -+*.so -+ -+# Folders -+_obj -+_test -+ -+# Architecture specific extensions/prefixes -+*.[568vq] -+[568vq].out -+ -+*.cgo1.go -+*.cgo2.c -+_cgo_defun.c -+_cgo_gotypes.go -+_cgo_export.* -+ -+_testmain.go -+ -+*.exe -+*.test -+*.prof -diff --git a/vendor/github.com/pkg/errors/.travis.yml b/vendor/github.com/pkg/errors/.travis.yml -new file mode 100644 -index 00000000..9159de03 ---- /dev/null -+++ b/vendor/github.com/pkg/errors/.travis.yml -@@ -0,0 +1,10 @@ -+language: go -+go_import_path: github.com/pkg/errors -+go: -+ - 1.11.x -+ - 1.12.x -+ - 1.13.x -+ - tip -+ -+script: -+ - make check -diff --git a/vendor/github.com/pkg/errors/LICENSE b/vendor/github.com/pkg/errors/LICENSE -new file mode 100644 -index 00000000..835ba3e7 ---- /dev/null -+++ b/vendor/github.com/pkg/errors/LICENSE -@@ -0,0 +1,23 @@ -+Copyright (c) 2015, Dave Cheney -+All rights reserved. -+ -+Redistribution and use in source and binary forms, with or without -+modification, are permitted provided that the following conditions are met: -+ -+* Redistributions of source code must retain the above copyright notice, this -+ list of conditions and the following disclaimer. -+ -+* Redistributions in binary form must reproduce the above copyright notice, -+ this list of conditions and the following disclaimer in the documentation -+ and/or other materials provided with the distribution. -+ -+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -diff --git a/vendor/github.com/pkg/errors/Makefile b/vendor/github.com/pkg/errors/Makefile -new file mode 100644 -index 00000000..ce9d7cde ---- /dev/null -+++ b/vendor/github.com/pkg/errors/Makefile -@@ -0,0 +1,44 @@ -+PKGS := github.com/pkg/errors -+SRCDIRS := $(shell go list -f '{{.Dir}}' $(PKGS)) -+GO := go -+ -+check: test vet gofmt misspell unconvert staticcheck ineffassign unparam -+ -+test: -+ $(GO) test $(PKGS) -+ -+vet: | test -+ $(GO) vet $(PKGS) -+ -+staticcheck: -+ $(GO) get honnef.co/go/tools/cmd/staticcheck -+ staticcheck -checks all $(PKGS) -+ -+misspell: -+ $(GO) get github.com/client9/misspell/cmd/misspell -+ misspell \ -+ -locale GB \ -+ -error \ -+ *.md *.go -+ -+unconvert: -+ $(GO) get github.com/mdempsky/unconvert -+ unconvert -v $(PKGS) -+ -+ineffassign: -+ $(GO) get github.com/gordonklaus/ineffassign -+ find $(SRCDIRS) -name '*.go' | xargs ineffassign -+ -+pedantic: check errcheck -+ -+unparam: -+ $(GO) get mvdan.cc/unparam -+ unparam ./... -+ -+errcheck: -+ $(GO) get github.com/kisielk/errcheck -+ errcheck $(PKGS) -+ -+gofmt: -+ @echo Checking code is gofmted -+ @test -z "$(shell gofmt -s -l -d -e $(SRCDIRS) | tee /dev/stderr)" -diff --git a/vendor/github.com/pkg/errors/README.md b/vendor/github.com/pkg/errors/README.md -new file mode 100644 -index 00000000..54dfdcb1 ---- /dev/null -+++ b/vendor/github.com/pkg/errors/README.md -@@ -0,0 +1,59 @@ -+# errors [![Travis-CI](https://travis-ci.org/pkg/errors.svg)](https://travis-ci.org/pkg/errors) [![AppVeyor](https://ci.appveyor.com/api/projects/status/b98mptawhudj53ep/branch/master?svg=true)](https://ci.appveyor.com/project/davecheney/errors/branch/master) [![GoDoc](https://godoc.org/github.com/pkg/errors?status.svg)](http://godoc.org/github.com/pkg/errors) [![Report card](https://goreportcard.com/badge/github.com/pkg/errors)](https://goreportcard.com/report/github.com/pkg/errors) [![Sourcegraph](https://sourcegraph.com/github.com/pkg/errors/-/badge.svg)](https://sourcegraph.com/github.com/pkg/errors?badge) -+ -+Package errors provides simple error handling primitives. -+ -+`go get github.com/pkg/errors` -+ -+The traditional error handling idiom in Go is roughly akin to -+```go -+if err != nil { -+ return err -+} -+``` -+which applied recursively up the call stack results in error reports without context or debugging information. The errors package allows programmers to add context to the failure path in their code in a way that does not destroy the original value of the error. -+ -+## Adding context to an error -+ -+The errors.Wrap function returns a new error that adds context to the original error. For example -+```go -+_, err := ioutil.ReadAll(r) -+if err != nil { -+ return errors.Wrap(err, "read failed") -+} -+``` -+## Retrieving the cause of an error -+ -+Using `errors.Wrap` constructs a stack of errors, adding context to the preceding error. Depending on the nature of the error it may be necessary to reverse the operation of errors.Wrap to retrieve the original error for inspection. Any error value which implements this interface can be inspected by `errors.Cause`. -+```go -+type causer interface { -+ Cause() error -+} -+``` -+`errors.Cause` will recursively retrieve the topmost error which does not implement `causer`, which is assumed to be the original cause. For example: -+```go -+switch err := errors.Cause(err).(type) { -+case *MyError: -+ // handle specifically -+default: -+ // unknown error -+} -+``` -+ -+[Read the package documentation for more information](https://godoc.org/github.com/pkg/errors). -+ -+## Roadmap -+ -+With the upcoming [Go2 error proposals](https://go.googlesource.com/proposal/+/master/design/go2draft.md) this package is moving into maintenance mode. The roadmap for a 1.0 release is as follows: -+ -+- 0.9. Remove pre Go 1.9 and Go 1.10 support, address outstanding pull requests (if possible) -+- 1.0. Final release. -+ -+## Contributing -+ -+Because of the Go2 errors changes, this package is not accepting proposals for new functionality. With that said, we welcome pull requests, bug fixes and issue reports. -+ -+Before sending a PR, please discuss your change by raising an issue. -+ -+## License -+ -+BSD-2-Clause -diff --git a/vendor/github.com/pkg/errors/appveyor.yml b/vendor/github.com/pkg/errors/appveyor.yml -new file mode 100644 -index 00000000..a932eade ---- /dev/null -+++ b/vendor/github.com/pkg/errors/appveyor.yml -@@ -0,0 +1,32 @@ -+version: build-{build}.{branch} -+ -+clone_folder: C:\gopath\src\github.com\pkg\errors -+shallow_clone: true # for startup speed -+ -+environment: -+ GOPATH: C:\gopath -+ -+platform: -+ - x64 -+ -+# http://www.appveyor.com/docs/installed-software -+install: -+ # some helpful output for debugging builds -+ - go version -+ - go env -+ # pre-installed MinGW at C:\MinGW is 32bit only -+ # but MSYS2 at C:\msys64 has mingw64 -+ - set PATH=C:\msys64\mingw64\bin;%PATH% -+ - gcc --version -+ - g++ --version -+ -+build_script: -+ - go install -v ./... -+ -+test_script: -+ - set PATH=C:\gopath\bin;%PATH% -+ - go test -v ./... -+ -+#artifacts: -+# - path: '%GOPATH%\bin\*.exe' -+deploy: off -diff --git a/vendor/github.com/pkg/errors/errors.go b/vendor/github.com/pkg/errors/errors.go -new file mode 100644 -index 00000000..161aea25 ---- /dev/null -+++ b/vendor/github.com/pkg/errors/errors.go -@@ -0,0 +1,288 @@ -+// Package errors provides simple error handling primitives. -+// -+// The traditional error handling idiom in Go is roughly akin to -+// -+// if err != nil { -+// return err -+// } -+// -+// which when applied recursively up the call stack results in error reports -+// without context or debugging information. The errors package allows -+// programmers to add context to the failure path in their code in a way -+// that does not destroy the original value of the error. -+// -+// Adding context to an error -+// -+// The errors.Wrap function returns a new error that adds context to the -+// original error by recording a stack trace at the point Wrap is called, -+// together with the supplied message. For example -+// -+// _, err := ioutil.ReadAll(r) -+// if err != nil { -+// return errors.Wrap(err, "read failed") -+// } -+// -+// If additional control is required, the errors.WithStack and -+// errors.WithMessage functions destructure errors.Wrap into its component -+// operations: annotating an error with a stack trace and with a message, -+// respectively. -+// -+// Retrieving the cause of an error -+// -+// Using errors.Wrap constructs a stack of errors, adding context to the -+// preceding error. Depending on the nature of the error it may be necessary -+// to reverse the operation of errors.Wrap to retrieve the original error -+// for inspection. Any error value which implements this interface -+// -+// type causer interface { -+// Cause() error -+// } -+// -+// can be inspected by errors.Cause. errors.Cause will recursively retrieve -+// the topmost error that does not implement causer, which is assumed to be -+// the original cause. For example: -+// -+// switch err := errors.Cause(err).(type) { -+// case *MyError: -+// // handle specifically -+// default: -+// // unknown error -+// } -+// -+// Although the causer interface is not exported by this package, it is -+// considered a part of its stable public interface. -+// -+// Formatted printing of errors -+// -+// All error values returned from this package implement fmt.Formatter and can -+// be formatted by the fmt package. The following verbs are supported: -+// -+// %s print the error. If the error has a Cause it will be -+// printed recursively. -+// %v see %s -+// %+v extended format. Each Frame of the error's StackTrace will -+// be printed in detail. -+// -+// Retrieving the stack trace of an error or wrapper -+// -+// New, Errorf, Wrap, and Wrapf record a stack trace at the point they are -+// invoked. This information can be retrieved with the following interface: -+// -+// type stackTracer interface { -+// StackTrace() errors.StackTrace -+// } -+// -+// The returned errors.StackTrace type is defined as -+// -+// type StackTrace []Frame -+// -+// The Frame type represents a call site in the stack trace. Frame supports -+// the fmt.Formatter interface that can be used for printing information about -+// the stack trace of this error. For example: -+// -+// if err, ok := err.(stackTracer); ok { -+// for _, f := range err.StackTrace() { -+// fmt.Printf("%+s:%d\n", f, f) -+// } -+// } -+// -+// Although the stackTracer interface is not exported by this package, it is -+// considered a part of its stable public interface. -+// -+// See the documentation for Frame.Format for more details. -+package errors -+ -+import ( -+ "fmt" -+ "io" -+) -+ -+// New returns an error with the supplied message. -+// New also records the stack trace at the point it was called. -+func New(message string) error { -+ return &fundamental{ -+ msg: message, -+ stack: callers(), -+ } -+} -+ -+// Errorf formats according to a format specifier and returns the string -+// as a value that satisfies error. -+// Errorf also records the stack trace at the point it was called. -+func Errorf(format string, args ...interface{}) error { -+ return &fundamental{ -+ msg: fmt.Sprintf(format, args...), -+ stack: callers(), -+ } -+} -+ -+// fundamental is an error that has a message and a stack, but no caller. -+type fundamental struct { -+ msg string -+ *stack -+} -+ -+func (f *fundamental) Error() string { return f.msg } -+ -+func (f *fundamental) Format(s fmt.State, verb rune) { -+ switch verb { -+ case 'v': -+ if s.Flag('+') { -+ io.WriteString(s, f.msg) -+ f.stack.Format(s, verb) -+ return -+ } -+ fallthrough -+ case 's': -+ io.WriteString(s, f.msg) -+ case 'q': -+ fmt.Fprintf(s, "%q", f.msg) -+ } -+} -+ -+// WithStack annotates err with a stack trace at the point WithStack was called. -+// If err is nil, WithStack returns nil. -+func WithStack(err error) error { -+ if err == nil { -+ return nil -+ } -+ return &withStack{ -+ err, -+ callers(), -+ } -+} -+ -+type withStack struct { -+ error -+ *stack -+} -+ -+func (w *withStack) Cause() error { return w.error } -+ -+// Unwrap provides compatibility for Go 1.13 error chains. -+func (w *withStack) Unwrap() error { return w.error } -+ -+func (w *withStack) Format(s fmt.State, verb rune) { -+ switch verb { -+ case 'v': -+ if s.Flag('+') { -+ fmt.Fprintf(s, "%+v", w.Cause()) -+ w.stack.Format(s, verb) -+ return -+ } -+ fallthrough -+ case 's': -+ io.WriteString(s, w.Error()) -+ case 'q': -+ fmt.Fprintf(s, "%q", w.Error()) -+ } -+} -+ -+// Wrap returns an error annotating err with a stack trace -+// at the point Wrap is called, and the supplied message. -+// If err is nil, Wrap returns nil. -+func Wrap(err error, message string) error { -+ if err == nil { -+ return nil -+ } -+ err = &withMessage{ -+ cause: err, -+ msg: message, -+ } -+ return &withStack{ -+ err, -+ callers(), -+ } -+} -+ -+// Wrapf returns an error annotating err with a stack trace -+// at the point Wrapf is called, and the format specifier. -+// If err is nil, Wrapf returns nil. -+func Wrapf(err error, format string, args ...interface{}) error { -+ if err == nil { -+ return nil -+ } -+ err = &withMessage{ -+ cause: err, -+ msg: fmt.Sprintf(format, args...), -+ } -+ return &withStack{ -+ err, -+ callers(), -+ } -+} -+ -+// WithMessage annotates err with a new message. -+// If err is nil, WithMessage returns nil. -+func WithMessage(err error, message string) error { -+ if err == nil { -+ return nil -+ } -+ return &withMessage{ -+ cause: err, -+ msg: message, -+ } -+} -+ -+// WithMessagef annotates err with the format specifier. -+// If err is nil, WithMessagef returns nil. -+func WithMessagef(err error, format string, args ...interface{}) error { -+ if err == nil { -+ return nil -+ } -+ return &withMessage{ -+ cause: err, -+ msg: fmt.Sprintf(format, args...), -+ } -+} -+ -+type withMessage struct { -+ cause error -+ msg string -+} -+ -+func (w *withMessage) Error() string { return w.msg + ": " + w.cause.Error() } -+func (w *withMessage) Cause() error { return w.cause } -+ -+// Unwrap provides compatibility for Go 1.13 error chains. -+func (w *withMessage) Unwrap() error { return w.cause } -+ -+func (w *withMessage) Format(s fmt.State, verb rune) { -+ switch verb { -+ case 'v': -+ if s.Flag('+') { -+ fmt.Fprintf(s, "%+v\n", w.Cause()) -+ io.WriteString(s, w.msg) -+ return -+ } -+ fallthrough -+ case 's', 'q': -+ io.WriteString(s, w.Error()) -+ } -+} -+ -+// Cause returns the underlying cause of the error, if possible. -+// An error value has a cause if it implements the following -+// interface: -+// -+// type causer interface { -+// Cause() error -+// } -+// -+// If the error does not implement Cause, the original error will -+// be returned. If the error is nil, nil will be returned without further -+// investigation. -+func Cause(err error) error { -+ type causer interface { -+ Cause() error -+ } -+ -+ for err != nil { -+ cause, ok := err.(causer) -+ if !ok { -+ break -+ } -+ err = cause.Cause() -+ } -+ return err -+} -diff --git a/vendor/github.com/pkg/errors/go113.go b/vendor/github.com/pkg/errors/go113.go -new file mode 100644 -index 00000000..be0d10d0 ---- /dev/null -+++ b/vendor/github.com/pkg/errors/go113.go -@@ -0,0 +1,38 @@ -+// +build go1.13 -+ -+package errors -+ -+import ( -+ stderrors "errors" -+) -+ -+// Is reports whether any error in err's chain matches target. -+// -+// The chain consists of err itself followed by the sequence of errors obtained by -+// repeatedly calling Unwrap. -+// -+// An error is considered to match a target if it is equal to that target or if -+// it implements a method Is(error) bool such that Is(target) returns true. -+func Is(err, target error) bool { return stderrors.Is(err, target) } -+ -+// As finds the first error in err's chain that matches target, and if so, sets -+// target to that error value and returns true. -+// -+// The chain consists of err itself followed by the sequence of errors obtained by -+// repeatedly calling Unwrap. -+// -+// An error matches target if the error's concrete value is assignable to the value -+// pointed to by target, or if the error has a method As(interface{}) bool such that -+// As(target) returns true. In the latter case, the As method is responsible for -+// setting target. -+// -+// As will panic if target is not a non-nil pointer to either a type that implements -+// error, or to any interface type. As returns false if err is nil. -+func As(err error, target interface{}) bool { return stderrors.As(err, target) } -+ -+// Unwrap returns the result of calling the Unwrap method on err, if err's -+// type contains an Unwrap method returning error. -+// Otherwise, Unwrap returns nil. -+func Unwrap(err error) error { -+ return stderrors.Unwrap(err) -+} -diff --git a/vendor/github.com/pkg/errors/stack.go b/vendor/github.com/pkg/errors/stack.go -new file mode 100644 -index 00000000..779a8348 ---- /dev/null -+++ b/vendor/github.com/pkg/errors/stack.go -@@ -0,0 +1,177 @@ -+package errors -+ -+import ( -+ "fmt" -+ "io" -+ "path" -+ "runtime" -+ "strconv" -+ "strings" -+) -+ -+// Frame represents a program counter inside a stack frame. -+// For historical reasons if Frame is interpreted as a uintptr -+// its value represents the program counter + 1. -+type Frame uintptr -+ -+// pc returns the program counter for this frame; -+// multiple frames may have the same PC value. -+func (f Frame) pc() uintptr { return uintptr(f) - 1 } -+ -+// file returns the full path to the file that contains the -+// function for this Frame's pc. -+func (f Frame) file() string { -+ fn := runtime.FuncForPC(f.pc()) -+ if fn == nil { -+ return "unknown" -+ } -+ file, _ := fn.FileLine(f.pc()) -+ return file -+} -+ -+// line returns the line number of source code of the -+// function for this Frame's pc. -+func (f Frame) line() int { -+ fn := runtime.FuncForPC(f.pc()) -+ if fn == nil { -+ return 0 -+ } -+ _, line := fn.FileLine(f.pc()) -+ return line -+} -+ -+// name returns the name of this function, if known. -+func (f Frame) name() string { -+ fn := runtime.FuncForPC(f.pc()) -+ if fn == nil { -+ return "unknown" -+ } -+ return fn.Name() -+} -+ -+// Format formats the frame according to the fmt.Formatter interface. -+// -+// %s source file -+// %d source line -+// %n function name -+// %v equivalent to %s:%d -+// -+// Format accepts flags that alter the printing of some verbs, as follows: -+// -+// %+s function name and path of source file relative to the compile time -+// GOPATH separated by \n\t (\n\t) -+// %+v equivalent to %+s:%d -+func (f Frame) Format(s fmt.State, verb rune) { -+ switch verb { -+ case 's': -+ switch { -+ case s.Flag('+'): -+ io.WriteString(s, f.name()) -+ io.WriteString(s, "\n\t") -+ io.WriteString(s, f.file()) -+ default: -+ io.WriteString(s, path.Base(f.file())) -+ } -+ case 'd': -+ io.WriteString(s, strconv.Itoa(f.line())) -+ case 'n': -+ io.WriteString(s, funcname(f.name())) -+ case 'v': -+ f.Format(s, 's') -+ io.WriteString(s, ":") -+ f.Format(s, 'd') -+ } -+} -+ -+// MarshalText formats a stacktrace Frame as a text string. The output is the -+// same as that of fmt.Sprintf("%+v", f), but without newlines or tabs. -+func (f Frame) MarshalText() ([]byte, error) { -+ name := f.name() -+ if name == "unknown" { -+ return []byte(name), nil -+ } -+ return []byte(fmt.Sprintf("%s %s:%d", name, f.file(), f.line())), nil -+} -+ -+// StackTrace is stack of Frames from innermost (newest) to outermost (oldest). -+type StackTrace []Frame -+ -+// Format formats the stack of Frames according to the fmt.Formatter interface. -+// -+// %s lists source files for each Frame in the stack -+// %v lists the source file and line number for each Frame in the stack -+// -+// Format accepts flags that alter the printing of some verbs, as follows: -+// -+// %+v Prints filename, function, and line number for each Frame in the stack. -+func (st StackTrace) Format(s fmt.State, verb rune) { -+ switch verb { -+ case 'v': -+ switch { -+ case s.Flag('+'): -+ for _, f := range st { -+ io.WriteString(s, "\n") -+ f.Format(s, verb) -+ } -+ case s.Flag('#'): -+ fmt.Fprintf(s, "%#v", []Frame(st)) -+ default: -+ st.formatSlice(s, verb) -+ } -+ case 's': -+ st.formatSlice(s, verb) -+ } -+} -+ -+// formatSlice will format this StackTrace into the given buffer as a slice of -+// Frame, only valid when called with '%s' or '%v'. -+func (st StackTrace) formatSlice(s fmt.State, verb rune) { -+ io.WriteString(s, "[") -+ for i, f := range st { -+ if i > 0 { -+ io.WriteString(s, " ") -+ } -+ f.Format(s, verb) -+ } -+ io.WriteString(s, "]") -+} -+ -+// stack represents a stack of program counters. -+type stack []uintptr -+ -+func (s *stack) Format(st fmt.State, verb rune) { -+ switch verb { -+ case 'v': -+ switch { -+ case st.Flag('+'): -+ for _, pc := range *s { -+ f := Frame(pc) -+ fmt.Fprintf(st, "\n%+v", f) -+ } -+ } -+ } -+} -+ -+func (s *stack) StackTrace() StackTrace { -+ f := make([]Frame, len(*s)) -+ for i := 0; i < len(f); i++ { -+ f[i] = Frame((*s)[i]) -+ } -+ return f -+} -+ -+func callers() *stack { -+ const depth = 32 -+ var pcs [depth]uintptr -+ n := runtime.Callers(3, pcs[:]) -+ var st stack = pcs[0:n] -+ return &st -+} -+ -+// funcname removes the path prefix component of a function's name reported by func.Name(). -+func funcname(name string) string { -+ i := strings.LastIndex(name, "/") -+ name = name[i+1:] -+ i = strings.Index(name, ".") -+ return name[i+1:] -+} --- -2.27.0 - diff --git a/patch/0128-runc-fix-CVE-2022-29162.patch b/patch/0128-runc-fix-CVE-2022-29162.patch deleted file mode 100644 index 98182cc..0000000 --- a/patch/0128-runc-fix-CVE-2022-29162.patch +++ /dev/null @@ -1,45 +0,0 @@ -From d940c8e738ce011bbfafdc6ef8af6516f8ee2191 Mon Sep 17 00:00:00 2001 -From: Vanient -Date: Mon, 6 Jun 2022 20:23:46 +0800 -Subject: [PATCH] runc: fix CVE-2022-29162 - -do not set inheritable capabilities -upstream:https://github.com/opencontainers/runc/commit/98fe566c527479195ce3c8167136d2a555fe6b65 - -Signed-off-by: Vanient ---- - exec.go | 1 - - libcontainer/specconv/example.go | 5 ----- - 2 files changed, 6 deletions(-) - -diff --git a/exec.go b/exec.go -index 9ed90ea..5e5ce00 100644 ---- a/exec.go -+++ b/exec.go -@@ -176,7 +176,6 @@ func getProcess(context *cli.Context, bundle string) (*specs.Process, error) { - if caps := context.StringSlice("cap"); len(caps) > 0 { - for _, c := range caps { - p.Capabilities.Bounding = append(p.Capabilities.Bounding, c) -- p.Capabilities.Inheritable = append(p.Capabilities.Inheritable, c) - p.Capabilities.Effective = append(p.Capabilities.Effective, c) - p.Capabilities.Permitted = append(p.Capabilities.Permitted, c) - p.Capabilities.Ambient = append(p.Capabilities.Ambient, c) -diff --git a/libcontainer/specconv/example.go b/libcontainer/specconv/example.go -index 9a4460c..973ea79 100644 ---- a/libcontainer/specconv/example.go -+++ b/libcontainer/specconv/example.go -@@ -46,11 +46,6 @@ func Example() *specs.Spec { - "CAP_KILL", - "CAP_NET_BIND_SERVICE", - }, -- Inheritable: []string{ -- "CAP_AUDIT_WRITE", -- "CAP_KILL", -- "CAP_NET_BIND_SERVICE", -- }, - Ambient: []string{ - "CAP_AUDIT_WRITE", - "CAP_KILL", --- -2.27.0 - diff --git a/patch/0128-runc-optimize-nsexec-logging.patch b/patch/0128-runc-optimize-nsexec-logging.patch deleted file mode 100644 index 341fa90..0000000 --- a/patch/0128-runc-optimize-nsexec-logging.patch +++ /dev/null @@ -1,280 +0,0 @@ -From f59d2013c5b1e3a7a500023848c5a366301bddec Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Tue, 8 Jun 2021 17:08:59 +0800 -Subject: [PATCH] runc: optimize nsexec logging - -Conflict:NA -Reference:https://github.com/opencontainers/runc/pull/2034/commits - https://github.com/opencontainers/runc/commit/64bb59f5920b15d886cb2be52aede641fd4a047b - https://github.com/opencontainers/runc/commit/201d60c51d0b78afb780841443200a25d63493a6 - -Signed-off-by: xiadanni ---- - libcontainer/container_linux.go | 21 ++++++++++ - libcontainer/logs/logs.go | 68 +++++++++++++++++++++++++++++++++ - libcontainer/nsenter/nsexec.c | 53 +++++++++++++++++++++++-- - libcontainer/process_linux.go | 3 ++ - 4 files changed, 142 insertions(+), 3 deletions(-) - create mode 100644 libcontainer/logs/logs.go - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 73192866..7be84a63 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -23,6 +23,7 @@ import ( - "github.com/opencontainers/runc/libcontainer/cgroups" - "github.com/opencontainers/runc/libcontainer/configs" - "github.com/opencontainers/runc/libcontainer/criurpc" -+ "github.com/opencontainers/runc/libcontainer/logs" - "github.com/opencontainers/runc/libcontainer/system" - "github.com/opencontainers/runc/libcontainer/utils" - "github.com/syndtr/gocapability/capability" -@@ -309,6 +310,17 @@ func (c *linuxContainer) start(process *Process) error { - if err != nil { - return newSystemErrorWithCause(err, "creating new parent process") - } -+ -+ if logsDone := logs.ForwardLogs(); logsDone != nil { -+ defer func() { -+ select { -+ case <-logsDone: -+ case <-time.After(3 * time.Second): -+ logrus.Warnf("wait child close logfd timeout") -+ } -+ }() -+ } -+ - if err := parent.start(); err != nil { - printCgroupInfo(c.config.Cgroups.Path) - // terminate the process to ensure that it properly is reaped. -@@ -408,6 +420,9 @@ func (c *linuxContainer) newParentProcess(p *Process) (parentProcess, error) { - if err != nil { - return nil, newSystemErrorWithCause(err, "creating new init pipe") - } -+ if err := logs.InitLogPipe(); err != nil { -+ return nil, fmt.Errorf("Unable to create the log pipe: %s", err) -+ } - cmd, err := c.commandTemplate(p, childPipe) - if err != nil { - return nil, newSystemErrorWithCause(err, "creating new command template") -@@ -450,6 +465,12 @@ func (c *linuxContainer) commandTemplate(p *Process, childPipe *os.File) (*exec. - cmd.Env = append(cmd.Env, - fmt.Sprintf("_LIBCONTAINER_INITPIPE=%d", stdioFdCount+len(cmd.ExtraFiles)-1), - ) -+ -+ cmd.ExtraFiles = append(cmd.ExtraFiles, logs.ChildLogPipe) -+ cmd.Env = append(cmd.Env, -+ fmt.Sprintf("_LIBCONTAINER_LOGPIPE=%d", stdioFdCount+len(cmd.ExtraFiles)-1), -+ ) -+ - // NOTE: when running a container with no PID namespace and the parent process spawning the container is - // PID1 the pdeathsig is being delivered to the container's init process by the kernel for some reason - // even with the parent still running. -diff --git a/libcontainer/logs/logs.go b/libcontainer/logs/logs.go -new file mode 100644 -index 00000000..219fe382 ---- /dev/null -+++ b/libcontainer/logs/logs.go -@@ -0,0 +1,68 @@ -+package logs -+ -+import ( -+ "bufio" -+ "encoding/json" -+ "os" -+ -+ "github.com/Sirupsen/logrus" -+) -+ -+var ( -+ ParentLogPipe *os.File -+ ChildLogPipe *os.File -+) -+ -+func InitLogPipe() error { -+ var err error -+ if ParentLogPipe == nil { -+ ParentLogPipe, ChildLogPipe, err = os.Pipe() -+ } -+ return err -+} -+ -+func CloseChild() { -+ if ChildLogPipe != nil { -+ ChildLogPipe.Close() -+ ChildLogPipe = nil -+ } -+} -+ -+func ForwardLogs() chan error { -+ done := make(chan error, 1) -+ if ParentLogPipe == nil { -+ close(done) -+ return done -+ } -+ -+ s := bufio.NewScanner(ParentLogPipe) -+ go func() { -+ for s.Scan() { -+ processEntry(s.Bytes()) -+ } -+ if err := ParentLogPipe.Close(); err != nil { -+ logrus.Errorf("error closing log source: %v", err) -+ } -+ // The only error we want to return is when reading from -+ // logPipe has failed. -+ done <- s.Err() -+ close(done) -+ }() -+ -+ return done -+} -+ -+func processEntry(text []byte) { -+ if len(text) == 0 { -+ return -+ } -+ var jl struct { -+ Level string `json:"level"` -+ Msg string `json:"msg"` -+ } -+ if err := json.Unmarshal(text, &jl); err != nil { -+ logrus.Errorf("failed to decode %q to json: %v", text, err) -+ return -+ } -+ logrus.Errorf("error from child %s", jl.Msg) -+} -diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c -index 4f73b1a1..8e059e09 100644 ---- a/libcontainer/nsenter/nsexec.c -+++ b/libcontainer/nsenter/nsexec.c -@@ -77,6 +77,8 @@ struct nlconfig_t { - size_t oom_score_adj_len; - }; - -+int logfd; -+ - /* - * List of netlink message types sent to us as part of bootstrapping the init. - * These constants are defined in libcontainer/message_linux.go. -@@ -111,6 +113,26 @@ int setns(int fd, int nstype) - } - #endif - -+void write_log_with_info(const char *level, const char *function, int line, const char *format, ...) -+{ -+ static char message[1024]; -+ va_list args; -+ -+ if (logfd < 0 || level == NULL) -+ return; -+ -+ va_start(args, format); -+ if (vsnprintf(message, 1024, format, args) < 0) -+ return; -+ va_end(args); -+ -+ if (dprintf(logfd, "{\"level\":\"%s\", \"msg\": \"%s:%d %s\"}\n", level, function, line, message) < 0) -+ return; -+} -+ -+#define logerr(fmt, ...) \ -+ write_log_with_info("error", __FUNCTION__, __LINE__, fmt, ##__VA_ARGS__) -+ - /* XXX: This is ugly. */ - static int syncfd = -1; - -@@ -118,13 +140,13 @@ static int syncfd = -1; - #define bail(fmt, ...) \ - do { \ - int ret = __COUNTER__ + 1; \ -- fprintf(stderr, "nsenter: " fmt ": %m\n", ##__VA_ARGS__); \ -+ logerr("nsenter: " fmt ": %m", ##__VA_ARGS__); \ - if (syncfd >= 0) { \ - enum sync_t s = SYNC_ERR; \ - if (write(syncfd, &s, sizeof(s)) != sizeof(s)) \ -- fprintf(stderr, "nsenter: failed: write(s)"); \ -+ logerr("nsenter: failed: write(s)"); \ - if (write(syncfd, &ret, sizeof(ret)) != sizeof(ret)) \ -- fprintf(stderr, "nsenter: failed: write(ret)"); \ -+ logerr("nsenter: failed: write(ret)"); \ - } \ - exit(ret); \ - } while(0) -@@ -259,6 +281,24 @@ static int initpipe(void) - return pipenum; - } - -+static void setup_logpipe(void) -+{ -+ char *logpipe, *endptr; -+ -+ logpipe = getenv("_LIBCONTAINER_LOGPIPE"); -+ if (logpipe == NULL || *logpipe == '\0') { -+ logfd = -1; -+ return; -+ } -+ -+ logfd = strtol(logpipe, &endptr, 10); -+ if (logpipe == endptr || *endptr != '\0') { -+ fprintf(stderr, "unable to parse _LIBCONTAINER_LOGPIPE, value: %s\n", logpipe); -+ /* It is too early to use bail */ -+ exit(1); -+ } -+} -+ - /* Returns the clone(2) flag for a namespace, given the name of a namespace. */ - static int nsflag(char *name) - { -@@ -442,6 +482,12 @@ void nsexec(void) - int sync_child_pipe[2], sync_grandchild_pipe[2]; - struct nlconfig_t config = {0}; - -+ /* -+ * Setup a pipe to send logs to the parent. This should happen -+ * first, because bail will use that pipe. -+ */ -+ setup_logpipe(); -+ - /* - * If we don't have an init pipe, just return to the go routine. - * We'll only get an init pipe for start or exec. -@@ -867,6 +913,7 @@ void nsexec(void) - /* Free netlink data. */ - nl_free(&config); - -+ close(logfd); - /* Finish executing, let the Go runtime take over. */ - return; - } -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index 25fe30b5..0c5cd47c 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -18,6 +18,7 @@ import ( - "github.com/opencontainers/runc/libcontainer/configs" - "github.com/opencontainers/runc/libcontainer/system" - "github.com/opencontainers/runc/libcontainer/utils" -+ "github.com/opencontainers/runc/libcontainer/logs" - "golang.org/x/sys/unix" - ) - -@@ -73,6 +74,7 @@ func (p *setnsProcess) start() (err error) { - defer p.parentPipe.Close() - err = p.cmd.Start() - p.childPipe.Close() -+ logs.CloseChild() - if err != nil { - return newSystemErrorWithCause(err, "starting setns process") - } -@@ -256,6 +258,7 @@ func (p *initProcess) start() error { - p.process.ops = p - p.childPipe.Close() - p.rootDir.Close() -+ logs.CloseChild() - if err != nil { - p.process.ops = nil - return newSystemErrorWithCause(err, "starting init process command") --- -2.27.0 - diff --git a/patch/0129-runc-improve-log-for-debugging.patch b/patch/0129-runc-improve-log-for-debugging.patch deleted file mode 100644 index 11bb727..0000000 --- a/patch/0129-runc-improve-log-for-debugging.patch +++ /dev/null @@ -1,297 +0,0 @@ -From da07a376d48d2d589f8ce5669f93450da4f01521 Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Mon, 25 Oct 2021 15:57:42 +0800 -Subject: [PATCH] runc: improve log for debugging - -add following logs for debugging -1. print pid and memory cgroup information when container init process - start fail. -2. improve error return in execSetns() -3. using logpipe to support for logging from child process -4. add log when init() finished in child process for debug - -Signed-off-by: xiadanni ---- - libcontainer/factory_linux.go | 13 +++++++++---- - libcontainer/init_linux.go | 4 +++- - libcontainer/logs/logs.go | 2 +- - libcontainer/nsenter/nsexec.c | 1 - - libcontainer/process_linux.go | 10 +++++----- - libcontainer/setns_init_linux.go | 5 +++++ - libcontainer/standard_init_linux.go | 18 ++++++++++++++---- - main.go | 6 +++++- - main_unix.go | 10 ++++++++++ - 9 files changed, 52 insertions(+), 17 deletions(-) - -diff --git a/libcontainer/factory_linux.go b/libcontainer/factory_linux.go -index fe9ce242..e4ef5184 100644 ---- a/libcontainer/factory_linux.go -+++ b/libcontainer/factory_linux.go -@@ -4,15 +4,15 @@ package libcontainer - - import ( - "encoding/json" -+ "errors" - "fmt" -+ "io/ioutil" - "os" - "path/filepath" - "regexp" - "runtime/debug" - "strconv" - "syscall" -- "io/ioutil" -- "errors" - - "github.com/docker/docker/pkg/mount" - "github.com/opencontainers/runc/libcontainer/cgroups" -@@ -281,6 +281,11 @@ func (l *LinuxFactory) StartInitialization() (err error) { - defer consoleSocket.Close() - } - -+ logPipeFd, err2 := strconv.Atoi(os.Getenv("_LIBCONTAINER_LOGPIPE")) -+ if err2 != nil { -+ logPipeFd = 0 -+ } -+ - // clear the current process's environment to clean any libcontainer - // specific env vars. - os.Clearenv() -@@ -303,7 +308,7 @@ func (l *LinuxFactory) StartInitialization() (err error) { - } - }() - -- i, err := newContainerInit(it, pipe, consoleSocket, rootfd) -+ i, err := newContainerInit(it, pipe, consoleSocket, rootfd, logPipeFd) - if err != nil { - return err - } -@@ -346,7 +351,7 @@ func (l *LinuxFactory) updateStateCapabilites(compatState *CompatState, configPa - var memSize int64 = int64(memorySwappiness) - if memSize < 0 { - memSize = 0 -- var memUSize uint64 = uint64(memSize-1) -+ var memUSize uint64 = uint64(memSize - 1) - compatState.Config.Cgroups.MemorySwappiness = &memUSize - needUpdate = true - } -diff --git a/libcontainer/init_linux.go b/libcontainer/init_linux.go -index ee632b4c..e9a83e9b 100644 ---- a/libcontainer/init_linux.go -+++ b/libcontainer/init_linux.go -@@ -66,7 +66,7 @@ type initer interface { - Init() error - } - --func newContainerInit(t initType, pipe *os.File, consoleSocket *os.File, stateDirFD int) (initer, error) { -+func newContainerInit(t initType, pipe *os.File, consoleSocket *os.File, stateDirFD, logFd int) (initer, error) { - var config *initConfig - if err := json.NewDecoder(pipe).Decode(&config); err != nil { - return nil, err -@@ -81,6 +81,7 @@ func newContainerInit(t initType, pipe *os.File, consoleSocket *os.File, stateDi - pipe: pipe, - consoleSocket: consoleSocket, - config: config, -+ logFd: logFd, - }, nil - case initStandard: - return &linuxStandardInit{ -@@ -89,6 +90,7 @@ func newContainerInit(t initType, pipe *os.File, consoleSocket *os.File, stateDi - parentPid: syscall.Getppid(), - config: config, - stateDirFD: stateDirFD, -+ logFd: logFd, - }, nil - } - return nil, fmt.Errorf("unknown init type %q", t) -diff --git a/libcontainer/logs/logs.go b/libcontainer/logs/logs.go -index 219fe382..408a1480 100644 ---- a/libcontainer/logs/logs.go -+++ b/libcontainer/logs/logs.go -@@ -64,5 +64,5 @@ func processEntry(text []byte) { - logrus.Errorf("failed to decode %q to json: %v", text, err) - return - } -- logrus.Errorf("error from child %s", jl.Msg) -+ logrus.Infof("log from child: %s", jl.Msg) - } -diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c -index 8e059e09..0075b6e4 100644 ---- a/libcontainer/nsenter/nsexec.c -+++ b/libcontainer/nsenter/nsexec.c -@@ -913,7 +913,6 @@ void nsexec(void) - /* Free netlink data. */ - nl_free(&config); - -- close(logfd); - /* Finish executing, let the Go runtime take over. */ - return; - } -diff --git a/libcontainer/process_linux.go b/libcontainer/process_linux.go -index 0c5cd47c..5cdc30c4 100644 ---- a/libcontainer/process_linux.go -+++ b/libcontainer/process_linux.go -@@ -16,9 +16,9 @@ import ( - "github.com/Sirupsen/logrus" - "github.com/opencontainers/runc/libcontainer/cgroups" - "github.com/opencontainers/runc/libcontainer/configs" -+ "github.com/opencontainers/runc/libcontainer/logs" - "github.com/opencontainers/runc/libcontainer/system" - "github.com/opencontainers/runc/libcontainer/utils" -- "github.com/opencontainers/runc/libcontainer/logs" - "golang.org/x/sys/unix" - ) - -@@ -137,7 +137,7 @@ func (p *setnsProcess) execSetns() error { - } - if !status.Success() { - p.cmd.Wait() -- return newSystemError(&exec.ExitError{ProcessState: status}) -+ return newSystemErrorWithCause(&exec.ExitError{ProcessState: status}, "getting setns process status") - } - var pid *pid - if err := json.NewDecoder(p.parentPipe).Decode(&pid); err != nil { -@@ -224,16 +224,16 @@ func (p *initProcess) execSetns() error { - status, err := p.cmd.Process.Wait() - if err != nil { - p.cmd.Wait() -- return err -+ return newSystemErrorWithCause(err, "waiting on setns process to finish") - } - if !status.Success() { - p.cmd.Wait() -- return &exec.ExitError{ProcessState: status} -+ return newSystemErrorWithCause(&exec.ExitError{ProcessState: status}, "getting setns process status") - } - var pid *pid - if err := json.NewDecoder(p.parentPipe).Decode(&pid); err != nil { - p.cmd.Wait() -- return err -+ return newSystemErrorWithCause(err, "reading pid from init pipe") - } - - // Clean up the zombie parent process -diff --git a/libcontainer/setns_init_linux.go b/libcontainer/setns_init_linux.go -index b3fab219..1f7ec98b 100644 ---- a/libcontainer/setns_init_linux.go -+++ b/libcontainer/setns_init_linux.go -@@ -21,6 +21,7 @@ type linuxSetnsInit struct { - pipe *os.File - consoleSocket *os.File - config *initConfig -+ logFd int - } - - func (l *linuxSetnsInit) getSessionRingName() string { -@@ -68,5 +69,9 @@ func (l *linuxSetnsInit) Init() error { - if err := label.SetProcessLabel(l.config.ProcessLabel); err != nil { - return err - } -+ if l.logFd != 0 { -+ syscall.Close(l.logFd) -+ } -+ - return system.Execv(l.config.Args[0], l.config.Args[0:], os.Environ()) - } -diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go -index b985180a..53c81e9f 100644 ---- a/libcontainer/standard_init_linux.go -+++ b/libcontainer/standard_init_linux.go -@@ -27,6 +27,7 @@ type linuxStandardInit struct { - parentPid int - stateDirFD int - config *initConfig -+ logFd int - } - - func (l *linuxStandardInit) getSessionRingParams() (string, uint32, uint32) { -@@ -181,6 +182,10 @@ func (l *linuxStandardInit) Init() error { - // close the pipe to signal that we have completed our init. - l.pipe.Close() - -+ if l.logFd != 0 { -+ syscall.Close(l.logFd) -+ } -+ - // wait for the fifo to be opened on the other side before - // exec'ing the users process. - ch := make(chan Error, 1) -@@ -222,13 +227,18 @@ func (l *linuxStandardInit) Init() error { - } - - func printCgroupInfo(path string) { -+ cgroupRoot := "/sys/fs/cgroup" - infoFileList := []string{ - "/proc/meminfo", - "/sys/fs/cgroup/memory/memory.stat", -- filepath.Join("/sys/fs/cgroup/files", path, "/files.limit"), -- filepath.Join("/sys/fs/cgroup/files", path, "/files.usage"), -- filepath.Join("/sys/fs/cgroup/memory", path, "/memory.stat"), -- filepath.Join("/sys/fs/cgroup/cpu", path, "/cpu.stat"), -+ filepath.Join(cgroupRoot, "files", path, "files.limit"), -+ filepath.Join(cgroupRoot, "files", path, "files.usage"), -+ filepath.Join(cgroupRoot, "pids", path, "pids.max"), -+ filepath.Join(cgroupRoot, "pids", path, "pids.current"), -+ filepath.Join(cgroupRoot, "memory", path, "memory.usage_in_bytes"), -+ filepath.Join(cgroupRoot, "memory", path, "memory.limit_in_bytes"), -+ filepath.Join(cgroupRoot, "memory", path, "memory.stat"), -+ filepath.Join(cgroupRoot, "cpu", path, "cpu.stat"), - } - for _, file := range infoFileList { - printFileContent(file) -diff --git a/main.go b/main.go -index 04762424..4141ec56 100644 ---- a/main.go -+++ b/main.go -@@ -10,7 +10,7 @@ import ( - "time" - - "github.com/Sirupsen/logrus" -- "github.com/Sirupsen/logrus/hooks/syslog" -+ logrus_syslog "github.com/Sirupsen/logrus/hooks/syslog" - "github.com/opencontainers/runtime-spec/specs-go" - "github.com/urfave/cli" - ) -@@ -118,6 +118,10 @@ func main() { - updateCommand, - } - app.Before = func(context *cli.Context) error { -+ if logrus.StandardLogger().Out != logrus.New().Out { -+ return nil -+ } -+ - if path := context.GlobalString("log"); path != "" { - f, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY|os.O_APPEND|os.O_SYNC, 0666) - if err != nil { -diff --git a/main_unix.go b/main_unix.go -index 56904e08..45e6df61 100644 ---- a/main_unix.go -+++ b/main_unix.go -@@ -6,7 +6,9 @@ import ( - "fmt" - "os" - "runtime" -+ "strconv" - -+ "github.com/Sirupsen/logrus" - "github.com/opencontainers/runc/libcontainer" - _ "github.com/opencontainers/runc/libcontainer/nsenter" - "github.com/urfave/cli" -@@ -16,6 +18,14 @@ func init() { - if len(os.Args) > 1 && os.Args[1] == "init" { - runtime.GOMAXPROCS(1) - runtime.LockOSThread() -+ -+ logPipeFd, err := strconv.Atoi(os.Getenv("_LIBCONTAINER_LOGPIPE")) -+ if err != nil { -+ return -+ } -+ logrus.SetOutput(os.NewFile(uintptr(logPipeFd), "logpipe")) -+ logrus.SetFormatter(new(logrus.JSONFormatter)) -+ logrus.Info("child process init-function finished") - } - } - --- -2.27.0 - diff --git a/patch/0130-runc-fix-cgroup-info-print-error.patch b/patch/0130-runc-fix-cgroup-info-print-error.patch deleted file mode 100644 index e1759a6..0000000 --- a/patch/0130-runc-fix-cgroup-info-print-error.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 40dd39dea67339fdcb88e64e52d054648fcbd362 Mon Sep 17 00:00:00 2001 -From: zhongjiawei -Date: Tue, 5 Jul 2022 17:28:48 +0800 -Subject: [PATCH] runc: fix cgroup info print error - -reason: still using syslog hook to print logrus in create-init, -as logPipe will be closed before printCgroupInfo() called, cgroup info -could not be printed by logPipe. ---- - main_unix.go | 13 +++++++------ - 1 file changed, 7 insertions(+), 6 deletions(-) - -diff --git a/main_unix.go b/main_unix.go -index 45e6df61..04799491 100644 ---- a/main_unix.go -+++ b/main_unix.go -@@ -19,13 +19,14 @@ func init() { - runtime.GOMAXPROCS(1) - runtime.LockOSThread() - -- logPipeFd, err := strconv.Atoi(os.Getenv("_LIBCONTAINER_LOGPIPE")) -- if err != nil { -- return -+ if initType := os.Getenv("_LIBCONTAINER_INITTYPE"); initType == "setns" { -+ logPipeFd, err := strconv.Atoi(os.Getenv("_LIBCONTAINER_LOGPIPE")) -+ if err != nil { -+ return -+ } -+ logrus.SetOutput(os.NewFile(uintptr(logPipeFd), "logpipe")) -+ logrus.SetFormatter(new(logrus.JSONFormatter)) - } -- logrus.SetOutput(os.NewFile(uintptr(logPipeFd), "logpipe")) -- logrus.SetFormatter(new(logrus.JSONFormatter)) -- logrus.Info("child process init-function finished") - } - } - --- -2.30.0 - diff --git a/patch/0131-runc-change-Umask-to-0022.patch b/patch/0131-runc-change-Umask-to-0022.patch deleted file mode 100644 index 63a562d..0000000 --- a/patch/0131-runc-change-Umask-to-0022.patch +++ /dev/null @@ -1,57 +0,0 @@ -From f53243d64903d660e45a186dc11fa0ab13c39621 Mon Sep 17 00:00:00 2001 -From: zhongjiawei -Date: Tue, 9 Aug 2022 18:29:53 +0800 -Subject: [PATCH] runc: change Umask to 0022 - ---- - libcontainer/rootfs_linux.go | 7 +------ - libcontainer/setns_init_linux.go | 8 -------- - 2 files changed, 1 insertion(+), 14 deletions(-) - -diff --git a/libcontainer/rootfs_linux.go b/libcontainer/rootfs_linux.go -index b005429..a1bd7e7 100644 ---- a/libcontainer/rootfs_linux.go -+++ b/libcontainer/rootfs_linux.go -@@ -140,12 +140,7 @@ func finalizeRootfs(config *configs.Config) (err error) { - } - } - -- umask := libcontainerUtils.SearchLabels(config.Labels, "native.umask") -- if umask == "normal" { -- syscall.Umask(0022) -- } else { -- syscall.Umask(0027) -- } -+ syscall.Umask(0022) - return nil - } - -diff --git a/libcontainer/setns_init_linux.go b/libcontainer/setns_init_linux.go -index 1f7ec98..e6dfbba 100644 ---- a/libcontainer/setns_init_linux.go -+++ b/libcontainer/setns_init_linux.go -@@ -11,7 +11,6 @@ import ( - "github.com/opencontainers/runc/libcontainer/keys" - "github.com/opencontainers/runc/libcontainer/seccomp" - "github.com/opencontainers/runc/libcontainer/system" -- "github.com/opencontainers/runc/libcontainer/utils" - "github.com/opencontainers/selinux/go-selinux/label" - ) - -@@ -43,13 +42,6 @@ func (l *linuxSetnsInit) Init() error { - return err - } - } -- // set exec process umask to 0027 or 0022 according to container's config -- umask := utils.SearchLabels(l.config.Config.Labels, "native.umask") -- if umask == "normal" { -- syscall.Umask(0022) -- } else { -- syscall.Umask(0027) -- } - if l.config.NoNewPrivileges { - if err := system.Prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0); err != nil { - return err --- -2.30.0 - diff --git a/patch/0132-runc-fix-systemd-cgroup-after-memory-type-changed.patch b/patch/0132-runc-fix-systemd-cgroup-after-memory-type-changed.patch deleted file mode 100644 index 3629b8d..0000000 --- a/patch/0132-runc-fix-systemd-cgroup-after-memory-type-changed.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 22fab107bdb684d3e7651804b5f6ba3c432652ca Mon Sep 17 00:00:00 2001 -From: xiadanni -Date: Mon, 9 Aug 2021 10:16:47 +0800 -Subject: [PATCH] runc:fix systemd cgroup after memory type changed - -upstream from -https://github.com/opencontainers/runc/pull/1573/commits/acaf6897f566c2f592a488c83dafcddec41524be - -Signed-off-by: Qiang Huang -Signed-off-by: xiadanni ---- - libcontainer/cgroups/systemd/apply_systemd.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libcontainer/cgroups/systemd/apply_systemd.go b/libcontainer/cgroups/systemd/apply_systemd.go -index 0411b72..a08a9a9 100644 ---- a/libcontainer/cgroups/systemd/apply_systemd.go -+++ b/libcontainer/cgroups/systemd/apply_systemd.go -@@ -261,7 +261,7 @@ func (m *Manager) Apply(pid int) error { - - if c.Resources.Memory != 0 { - properties = append(properties, -- newProp("MemoryLimit", c.Resources.Memory)) -+ newProp("MemoryLimit", uint64(c.Resources.Memory))) - } - - if c.Resources.CpuShares != 0 { --- -2.27.0 - diff --git a/patch/0133-runc-add-CGO-sercuity-build-options.patch b/patch/0133-runc-add-CGO-sercuity-build-options.patch deleted file mode 100644 index d65ae2a..0000000 --- a/patch/0133-runc-add-CGO-sercuity-build-options.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 70ec40e866f056f071e3df73e8f82608c9c1b741 Mon Sep 17 00:00:00 2001 -From: zhongjiawei -Date: Thu, 22 Sep 2022 09:31:43 +0800 -Subject: [PATCH] runc: add CGO sercuity build options - ---- - Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Makefile b/Makefile -index 94cf3f8..2f6bb17 100644 ---- a/Makefile -+++ b/Makefile -@@ -45,8 +45,8 @@ LD_FLAGS='-w -buildid=none -tmpdir=/tmp/bep-runc -linkmode=external -extldflags= - static: $(SOURCES) - rm -rf /tmp/bep-runc && mkdir /tmp/bep-runc - CGO_ENABLED=1 \ -- CGO_CFLAGS="-fstack-protector-strong -fPIE" \ -- CGO_CPPFLAGS="-fstack-protector-strong -fPIE" \ -+ CGO_CFLAGS="-fstack-protector-strong -fPIE -D_FORTIFY_SOURCE=2 -O2" \ -+ CGO_CPPFLAGS="-fstack-protector-strong -fPIE -D_FORTIFY_SOURCE=2 -O2" \ - CGO_LDFLAGS_ALLOW='-Wl,-z,relro,-z,now' \ - CGO_LDFLAGS="-Wl,-z,relro,-z,now -Wl,-z,noexecstack" \ - go build -buildmode=pie -tags "$(BUILDTAGS) cgo static_build" -ldflags '-extldflags=-static' -ldflags $(LD_FLAGS) -o runc . --- -2.30.0 - diff --git a/patch/0134-runc-add-errnoRet-in-Syscall-struct.patch b/patch/0134-runc-add-errnoRet-in-Syscall-struct.patch deleted file mode 100644 index 1504f03..0000000 --- a/patch/0134-runc-add-errnoRet-in-Syscall-struct.patch +++ /dev/null @@ -1,182 +0,0 @@ -From f3daefee2a044dac912afccb52a724a7fe710caf Mon Sep 17 00:00:00 2001 -From: wang--ge -Date: Sat, 19 Nov 2022 15:43:51 +0800 -Subject: [PATCH] honor seccomp errnoRet - ---- - libcontainer/configs/config.go | 1 + - libcontainer/integration/seccomp_test.go | 72 +++++++++++++++++++ - libcontainer/seccomp/seccomp_linux.go | 12 +++- - libcontainer/specconv/spec_linux.go | 1 + - .../runtime-spec/specs-go/config.go | 1 + - 5 files changed, 84 insertions(+), 3 deletions(-) - -diff --git a/libcontainer/configs/config.go b/libcontainer/configs/config.go -index 9074c86..7dd4bde 100644 ---- a/libcontainer/configs/config.go -+++ b/libcontainer/configs/config.go -@@ -78,6 +78,7 @@ type Arg struct { - type Syscall struct { - Name string `json:"name"` - Action Action `json:"action"` -+ ErrnoRet *uint `json:"errnoRet"` - Priority uint8 `json:"priority,omitempty"` - Args []*Arg `json:"args"` - } -diff --git a/libcontainer/integration/seccomp_test.go b/libcontainer/integration/seccomp_test.go -index 8e2c7cd..72d0d96 100644 ---- a/libcontainer/integration/seccomp_test.go -+++ b/libcontainer/integration/seccomp_test.go -@@ -12,6 +12,78 @@ import ( - libseccomp "github.com/seccomp/libseccomp-golang" - ) - -+func TestSeccompDenyGetcwdWithErrno(t *testing.T) { -+ if testing.Short() { -+ return -+ } -+ -+ rootfs, err := newRootfs() -+ if err != nil { -+ t.Fatal(err) -+ } -+ defer remove(rootfs) -+ -+ errnoRet := uint(syscall.ESRCH) -+ -+ config := newTemplateConfig(rootfs) -+ config.Seccomp = &configs.Seccomp{ -+ DefaultAction: configs.Allow, -+ Syscalls: []*configs.Syscall{ -+ { -+ Name: "getcwd", -+ Action: configs.Errno, -+ ErrnoRet: &errnoRet, -+ }, -+ }, -+ } -+ -+ container, err := newContainer(config) -+ if err != nil { -+ t.Fatal(err) -+ } -+ defer container.Destroy() -+ -+ buffers := newStdBuffers() -+ pwd := &libcontainer.Process{ -+ Cwd: "/", -+ Args: []string{"pwd"}, -+ Env: standardEnvironment, -+ Stdin: buffers.Stdin, -+ Stdout: buffers.Stdout, -+ Stderr: buffers.Stderr, -+ Init: true, -+ } -+ -+ err = container.Run(pwd) -+ if err != nil { -+ t.Fatal(err) -+ } -+ ps, err := pwd.Wait() -+ if err == nil { -+ t.Fatal("Expecting error (negative return code); instead exited cleanly!") -+ } -+ -+ var exitCode int -+ status := ps.Sys().(syscall.WaitStatus) -+ if status.Exited() { -+ exitCode = status.ExitStatus() -+ } else if status.Signaled() { -+ exitCode = -int(status.Signal()) -+ } else { -+ t.Fatalf("Unrecognized exit reason!") -+ } -+ -+ if exitCode == 0 { -+ t.Fatalf("Getcwd should fail with negative exit code, instead got %d!", exitCode) -+ } -+ -+ expected := "pwd: getcwd: No such process" -+ actual := strings.Trim(buffers.Stderr.String(), "\n") -+ if actual != expected { -+ t.Fatalf("Expected output %s but got %s\n", expected, actual) -+ } -+} -+ - func TestSeccompDenyGetcwd(t *testing.T) { - if testing.Short() { - return -diff --git a/libcontainer/seccomp/seccomp_linux.go b/libcontainer/seccomp/seccomp_linux.go -index 0c97da6..26cec43 100644 ---- a/libcontainer/seccomp/seccomp_linux.go -+++ b/libcontainer/seccomp/seccomp_linux.go -@@ -36,7 +36,7 @@ func InitSeccomp(config *configs.Seccomp) error { - return fmt.Errorf("cannot initialize Seccomp - nil config passed") - } - -- defaultAction, err := getAction(config.DefaultAction) -+ defaultAction, err := getAction(config.DefaultAction, nil) - if err != nil { - return fmt.Errorf("error initializing seccomp - invalid default action") - } -@@ -100,17 +100,23 @@ func IsEnabled() bool { - } - - // Convert Libcontainer Action to Libseccomp ScmpAction --func getAction(act configs.Action) (libseccomp.ScmpAction, error) { -+func getAction(act configs.Action, errnoRet *uint) (libseccomp.ScmpAction, error) { - switch act { - case configs.Kill: - return actKill, nil - case configs.Errno: -+ if errnoRet != nil { -+ return libseccomp.ActErrno.SetReturnCode(int16(*errnoRet)), nil -+ } - return actErrno, nil - case configs.Trap: - return actTrap, nil - case configs.Allow: - return actAllow, nil - case configs.Trace: -+ if errnoRet != nil { -+ return libseccomp.ActTrace.SetReturnCode(int16(*errnoRet)), nil -+ } - return actTrace, nil - default: - return libseccomp.ActInvalid, fmt.Errorf("invalid action, cannot use in rule") -@@ -173,7 +179,7 @@ func matchCall(filter *libseccomp.ScmpFilter, call *configs.Syscall) error { - } - - // Convert the call's action to the libseccomp equivalent -- callAct, err := getAction(call.Action) -+ callAct, err := getAction(call.Action, call.ErrnoRet) - if err != nil { - return err - } -diff --git a/libcontainer/specconv/spec_linux.go b/libcontainer/specconv/spec_linux.go -index 0cbc66f..8177739 100644 ---- a/libcontainer/specconv/spec_linux.go -+++ b/libcontainer/specconv/spec_linux.go -@@ -758,6 +758,7 @@ func setupSeccomp(config *specs.LinuxSeccomp) (*configs.Seccomp, error) { - newCall := configs.Syscall{ - Name: name, - Action: newAction, -+ ErrnoRet: call.ErrnoRet, - Priority: call.Priority, - Args: []*configs.Arg{}, - } -diff --git a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -index 8439744..ec8096a 100644 ---- a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -+++ b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go -@@ -556,6 +556,7 @@ type LinuxSeccompArg struct { - type LinuxSyscall struct { - Names []string `json:"names"` - Action LinuxSeccompAction `json:"action"` -+ ErrnoRet *uint `json:"errnoRet,omitempty"` - Priority uint8 `json:"priority,omitempty"` - Args []LinuxSeccompArg `json:"args"` - Comment string `json:"comment"` --- -2.27.0 - diff --git a/patch/0137-runc-fix-can-t-set-cpuset-cpus-and-cpuset-mems-at-th.patch b/patch/0137-runc-fix-can-t-set-cpuset-cpus-and-cpuset-mems-at-th.patch deleted file mode 100644 index 4d2b9ad..0000000 --- a/patch/0137-runc-fix-can-t-set-cpuset-cpus-and-cpuset-mems-at-th.patch +++ /dev/null @@ -1,28 +0,0 @@ -From b4840e2463cea04325ad978359e496949eb9f7ca Mon Sep 17 00:00:00 2001 -From: chenjiankun -Date: Wed, 23 Nov 2022 10:20:04 +0800 -Subject: [PATCH] runc: fix can't set cpuset-cpus and cpuset-mems at the same - time - ---- - libcontainer/cgroups/fs/cpuset.go | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/libcontainer/cgroups/fs/cpuset.go b/libcontainer/cgroups/fs/cpuset.go -index ebf75ec3..ce1389d8 100644 ---- a/libcontainer/cgroups/fs/cpuset.go -+++ b/libcontainer/cgroups/fs/cpuset.go -@@ -152,7 +152,9 @@ func (s *CpusetGroup) setCpuset(path, cpuset string) error { - func (s *CpusetGroup) Set(path string, cgroup *configs.Cgroup) error { - var ret error - if cgroup.Resources.CpusetCpus != "" { -- return s.setCpuset(path, cgroup.Resources.CpusetCpus) -+ if err := s.setCpuset(path, cgroup.Resources.CpusetCpus); err != nil { -+ return err -+ } - } - - if cgroup.Resources.CpusetMems != "" { --- -2.23.0 - diff --git a/patch/0138-runc-write-state.json-atomically.patch b/patch/0138-runc-write-state.json-atomically.patch deleted file mode 100644 index 643bb77..0000000 --- a/patch/0138-runc-write-state.json-atomically.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 6ea4aed9b0e96e037cd0e4c6accc1197a63e1ac0 Mon Sep 17 00:00:00 2001 -From: zhongjiawei -Date: Tue, 23 Aug 2022 10:32:23 +0800 -Subject: [PATCH] runc: write state.json atomically - -We want to make sure that the state file is syned and cannot be -read partially or truncated. - -Conflict:NA -Reference:https://github.com/opencontainers/runc/pull/2467/commits/a4a306d2a2850e26052c86c329dc2d1a0521f723 - ---- - libcontainer/container_linux.go | 24 ++++++++++++++++++++---- - 1 file changed, 20 insertions(+), 4 deletions(-) - -diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go -index 7be84a63..e9031267 100644 ---- a/libcontainer/container_linux.go -+++ b/libcontainer/container_linux.go -@@ -1384,14 +1384,30 @@ func (c *linuxContainer) updateState(process parentProcess) (*State, error) { - } - return state, nil - } -+func (c *linuxContainer) saveState(s *State) (retErr error) { -+ tmpFile, err := ioutil.TempFile(c.root, "state-") -+ if err != nil { -+ return err -+ } - --func (c *linuxContainer) saveState(s *State) error { -- f, err := os.Create(filepath.Join(c.root, stateFilename)) -+ defer func() { -+ if retErr != nil { -+ tmpFile.Close() -+ os.Remove(tmpFile.Name()) -+ } -+ }() -+ -+ err = utils.WriteJSON(tmpFile, s) - if err != nil { - return err - } -- defer f.Close() -- return utils.WriteJSON(f, s) -+ err = tmpFile.Close() -+ if err != nil { -+ return err -+ } -+ -+ stateFilePath := filepath.Join(c.root, stateFilename) -+ return os.Rename(tmpFile.Name(), stateFilePath) - } - - func (c *linuxContainer) deleteState() error { --- -2.30.0 - diff --git a/patch/0139-runc-Make-sure-signalAllProcesses-is-invoked-in-the-.patch b/patch/0139-runc-Make-sure-signalAllProcesses-is-invoked-in-the-.patch deleted file mode 100644 index ceb7b2a..0000000 --- a/patch/0139-runc-Make-sure-signalAllProcesses-is-invoked-in-the-.patch +++ /dev/null @@ -1,27 +0,0 @@ -From c0ff47aba74ea06836ee53f7077c7930e378820c Mon Sep 17 00:00:00 2001 -From: zhongjiawei -Date: Thu, 15 Dec 2022 15:30:23 +0800 -Subject: [PATCH] runc:Make sure signalAllProcesses is invoked in the function - of destroy when container shares pid namespace - ---- - libcontainer/state_linux.go | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/libcontainer/state_linux.go b/libcontainer/state_linux.go -index b570a24..c77d4f2 100644 ---- a/libcontainer/state_linux.go -+++ b/libcontainer/state_linux.go -@@ -38,7 +38,8 @@ type containerState interface { - } - - func destroy(c *linuxContainer) error { -- if !c.config.Namespaces.Contains(configs.NEWPID) { -+ if !c.config.Namespaces.Contains(configs.NEWPID) || -+ c.config.Namespaces.PathOf(configs.NEWPID) != "" { - if err := signalAllProcesses(c.cgroupManager, syscall.SIGKILL); err != nil { - logrus.Warn(err) - } --- -2.30.0 - diff --git a/runc.spec b/runc.spec index e81c51b..c5a2f3e 100644 --- a/runc.spec +++ b/runc.spec @@ -1,19 +1,18 @@ -#needsrootforbuild %global _bindir /usr/bin %global debug_package %{nil} Name: docker-runc -Version: 1.0.0.rc3 -Release: 308 +Version: 1.1.3 +Release: 9 Summary: runc is a CLI tool for spawning and running containers according to the OCI specification. License: ASL 2.0 -Source0: https://github.com/opencontainers/runc/archive/v1.0.0-rc3.zip -Source1: patch.tar.gz -Source2: apply-patch -Source3: series.conf -Source4: git-commit -Source5: gen-commit.sh +Source0: https://github.com/opencontainers/runc/archive/refs/tags/v1.1.3.tar.gz +Source1: apply-patch +Source2: series.conf +Source3: git-commit +Source4: gen-commit.sh +Source5: patch.tar.gz URL: https://www.opencontainers.org/ Vendor: OCI @@ -30,15 +29,17 @@ cp %{SOURCE1} . cp %{SOURCE2} . cp %{SOURCE3} . cp %{SOURCE4} . +cp %{SOURCE5} . + %install -sh ./apply-patch +sh ./apply-patch mkdir -p .gopath/src/github.com/opencontainers +export GO111MODULE=off export GOPATH=`pwd`/.gopath ln -sf `pwd` .gopath/src/github.com/opencontainers/runc cd .gopath/src/github.com/opencontainers/runc -export GO111MODULE=off make BUILDTAGS="seccomp selinux" static rm -rf .gopath strip runc @@ -53,49 +54,76 @@ install -p -m 755 runc $RPM_BUILD_ROOT/%{_bindir}/runc %{_bindir}/runc %changelog -* Sat Dec 17 2022 zhongjiawei - 1.0.0.rc3-308 +* Tue Jan 10 2023 zhongjiawei - 1.1.3-9 - Type:bugfix - CVE:NA - SUG:NA - DESC:support specify umask -* Thu Dec 15 2022 zhongjiawei - 1.0.0.rc3-307 +* Thu Jan 5 2023 zhongjiawei - 1.1.3-8 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC:modify apply-patch path + +* Sat Dec 17 2022 zhongjiawei - 1.1.3-7 - Type:bugfix - CVE:NA - SUG:NA -- DESC:support set cpuset.perfer +- DESC:support specify umask -* Mon Nov 21 2022 Ge Wang - 1.0.0.rc3-306 +* Mon Nov 7 2022 zhongjiawei - 1.1.3-6 - Type:bugfix - CVE:NA - SUG:NA -- DESC:add errnoRet in Syscall struct +- DESC:runc log forward to syslog -* Wed Sep 28 2022 zhongjiawei - 1.0.0.rc3-305 +* Fri Nov 4 2022 zhongjiawei - 1.1.3-5 - Type:bugfix - CVE:NA - SUG:NA - DESC:move install path to /usr/bin -* Thu Sep 22 2022 zhongjiawei - 1.0.0.rc3-304 +* Tue Oct 18 2022 zhongjiawei - 1.1.3-4 - Type:bugfix - CVE:NA - SUG:NA -- DESC:add CGO security build option +- DESC:move install path to /usr/bin -* Tue Aug 16 2022 zhongjiawei - 1.0.0.rc3-303 +* Tue Aug 16 2022 zhongjiawei - 1.1.3-3 - Type:bugfix - CVE:NA - SUG:NA - DESC:fix systemd cgroup after memory type changed -* Tue Aug 9 2022 zhongjiawei - 1.0.0.rc3-302 +* Tue Aug 9 2022 zhongjiawei - 1.1.3-2 - Type:bugfix - CVE:NA - SUG:NA -- DESC:change Uamsk to 0022 +- DESC:change Umask to 0022 -* Tue Aug 09 2022 zhongjiawei - 1.0.0.rc3-301 +* Tue Aug 9 2022 wangjunqi - 1.1.3-1 +- update to 1.1.3 + +* Tue Aug 9 2022 zhongjiawei - 1.0.0.rc3-303 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC:bump version to 303 + +* Fri Jul 8 2022 cenhuilin - 1.0.0.rc3-118 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:fix connect container failed when reading partially written state.json content + +* Mon Apr 11 2022 fushanqing - 1.0.0.rc3-117 +- add macro + +* Thu Feb 10 2022 fushanqing - 1.0.0.rc3-116 +- remove "%global _bindir /usr/local/bin" + +* Wed Jan 26 2022 songyanting - 1.0.0.rc3-115 - Type:bugfix - CVE:NA - SUG:NA @@ -106,15 +134,12 @@ install -p -m 755 runc $RPM_BUILD_ROOT/%{_bindir}/runc 4. optimize nsexec logging 5. improve log for debugging 6. fix cgroup info print error - 7. fix CVE-2022-29162 + 7. support unit test -* Thu Dec 23 2021 xiadanni - 1.0.0.rc3-114 -- Type:bugfix -- CVE:NA -- SUG:NA -- DESC:disable go module build +* Tue Oct 26 2021 chenchen - 1.0.0.rc3-114 +- change the spec file name to be the same as the repo name -* Wed Mar 18 2021 xiadanni - 1.0.0.rc3-113 +* Thu Mar 18 2021 xiadanni - 1.0.0.rc3-113 - Type:bugfix - CVE:NA - SUG:NA diff --git a/series.conf b/series.conf index 2352d74..babae95 100644 --- a/series.conf +++ b/series.conf @@ -1,142 +1,30 @@ -patch/0001-.travis.yml-Don-t-require-FETCH_HEAD.patch -patch/0002-Don-t-try-to-read-freezer.state-from-the-cu.patch -patch/0003-Use-opencontainers-selinux-package.patch -patch/0004-handle-unprivileged-operations-and-dumpable.patch -patch/0005-runc-add-support-for-rootless-containers.patch -patch/0006-rootless-add-rootless-cgroup-manager.patch -patch/0007-libcontainer-configs-add-proper-HostUID-and.patch -patch/0008-libcontainer-init-fix-unmapped-console-fcho.patch -patch/0009-rootless-add-autogenerated-rootless-config-.patch -patch/0010-integration-added-root-requires.patch -patch/0011-tests-add-rootless-integration-tests.patch -patch/0012-vendor-add-golang.org-x-sys-unix-9a7256cb28.patch -patch/0013-libcontainer-rewrite-cmsg-to-use-sys-unix.patch -patch/0014-Set-container-state-only-once-during-start.patch -patch/0015-checkpoint-check-if-system-supports-pre-dum.patch -patch/0016-Fix-console-syscalls.patch -patch/0017-restore-apply-resource-limits.patch -patch/0018-could-load-a-stopped-container.patch -patch/0019-Revert-back-to-using-sbin.patch -patch/0020-add-testcase-in-generic_error_test.go.patch -patch/0021-Fix-misspelling-of-properties-in-various-pl.patch -patch/0022-Add-a-rootless-containers-section-on-README.patch -patch/0023-vendor-clean-up-to-be-better-written.patch -patch/0024-Optimizing-looping-over-namespaces.patch -patch/0025-Add-a-rootless-section-to-spec-man-page-and.patch -patch/0026-Allow-updating-container-pids-limit.patch -patch/0027-Remove-redundant-declaraion-of-namespace-sl.patch -patch/0028-Revert-saneTerminal.patch -patch/0029-vendor-runtime-spec-fork-docker-runtime-spe.patch -patch/0030-Update-memory-specs-to-use-int64-not-uint64.patch -patch/0031-Add-spec-for-euleros.patch -patch/0032-runc-17-Always-save-own-namespace-paths.patch -patch/0033-runc-change-runc-default-umask-to-027.patch -patch/0034-runc-17-Add-some-compatibility-code-to-surpor.patch -patch/0035-runc-17-Add-root-to-HookState-for-compatibili.patch -patch/0036-runc-17-add-compatibility-for-docker-1.11.2.patch -patch/0037-docker-Don-t-enalbe-kmem-accounting-by-defa.patch -patch/0039-Fix-unittest-and-integration-test-error-cause.patch -patch/0041-Add-timeout-for-syscall.Openat.patch -patch/0042-update-state-earlier-to-avoid-cgroup-leak-whe.patch -patch/0043-runc-Use-rslave-instead-of-rprivate-in-chro.patch -patch/0044-runc-default-mount-propagation-correctly.patch -patch/0045-runc-add-hook-specific-info-when-error-occurr.patch -patch/0046-runc-print-cgroup-info-if-cpuset-missing-occu.patch -patch/0047-runc-add-more-specific-log-for-hooks.patch -patch/0048-runc-Only-configure-networking.patch -patch/0049-cgroups-fs-fix-NPE-on-Destroy-than-no-cgrou.patch -patch/0050-runc-Avoid-race-when-opening-exec-fifo.patch -patch/0051-runc-Return-from-goroutine-when-it-should-t.patch -patch/0052-runc-reduce-max-number-of-retries-to-10.patch -patch/0053-runc-print-error-message-during-start-into-co.patch -patch/0054-runc-ignore-exec.fifo-removing-not-exist-erro.patch -patch/0055-Add-file-fds-limit.patch -patch/0056-runc-Modify-max-files.limit-to-max-because-of.patch -patch/0057-runc-change-read-value-of-cgroup-files.limit-.patch -patch/0058-runc-fix-panic-when-Linux-is-nil.patch -patch/0059-Fix-setup-cgroup-before-prestart-hook.patch -patch/0060-runc-runc-logs-forwarding-to-syslog.patch -patch/0061-runc-17-change-golang-build-version-to-make-o.patch -patch/0062-runc-Check-the-hook-timeout-in-case-overflow.patch -patch/0063-docker-close-openchan-immediately-to-avoid-er.patch -patch/0064-runc-bump-to-v1.0.0.rc3.4-after-normalization.patch -patch/0065-runc-support-namespaced-kernel-params-can-be-.patch -patch/0066-runc-bump-to-v1.0.0.rc3.6.patch -patch/0067-runc-make-the-runc-log-more-useful.patch -patch/0068-runc-reduced-the-same-log-when-the-hook-exect.patch -patch/0069-runc-Change-Files-to-LinuxFiles-for-file-limi.patch -patch/0070-runc-not-print-no-such-file-when-cli-err.patch -patch/0071-runc-revert-Change-Files-to-LinuxFiles-for-fi.patch -patch/0072-Revert-runc-not-print-no-such-file-when-cli-e.patch -patch/0073-runc-fix-state.json-no-such-file-or-directory.patch -patch/0074-runc-fix-check-sysctl-in-host-network-mode.patch -patch/0075-runc-Fix-systemd-journald-service-dependency.patch -patch/0076-runc-Fix-syslog-hook-bug.patch -patch/0077-runc-Require-libseccomp-static-lib-for-upgrade-f.patch -patch/0078-runc-Fix-race-in-runc-exec.patch -patch/0079-runc-modify-spec-file-for-upgrade.patch -patch/0080-runc-support-specify-umask.patch -patch/0081-runc-fix-oom-killer-disable-unhandled-due-t.patch -patch/0082-runc-make-runc-spec-and-docker-18.9-compati.patch -patch/0083-log-fix-runc-log-decode-failed.patch -patch/0084-oci-fix-runc-panic-and-support-oom-score.patch -patch/0085-runc-do-not-setup-sysctl-in-runc-when-userns-.patch -patch/0086-runc-support-set-seccomp-priority.patch -patch/0087-runc-fix-spec-LinuxSyscall-struct.patch -patch/0088-nsenter-clone-proc-self-exe-to-avoid-exposi.patch -patch/0089-Revert-nsenter-clone-proc-self-exe-to-avoid.patch -patch/0090-nsenter-clone-proc-self-exe-to-avoid-exposi.patch -patch/0091-runc-cve-2019-5736-workaround-if-memfd_create.patch -patch/0092-runc-cve-2019-5736-fix-build-failure.patch -patch/0093-runc-fix-error-when-check-the-init-process.patch -patch/0094-runc-If-tmp-is-mounted-by-option-noexec-docke.patch -patch/0095-runc-just-warning-when-poststart-and-poststop.patch -patch/0096-runc-do-not-kill-container-if-poststart-hooks.patch -patch/0097-runc-Fix-mountpoint-leak-and-pivot_root-error.patch -patch/0098-runc-fix-read-only-containers-under-userns-.patch -patch/0099-runc-enable-bep-ldflags.patch -patch/0100-runc-set-makefile-buildid.patch -patch/0101-runc-print-memory-info-when-syscall.Exec-fail.patch -patch/0102-runc-add-sysctl-kernel.pid_max-to-whitelist.patch -patch/0104-runc-Retry-adding-pids-to-cgroups-when-EINV.patch -patch/0105-runc-disable-core-dump-during-pipe-io.patch -patch/0106-runc-do-not-override-devices.allow-file-when-.patch -patch/0107-runc-fix-exec-problem-caused-by-libseccomp-up.patch -patch/0108-runc-print-files-limit-and-usage-when-exec-fa.patch -patch/0109-runc-add-copyright.patch -patch/0110-runc-add-lisence.patch -patch/0111-runc-add-log-message-for-cgroup-file-check.patch -patch/0112-runc-add-log-message-for-cgroup-file-check.patch -patch/0113-runc-modify-files-cgroup-info-reading-path.patch -patch/0112-runc-Fixes-1585-config.Namespaces-is-empty-.patch -patch/0113-runc-Write-freezer-state-after-every-state-.patch -patch/0114-runc-may-kill-other-process-when-container-.patch -patch/0115-runc-Fix-cgroup-hugetlb-size-prefix-for-kB.patch -patch/0116-runc-check-nil-pointers-in-cgroup-manager.patch -patch/0117-runc-Pass-back-the-pid-of-runc-1-CHILD-so-w.patch -patch/0118-runc-don-t-deny-all-devices-when-update-cgroup-resou.patch -patch/0118-runc-rootfs-do-not-permit-proc-mounts-to-no.patch -patch/0119-runc-use-git-commit-to-store-commit-ID.patch -patch/0120-runc-fix-permission-denied.patch -patch/0121-runc-add-sys-symbol-to-support-riscv.patch -patch/0122-runc-add-riscv-on-existing-files.patch -patch/0121-runc-add-cpu-and-memory-info-when-print-cgroup-info.patch -patch/0124-runc-fix-freezing-race.patch -patch/0125-runc-compile-option-compliance.patch -patch/0126-runc-add-check-in-spec.patch -patch/0127-runc-add-mount-destination-validation-fix-CVE-2021.patch -patch/0128-runc-optimize-nsexec-logging.patch -patch/0129-runc-improve-log-for-debugging.patch -patch/0130-runc-fix-cgroup-info-print-error.patch -patch/0128-runc-fix-CVE-2022-29162.patch -patch/0131-runc-change-Umask-to-0022.patch -patch/0132-runc-fix-systemd-cgroup-after-memory-type-changed.patch -patch/0133-runc-add-CGO-sercuity-build-options.patch -patch/0134-runc-add-errnoRet-in-Syscall-struct.patch -patch/0135-runc-support-set-cpuset.prefer_cpus-using-cpuset-cpu.patch -patch/0136-runc-add-DT-for-cpuset.preferred_cpus-setting.patch -patch/0137-runc-fix-can-t-set-cpuset-cpus-and-cpuset-mems-at-th.patch -patch/0138-runc-write-state.json-atomically.patch -patch/0139-runc-Make-sure-signalAllProcesses-is-invoked-in-the-.patch -patch/0140-runc-support-specify-umask.patch -#end +patch/0001-runc-Add-spec-for-euleros.patch +patch/0002-runc-fix-unittest-and-integration-test-error-caused.patch +patch/0003-runc-add-timeout-for-syscall.Openat.patch +patch/0004-runc-update-state-eariler-to-avoid-cgroup-leak-when-.patch +patch/0005-runc-print-cgroup-info-if-cpuset-missing-occurs.patch +patch/0006-runc-add-more-specific-log-for-hooks.patch +patch/0007-runc-reduce-max-number-of-retries-to-10.patch +patch/0008-runc-print-error-message-during-start-into-container.patch +patch/0009-runc-ignore-exec.fifo-removing-not-exist-error.patch +patch/0010-runc-Add-file-fds-limit.patch +patch/0011-runc-logs-forwarding-to-syslog.patch +patch/0012-runc-support-namespaced-kernel-params-can-be-changed.patch +patch/0013-runc-modify-minHookTimeOut.patch +patch/0014-runc-make-hooks-log-more-userful-and-fix-syslog-hook.patch +patch/0015-runc-fix-runc-log-decode-failed.patch +patch/0016-runc-do-not-setup-sysctl-in-runc-when-userns-enable.patch +patch/0017-runc-support-set-seccomp-priority.patch +patch/0018-runc-do-not-kill-container-if-poststart-hooks-execut.patch +patch/0019-runc-print-memory-info-when-syscall.Exec-failed.patch +patch/0020-runc-add-sysctl-kernel.pid_max-to-whitelist.patch +patch/0021-runc-disable-core-dump-during-exec.patch +patch/0022-runc-fix-exec-problem-caused-by-libseccomp-updating.patch +patch/0023-runc-add-log-message-for-cgroup-file-check.patch +patch/0024-runc-unified-use-of-logpipe.patch +patch/0025-runc-support-set-cpuset.prefer_cpus-using-cpuset-cpu.patch +patch/0026-runc-add-DT-for-cpuset.preferred_cpus-setting.patch +patch/0027-runc-modify-runc-Makefile.patch +patch/0028-runc-cgroup-apply-method-modify.patch +patch/0029-runc-runc-log-forward-to-syslog.patch +patch/0030-runc-support-specify-umask.patch diff --git a/test_unit.sh b/test_unit.sh new file mode 100755 index 0000000..4a39036 --- /dev/null +++ b/test_unit.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# Copyright (c) Huawei Technologies Co., Ltd. 2021. All rights reserved. +# Description: This shell script is used to do unit test. +# Author: xiadanni1@huawei.com +# Create: 2021-12-20 + +test_log=${PWD}/unit_test_log +rm -rf "${test_log}" +touch "${test_log}" +while IPF= read -r line +do + echo "Start to test: ${line}" + go test -timeout 300s -v "${line}" >> "${test_log}" + cat "${test_log}" | grep -E -- "--- FAIL:|^FAIL" + if [ $? -eq 0 ]; then + echo "Testing failed... Please check ${test_log}" + exit 1 + fi + tail -n 1 "${test_log}" +done < "unit_test_list" diff --git a/unit_test_list b/unit_test_list new file mode 100644 index 0000000..bdf1adb --- /dev/null +++ b/unit_test_list @@ -0,0 +1,12 @@ +github.com/opencontainers/runc/libcontainer +github.com/opencontainers/runc/libcontainer/specconv +github.com/opencontainers/runc/libcontainer/devices +github.com/opencontainers/runc/libcontainer/stacktrace +github.com/opencontainers/runc/libcontainer/xattr +github.com/opencontainers/runc/libcontainer/seccomp +github.com/opencontainers/runc/libcontainer/cgroups +github.com/opencontainers/runc/libcontainer/cgroups/fs +github.com/opencontainers/runc/libcontainer/configs/validate +github.com/opencontainers/runc/libcontainer/system +github.com/opencontainers/runc/libcontainer/nsenter +github.com/opencontainers/runc/libcontainer/user diff --git a/v1.0.0-rc3.zip b/v1.0.0-rc3.zip deleted file mode 100644 index 4aa86d9e552a322d512e4e221b6f9101cb7d9a05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 658025 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

H$KxHUO-y-oyLQx_yiaIm~ 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%0ADgw6AM0icp1vh6L9nt1IZn<6 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%0DZPyMy6vOOiuHJ3KPl1^b~u^*=PS;Q5;)A&IT`-k zNZ%*=xa3$$1@(o|cCsz)$=X@EAl|O(#ue**R8yHMAx-(sHk9pJBN;EymLC%knwYmn zJ;CqK<_(wd>wh-&%bu>9I{ZIz;5*i9s$cV;YbA4Z$gY7%pMutNcU7F~+rnh8nS#lS zPoZRAt)RRBF+4t~U)^vY%PWt1lAr%3pupz_1K5ARz&)b;vw-4X7To`M8Nbxn{LbY? z^lkcr788J=R4z2eWatsb<09A8X3>mwTM+MSNXfhri`k0HE z3=z8b^ZL0R0gqA?>D588o`;l^`W#}obk7)#o|11HjnhK3Nr3!SPRN3{BNX8ARkVjK-_M=>F zykzG)hUU4!O>{gtHcCX7OflOCEI*3&kY6_>tA}XYfhjgF-X{%o(rPN{7)726I0{rK zc&CqCeu~6Ih(G=miqQe`xS>QY?M8>4z;?UkoEs(C;xZ6LsSX!T228b)0?IOQAgv

vrjVojfxCAz8J`{Q^c5TnrJ=MOSg}%}lN!l$)OSK`^R=NWi zfwAa>6g&qZ?vX+3ydgWa{>AWdF)E?aM4Vn4Qj8a0sJDADuZ7Q6&jHs6s-|h zFGc$XT1^fZ3VAt<dtB%Y7)P8~5ZZ{A zp!=nslf_@v3|nd$Nzmuc8o(vS4O65;n#bb1J`CYl9Of);MJVuCai38VBN9fW=GHIf zhMR^PH(Dgqh8odkj8RjNAyDH`ig`sbS@lrN0V(rI%;6jr)`npyw%vm(+!8NlrL5M} z7N+!c$IZoN_w4n}Um6e}J^K&w<@FFXZ<~$1pJmre8YgY&ZwIZU`0b@p&ckeJ6tk{` z@qtibAjUafvW#pmHLY=g85=G#SmA4#?R>q9cwO-tbB*jypRguVp2kXxC5mQ?wMCrh zS}-*sP1^?%nt2;(L450F!th<|lq;&ZOtd?tCzoY$R3s=f2~h#kD!}4kcIrAqxB-MD z8nsl-KC1m7xK`0m_Z17Jx%WUgAK2w%NtCMQjB1jJuV2+mxmh#mf2I5oYW+IDZk6>d zxrCXS_eFtW8+u}jjfG#Feq6&U@2M^AopaB)ET0RoLwJaer@iXMKwZFD zzhdWc*lLTY|JnXw)pS^?g&gD*<*hW~z+?d><2C$@Wi;wOQWS zE>(anU`Y$x$->@en_A9_(#zG7i+G)fe_d|H89F&;8-YzQQr5$UpBXy0 zRN9!4CP1tvFqL6WQ7S(qfG~%Ulj5mnb@m`A3Wg6)o*(I?NK7ikGh=6~f!(6jP*qeJ z;I~?hyGvQPxO$9TXONak%QkQ){xf;)1?EZ%;JyFkcDWeCY22RZ7W$Ty$D91*$$C1r zH|QD31I%yi-&8n&M52$tlK`Wg(~5X7Xs{n%e82!okhY< z3-b3lE`Gmd^Ua|IX#iQ0_l{S}G1HX&6g)S!T;|)Mi*`m3Yf{+|Oo18fZXxU;Irta- z`eMOQ6QfkrES9v>q9*RCO*333NmvW^vQmy&3mc->rVO}I?X3

-#>^5z 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

9SANdAnKXSR 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�@cnaF*N>^W?c%X=R5jQk$L~WQ7KzNRuAgG3e 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
?RlBwi0?r4;7X~j!n4At!A*i)We_r&%ZlidQB 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%0DV54+uWjp77ry4c8fW|q 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 C+cJXy -- Gitee From 521cf5ae61696a512b62690ae7e6a421196c6304 Mon Sep 17 00:00:00 2001 From: hanchao Date: Tue, 10 Jan 2023 16:10:01 +0800 Subject: [PATCH 2/2] upload tar.gz package (cherry picked from commit 4b11fdb2df69da519357a1872a3820e673e61fc5) --- v1.1.3.tar.gz | Bin 0 -> 2333384 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 v1.1.3.tar.gz diff --git a/v1.1.3.tar.gz b/v1.1.3.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..6f2e442d95a2f5b2870471861ad694853dd77019 GIT binary patch literal 2333384 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

(>Kq>~2}pYV^QDP#4=Czv=G9^42r>xSTv@|N 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⩔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 z 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�u&$klCJu`>unS}BS1AeuQpsXur8S@G_5Sq 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
    W# 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%0D+zivfOwcA>DnFnDPviy4_{1`h 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

    _tc6IZ}4iG6Ho~r!?IrhW;rsn_RUi3a|zy$uk zzPysV|65sp^JdQfpWyeG<^PXy|95Py2KM?z+KP(Bbx{zP1lQkQt6Z$(e1Q%>!PFUn&bBnj>Z6rT>IWlL9Nnn zORy_JLQ(fExq~j6wdv{+7JyKFoIwVPreZ-rr(g$+tZ}cFe;<$iV;@Gp91L@M%)=bE z_1E~#CHL9X!C^$9>hc3alZdp)V%ROx_Lt5T2tnM1J+C`B{RsWbF!oG+wp>9Nh5=N< zeFn45cIB-`m0YZ%Xn@q?4Kv-Z;;mrJ^U`W7I;4Oh#g(Iv<6wl!xN6L}Lp;TZd>6!r z?AW%*2}qMgpz>Nv4vYC_EJ20GE~-tFG9B*2|8AmNPy~%AO5JM)xthdvBcI%#D>c3z zG*u_AiCX_&?FcI)^;2Pk2wf57y`Gy z#F;MXP+y%Up||iBa!=zgTwkiY&f(eqD=0ib#YCJtm{DJ_t4k#)~QepQuLtosDz`Mm(iit)!>$zKh^&{QFE_kfSxB7jPaF39m7 z<5gqa{e_#m=t6-suD*nw{6Ys7wTcV#$jFYaeXo~uzHSjyoh{HkUWT&jdWiWeYA-w; zWz){$ExImd$?EF+>B1fv=Ud*~MVqa}3zvdWrm06zPs1GbWIKT&0u*l{n&=5@B4+b2 zh3=*;5HK8}GnPkUQ8aBPlxT|ds9&HcevZ6BNYY4p>?xcovA&)*TO4RN?Oh07cFf^r zmKk<JSA3V%I-3DJq%_%c0IbvF#1#e!ZKDt2%0YM-ks%|-gWod2kd>AN%nR4YP^ z@EKSd92kaSBNtO<2tB;Wv!z-gT^)>Y@OLM8`I2hFQn^ApctS$TK@IUyPGM!0_KUhr zw;6Yx24nvAGv-@$QlBZnkZ;`aATz+nZFfkIr30`nB|7~|>?cYiJ|JC(3Yiqgv|C_o0=O_7P?|h;5Bzi&26rD#i1O zaq}@8(bjTsC8M5l-CX*xB@;bH#B>QK1@0^*9?*ps;3foZ_AS3EaWXn*qz=PG+8u`j z4|jC2ah+lUX){;~F)sU*n+O&GL=g5lqsR$wP)h5dIH00GiG}Gzi`d0y&Z6@nLM_2A zJTA$J@D^>dDnr;j%KB1+tt#~8h&6ahd}HtOC8?WKwoco-JKG<2Fy>rx$%QG7kUDeT zzJ#RNE9hXc>EHuZ((p&h>GuUcjHv|57F04q=l&P?AG@N+gREm3qPzkX)`b_m6^4F< zwwqh0|2}GeI5|4p{}moiPtFdv8J?`}FcKCz#-H1BSoq)O~V7KnuF2M zb6se+^3V;!OiN>FDMBb{YCLsQgQ5Xmu@Nk2cuWmXjU0pN)|l4YXmi73Zn@n8$dwnK zGo)3R(td&9RF!aj9|ELcPTP8^R;$j(E~`Wu8$YcIgCW1NUP9ZL7m&>!7>HdPUWws( zuDt%}EZ^?JFSnUpPMsP+_Q<`d@45rOe+Q!V)^2<65LH?ynbt``WnPE&bn2o?qwu5i zmOeGIpQ^fIv8fa5x-#1UsSRkz>I^BWrPZ`^R9*jisJi}SWL1WXOjP ziE$odT#-aud{g~+gKg;;m5!&lpB_H%yaa~}1uE<*;RJ?M%0@e5yb{58%aC|0xZ`xx zYEm@N+E1xma@4np{{5_KYtD-Z4S8RnhW_8n110L?)8OtjRDgAPYi$ScotthYo0I{(c=A@OMgHRBKw^41&zKI5gr0 z5reR`EOV?iRht7XP=)6>oOLuz_=+m)tXP-TO!&CG0Yjbpn{$|>*5=99;k#za^ym3= z%kt+BdxYd@S?F3)_pD?$N4r*QbYrM3tYcwX!;L{qaRB*x7MW;|3Z;uE91Uaa9}tUC zQYk>l1aZC41(t~%Q=d939=4pzK}3~9z?K_ecu7`mrHXj+)|~_Q7MV+99dG_%_gNQ^ zva}%wX}}hJ%-urza-sds@3x_#IDCSdnM~3;NTLJssoO`yOB-GU#@6E6SjYg>jo=f( z!7|KKNuj4&)I%+elIfn@u1DlQ%u&q|InH-k88I}FLd*#P1ne@>Tq=#XRT~0xtD25~ zsI4m7&+tx_nG9|@he;*oxqwV@G0hb@$P=*w#TE;9W!Bbrm>4b`sGN_+j)PuTjUiW6 zp5nzkS^-T?;5SbE^RYSi>Uq(}4csP${h zng>C5Oe>Pm!p&|{8qc<(vw%A!5;H6WVs=%zX{hthR)3lAU%vF+iCv@&ILwRqoQw%DG3EY-AT0p&Mv4xL8=QOet)H zoLA1O!LENBI$r}M~juauC1On8B> zKzTQX3{xOf$GC!F8Mj)cb%bSK+-z`IX%bfuX7yQ_6CByb&E(yuynnw2w?1lPI+K5% z@lE;)9rIX=EK4?9yTBLDj*pK{PHlk>k9Wde*S)JG*Uny=_(y0^IlpHA=6gYy7X3#8|2z!)HUxBLzXyYcJQ4^AjtHf&S7A5xzyDDO za8>=8Ib8ZFD2H3r9D@)sg928GCY2Rw^e!H{81<-R)1@o9O42WHyjsqgN+_-+SR>7#J$1JSJ ziJOdKkchY2JZy)o>c`T+h>YSFPex*%eq)u)BK$#vrm{B*GN!lac`E1y?IMK=hQ?@$ zpv{;lF4R0}wobQzi{T27G6A)fbWnsaq)Vi-A^ZSDwVO-43>2*uytEo&m;^QfR1p#U zYp>3G8QDH-AT)B6ILO2$q>v7{Yl+hhSB+-oL+xc&AMs#RM6(3+MU}Sc7)n++ExXr~ zTRh0d8za(MG^OM!N}W{RSf8p+D+%%L54P|)eVpGl(OxXyt}XMSz#pY0TmD7h_MtF8 z2ygz|P2GUCCfO_d7(t3uZhrjnEgIh8sj@jvO;^>t^^+1DcXwG@D#j5D3hA_&EF-8v zmg0x~1K{YaS@5ftA;@hhCnKTw;)TL^992sxYO0umq>c4SG({g2elRM*dAY$_3kuZ| z5Rtbt8Vm~|yyaHo-;&~|kvrUWN3ai-zHxM;9L>4>5X5n_Pw{@E(Okp8DTR@mX|e8g zf~3#>G6N6x45(9pckdu85Hsiux|_T0owMVW-5vPWK_u`#T?JSnm-(`n$`~%+0AE4- zX}tBttw#qc!8kEgBL!>;oh#29%B?-8gH(b$0}Tt^{HIjr27n`>%W+;t!xdB?Pds*W z#XywWHA=1Q2YVOOVX1Y7UWD3}sAkA{Rm2$7eU~;%ZK!wNMGc4n>r!@g2%5T3TtP*m z>&VzZF-Oy##ThdFs#z?1lPfoj10pFKgCNPV3>ARO@J0@a5;sa55lGav28FH3 zVuL{1bT-D5V;2+jv6H^sRX$McI#E}k^($%yEUOD;UIKO~h>@78+lORZolZ(eAw6X{ z&-NvV50f*Y+S9~bbh^~bYgx$mozbuo_PaVm!C@R{L@r%nB_b5XWejL7ld?;5O97+o zKu3=!YIQlPtZ||-EYnd*<$fs4SPP{LR92m35{9!CPYwIePNoG*YZIt1WK zxPubIi@d0&#u(*}a52yYo~1zf-PAYxllqqaNS`7+^S@SK8=GgytL z@AVQ?Ni=Ci<+XBFx@Jbmiw0wLyf(=waDB~!HKs|{S@|UGF#(9v)f^~~+gEaaj8oV5 zgR69dCTvMnQ9M!w?15)n4S=^4tiZdmzQWstRiXtO)^OnZ0o^|j3-5?^&dV@PCgp?q z*h;f3piGgnpPfBUv8BRE-kRoI?3uw8ICEuGS}o?dD9d58jA48=NAbNv@E~5_PBqZn z_)1GHiL*!r+r=<(-7o~9NmEHcrdvE6fFuv|t8*0_ajbxbXINWBRS894^yoK}i@F#G z<>FZqlio`KHfKS0AeZNwX3iCsMw(QFxxiw}IALNjg(yPgEb|fPFZ*d!MZ{<;7?$4t zY| zO6(P-j9(nb_lL|v4@jrPaTh^Eg;uo-IfT9FMKtarBlAyMOCuVKksdGJxK;3S1k1lQ z=VcFFn0JU)A{9MzBj^`>#d4!kZ|u~*x@gJWr{mXL4aLI}&Hu)XOrGg^fod!ZI8_`V zRjiy1NU?K2=&ISpo&qx}rAo=g(s9Yv-3fyL$IxfOfzGy+orI6U{C5^vs|P7vKCt2m zMRQoowSH){eArP2a~iz8rYG`WlxfU09{QyffAU@b+29M$A$4;}W2wTDE`!n=z+n_7 zN{%ZN^fic~i`&1kV91>^UOAWT%DCr-9(olRc;nPRinXSS;bl};KLg$Z=?z8Upnw-= z)roQyU~0C4GH!~OxJjrw-0Xr<)c{dvn;m4J9iUAaTh!vQvUn`lF&OwXRy;u0)C1jD z29c;i;jwHGvyzVv`-G7M>lT?%p-D;dkZtim+^vsSAllTmSd_RoC@HL%)L;}0++l_J zirNeaYb!piColYHeTEllF9!UG{tD>!ZG&|TA@w7Pwx2|*u0318tQ(Hw;9q>Dnjt^^ zt?5gT1H@;Nz{)cyzg&>d6U#+K{?3*0txGLNb%0?r+?>_R0aNL`Xd_zyTXI{sxd$SM z8x67&aa-j_G?4F`0;<7<+39$_5Is8w@V?5}Ez|*>HWn)j<};6i$<=Zmthi{61ZFh! zhj>DOERe5^Gx^vpJ7*fJ4Lclb427e12oO{)>Mok9e=!^yvlSl|c!sPCEaobbL`pr@ z9WJ$S7$Q--u&+Lbr(KM+h;Ph|M4~I1j;e7A!pBbv#Ds!Yt9wN%z=V^s2N75)EgH)3 z0$shMPY?yi%4@4c6dt5N-hU1G?O$O~a*9+}gSwbx zeaGNVvXN&8s-td=Q&u3djrMFbCb>wwhy8zhIPA>i17MQ>_t)$B_|NOh^Z3tC@%y&y z|52#|M&GlP8-N<7WK7@fOQAkG)2jgPj3kS!kO(3reaasCT&OZ?moK~BS>eQ4H~_`F zDiKf6TZ>-Oac7&`x&p+03;+O{lD{TNUxktm?HY0zK&`iFP`R}R@~YE?N{lBA(2pHe zT79u38kO{W%j;}7v`4{muv8qzCIx|1jp3720;>eqG0N0&%}O#>6_Apz;moRGl&+!T zhp-gw!4U0K9SK-tghOV`;kEeS;fophZs`Mwm@lF;!7-wJ793};n+&r722{&|@<$yZ zCkL-X621;tR@`39G`_*RV@_Yaobm$a<$M_!_c@a-tRQQXj%hjBdw-k)qlu!{;5}av`B@jkd641@k1?>u!U z+Yx0^*&L=luX*3a9EFx#%x=MEyXG9gf9XVX8y`@C^%C_MyJ8fo#}rnjpSvSmQW40% z*y*tN(ju=`ka`sGw6EzR^+Osr%DeXZnyC1j3alK@IKCh155??enX&#(T>q*w*Fo6z z;fwMp+VgL*nE-H?vRBfw1DZ#|V;$SgmHqhRrn9;t$p^*B+u7uqL@b=H8=E;1tK9J1 z6PxqGwp48^u?LjXY%IshX%C9`^unItmlyUP6rWinM!~2^V!S6#TsDPP(fU8D{C6IA zAKL%poApNS{AcCO>OB6>Q~bW6_z#ln{Y&5vaX zNO!bozkcA}ijU>C_AFz(<9uA+80&XMyVvF~^Nn-vV=xYoq{Ac$ zVJqPI6pUmUnn>oCRWgZNzJ0Tcvz{zQ0VaA^LuEBIe+)*0a}HmEivu$^kaM84xb^ke z#PFQCBW$K6+zDFj-MDCU)(PRUI~okB#1@uLB3D5sOxW|UsuSx$j*XEE!Xeql__11z zE@9!LcGb)6Y?;{sUnF%qbgcs|#0V6Ch{HCKAp2kXy@cX%g0M%_aM%gYl~0C>@bW$G z5Qr)YMs-H}SV92Cj8rhjytcqfR*L^k7awaXOO~?KsQXySs+v@L$yQb+mRgW%V_8{r z>c(gmO>s6hGasP%3sQUMnU8rkO`YiEl2ew;n+iF~Eo#fmVQu4GY8efMu`Me#%T`@# zQ7YTWAAjV2pvdog?^>rv$7S{WLW6BgH8L6}*YeBW{(iZkaJjAVEbZBx*q)S8dVW+) zZJb_;!g!zXY-IfW4Ao2 zi|hht*R+c)+@X%?HX_@q^Aa|D=)3 zbP^|WcP&T{aT@p4f^?5~E!1f(oz~K6(nXNQT~zMM@xH!C+5aZC`v;ikz%AtM$07%y zw!7}sITX3(oWhOiPpzF;j)wW%H|1VlP8yUA!3~~exG@)}1L7D1#|L3jcRrw_A~&Mr zayoZEztet6Rs2bDPs-)Rzdj!I0{lA1v31$^euDAgVA~VmK|P3>=s^|e;xd23(k8kd zJ4(ZYfjEiDq$P#5cAv`1?!=XxS3ubbepB!3B^6snMDW}Qng+!-9a&_=uk-MKd zh3|$r`J6A-o+B5{ee=WkIh}zKO16~)RgafvwEcB1U2?Z(Mb}VK+Pf`*6>-O4}lY`wbS?9jdIE~ysbG5vGs#OLg`+Xv3=IjgH{-&bpL zYZ+gLqkh*p_Xtqr;msoqmeCOSr{@m%!YDry)!puM9CBG{YEy*t)^T$?^?lzSo4Ha( zvR_D-C=eB9377IvhQ4@T@lK!7WTG)skY!FXLC!IaXB{8f;UDFlk1nJ6BP^(4$ETpz zWWx$5NHF0G{~ARH&PJy}_0$m6cu=z`104{mF`K*a#mnAow3e0E$l&D&$&Ldg7r4mM z%|)g{zzpD3!@dmu6Bsprrp56S29h9SVnB@XDrb18 z`zYdy8( zc1MH3ox|!6QVGz?R71?M3%)-jC%tW0tyj79N!1;JB5C1{2G8 z7VbRP&G0fAc10DDI3KAo$?}il0V%_xHYw?as<`OF`rtc^b-oGky1XW3mXE*Liw+`+ zBYL8cP;d)!Z@c|JV@wn>$WF31E^=?>+Psa!Wrp@pA+>kPr5cljb#pxSY@uL9up~dv z1nbIipvjyD??K8K4dL{4F&7+le@@O4>-jJhXVE?XN1j%^y-5)v$O!RRZ%RhE0vQGP z&(&`{yje#+w^9d^&QkzO@gI|geh@}?PP2vpgX~C*#$$*Nn)ufZ! z%uthdZsz1Q$;sMVhW3o5DbKa#i*r6*S~^1$zoyZ(u@dBKc1>CL2Ba~N^auVq9_9sc zpOh%+!UB~rAz2iT$mRBM2%{|~OMY~^i$XWdAvd~+MR3;8=r%y>i(?L_UavDN{P;cE*HcQoCP(5sv;6-cvVTL4B)l91o$9EdQ`dv%&4Kc&~Sl6bsutIe)k`=dFO$EoK zZz=V7YO~$o!o7j=bx*mspjyE_4Mu+`pYpf5oy}?`*x(BK5nuAExt+$Bmct3bx|MpMc!{CKf;|AF1Ua>TJL#5 zOm5XYr|Usx33lP4OB?|!I{HP!WE&ky`9Uwtu*pUJVY)Fg{m@8_1wKm9b&0Is@g1F1 z)&*tKamUB`aIZo1H+6!kD=$#EPt8rJt%#_~oHs*K?d<7c35pa;u9abMhQR6QV##&2 zbWE2K6wBP7pt<@dl2iienVrEXA#d9$yTL^4qVWj0*cmxHpeibQ4YIs0<0*SX+!bHj zA)=KUgaKg;43yN3?HS`Htq4TLM!A64#L$h{!7V^X{+U+9(hA;wq?!@i&5)iZ90H6P zvUS?t-P!)Iqs&jGS5v!ucA=Hp=<8knbcBh=5(b0Iv-Mf*C2oQ~1!6XSL&N+4!xng* z5byM{j>H`dV`C9&N}O64Br&(5un`&aP~PyClSKCs5jWpSv8=k&)(6c!4DtTJ@p?VK za zhKe((YEDB;uc#JHk*~q|9(r_dm0MS*hI+Aib#Bz#xCL?6;+lrMI+vSz&`utIc^mHX zF)<#)X-A;(?jv5_r8g8Ir{t5n*hN`Z4sU_Zdky#v5d93vV37ii8RP z{i-*vrySWq#dM?S6HSCG^W@++T5+} zgSfRl_kiu^_3IzlP3?@{ai7eq?U%9tpVj{ZYx~q2?Z(Q~ejq0J|7yHmf1UOJu-0fS z&;36+ARb@Ztr)hY`DiPk*Dw)tsM)8fU4g@8!M>a$XDCAi`jX%ALKF=Hcnd zUbD5n25fzGZOtfRapdL5_lg2H*T^r#&{;HwPlYQgE_k8iD<=s|Nw!7q`{ylo$Z+F* zhb}7E%>>Or`3uVzD(w)MUKhPr08(}5=kNwYpw=8K8!5fwMK-K#9uXS)7s*2IkZwGT zh0Rfr&w)yKgAlnl3P3EXL4X^zK2)Vw>T(fVcFRMKm(>l;u;6w^4)j1!aJ)W@iL!j{ ze|b?T@&pJNcnRH5$M%5XdZnn#YWh&1hgRn5WoSKXO`=-%06|qv9Z7p1-u@`Xf=KO! z8pe0Cx#{yT=5#ZPDqbTc1?fw`FFon4-~IXj>O=AW*Q?8K^86pt=KTNhf8Q?uFJt=C zFnf5+4Rf0Df!kl=OqZV9^&(mq#N-$CbR{O|7@O7w9az=Q2uuOii#um=hgJ?$bc;uQ z*q%rN?Ji=ciJU|2(==B%>b_}+X?fe`jQO>q0!vD#twFY7^8;i-Pe5%}x=C?MVRu-a zIb1DbdVIE2!thYmCvD@gRV(Hc3*Bc@KpKj7gwI)cDaF4_Swe-s$Bz`62=Y8sFS zP%>KK?HTT z&rY1hrD<n7k46mn26A&&M=vX{XTT3cRK|9 zsV|`>ROs%AeiO9cr*W601va}#;$C^_0k}AL;phT3 z?k;J7iw-^U8**S4Ge!G%2nJm*cy;3D9JH1+NDvhl!%z0n^bg7h-c7Ey$m;-zyQkK{`ss#VDQcas!DjNthPMxDm zK&juarwPm|kSHBV|I>xKxn%B@={?AkVa{gayunAoL>NbJ;0^PVN zjm0G(9!#NNlJS-b49X8&;M(Fgm3$AP2+Xbn(Sd4#*Hp??>^XH>x2dvziM~}h@aV1& z*F2OKU8f)3co7*zGg!LeLa1`@MF<8C5Yq{7P-~XK$Y^h*^!iu{#QSYpg$8AU_m3D|w*MZ(FIiR_cw`UdQ>^AOlNCz~fK& z6*$?Di%ONeo%E+~eCyZNY4c!Q^AVhB`QDD8h`!^`0zc6&gr9{Slq>fC0v~2~{i6K^ zwTrBSu`Vl1&oYzc2AZ!io1m%%vZ^up@VS6bZTRy9s7C_Qc ztJ3s+e=vP-y>A_DXUA$9)G!LK{jSG036YolHu4a7 zjmqPNd`ya-k^zP5S1A7nghANbASli&fV;J`bJB*?_Rqf_H&5R0wT@0UcxM@_ZKXv3 zpm~Qa^K<3*kG8k=?V|m#lcQ>-ABID`<){{c`1z=HYC|CRE2>UB2@$8T&^{=RP0>@5 zC|Wi@-yalD&-VxSo}EP|=elYzQS0pZ_~_(Rb59UZ zfIZOZxFZ4t%7M@wFe8v`Z6x0I>AsxXb-kW1UWM%IP0uH1_s9lV6<0gfuRF)gOi}nj zp@wa+pbQ;1Fqbqpl5T{Ch$Kmd!G(th14Gdn2ZUscBG!A5^g`{1SIqB}#`b7C% z@eY9o0nVP&r88VPqq(C`009JL?hOQ`juP4D3PO%C4|#CHBVOp%w3w=Q21qrIBs{XwVaoZ3H+SWHn%cWokb+&Gwsc> zSi4-Ausmb0Qu;jeCwQYHqTMJQi0_Qq)Z(Fe2kwQhObIuf=P^cK4lbTM%k@?En!SHxiKOdbwBnomETZ)Bz&mwZ@4jvd0hFFe>d^d=&LgiMH zfGn!qQfJfx)#>SwbuW)k+gqonTiZXA_N81qI)B*UcD$Lu?KBI(u}q9=%=@T#ZzSS# zKN+~gZ9J^jo5;3fekyGnWXLdpmPJP3dmr{W!P=w&ZE|V5z^7EAP79+eH=Sm=1+t>r z`vv}f9x$l=t)uElhqS+~rXt$k<^tN^X5-nbyVhPzA*^^9qI2(FoCy+EZaUr`E*E-q z0ARGZse9r={UR(pM#E@90m-hu3di67Ko*|U46?b=g>D{HR#Rx@6k~6(XB7rr+^4At zNsEH)#OTVF7G{hH=}hNrTpVvlY$P`N`y|m(uD!~DysKN>d8A3gM^)6`B z{p2X3%UeV^Rww$%kh?T3d|2K+*;HY~jKMHr#}Kj>$hBfTQuZ8m)LcW4RdmUzul`7Z z*T<79>*lfV2cz5E0TwLHDEt|3mR{;?kN2T&Ohz9>4I~r6Q=}p+WzEL4A=6h64@@)T zgL9xu3V47qVRtNjGm6QYq$#@$ny>1Ga1c#%8dj`-9mZta?7$whh%a06#5LNmLHVWnjw>t^Clt8FcXVY)RcE7eBphIZmq7Bj+^+rhXBa&6aIYUimJIL8GpQG z>s$hVS){pC{+aB?i#}h6Xp%y{_cGtHciPO6GhYxTqNqu({@t{Ix3^Exg!>>rYSR#d zkE$CAS|`J=uzkAsl-DiZr^;ot<$4%TB!aHJg4HpOtr{t6$;&Q0wC0Lx5?@&L(5rGD z8Y#grjw9=qOKapfyLd7Rn@M)kY|S#?x+EjDFT~+a7O$R*dN{n7XEg~^klGkdE^bk zYi|;lozSL}DS#BQK zNkef0fYMQyE|(?*<7VXl)OaYCiKY~R_Q$}SPV`A*HCgPjde#(8_3OPV=iZ%Ad3m=R zK&sC^i>$jP@TQa|?b5SQw9ueCca}3ecKLy^o! z!705H(FoA^kx4*~EwZvTvk!D8^2?0ZfFh>}G;D1z0>uN@C=zu;FUI=@xjCYH zp)(vAhpnwsO=xy#FfPvTLa!4feLaIa1I5mx3uz8IB*<|9@dD}h`zC-N>dlV^M!LBz zqsK2r#nK@ROAbm^g*7_GHO{B z^vq$6Vm$u!d(^g=MH;*iLVYRpdyWyoZ*Wi0^{)Mn_g(BjNl~oOfXpE>Ieh)Nw|lsC z(AxWNQ3J*-j&-uj^m*qc8o&@u8lr)yp-|Iz2}8{2kdVXzRUk^Y7jpLpnVzw^1|8z1 zaJ5_&pWi_faZ^{fI>!i8g+-i+O@x(*#%@Z+{Y!8g!`{oG@^usaez4xLR=I12z zB-_mB$pPdw7k37v=S*s8IMPX@7Y`)ebGm6j8?8 z@9#r1?(ZSv3R-=)d2l)G;5AC^lx8Jb(mh8u-%GoO3h7;c!h#va5Llxekq(uz>|(^k z`S23^$**(+lZGoDNqNTr`oYhi?dh%$Zq%0RfS4m{UD{Cgf9zGls_M(x=2dl1R6WRh zdXDJH7}*#T(J?N3rFBQ0DqlKonbeB1PcaC7{~(9wRnU(tU7C;G81CvB<6vA{4tH0; z_M&c8%2HG~(V89Z>zOv1HSu`cW!X&oBFhNXd{DW_5}@cyN9rWXCvKDS9|gqlx*Ylf z^&;V=6r*oURGsiR>_~Z}1C8SRBEC+qlMYA^_OOKovzu4u`76tnsQH>>Gp7@OHcjEv zg9_;=tFFzoGqFH*6vq*FW1pbfR5Kz!$~hC@6NOLWsQA5acF>(as#8{IG4gx!Jm(K6 zFQXh6I?EjSG79ywFfY$lR#i_6RDHAm`BL(@d|KsJVf%-}{~orq-lnUB5Q_M7&`l!1 zf7DBkF`jfF&=54kM8SlvR!t6S?Bzp(^&!#BH zf77DvRL(-B6&<*3lErJOL@8OjlRxE`{CAC|TAaTy{JV8p=^=UaHVs?J-15`;_7?0q zB!|Tc#*ASO14K(5j<(8C=$w;mh^p))o73QrGFnAg4>0I%e_ow4Oowz0Q<4Ps2y^_3 zn@<>ojmw`DHqA7;wXv%)>yd0$8H@627$ z3uIyu0T|#NNgbFO?Q&K?+>BnKtE+;g@a_mV+zzmj=0|cI#ZFeDb+m8zZmgR7WybVg z8upGbTIKtUut0q=Tud{5jXg4OUZ$+9X&2=>N!G=}^%q{@{pujK?vp~MfS9zh?K!vI zjfq1XQSecDYAd%$92B|DKb=iXqsJ?R8FPTGnLiUqii!~U%M}HZyLP`TyHFrlPJGH- zc83%cO43nuOk}P!2~iX&@$#Q>lRFQcRM13XfBnHix{zPcJA1$2M9>9n|h{>PAh9!pV}Jh6^8FF8vKze39xyTMJ+%b~2ogZa^Z z=qH7>Q>3F@ta=GNZfV>B$r(OL8W-^jnN8CJHYop!es;QjGPll;)$)i4V3kR%m+c8u6@K&#v z;g#{-0Ypn~CWUGQl@ZaKaS$&<7zHD)aIW`1a)aGU0PVO~iD`T3QS1kaiH!%VCH>x9^ zTr5YdY3+tPkE1GNOlRp716x)ii~#IGCnCr?4uP??E%d<#bz4ligZ>yzvw49oed>P4 zf0j2Z7b;a-7EDq|^VG}^L!=d=zgr|2Bv7E;V##`kEnAV~U@)#$WFlQ6F|Hh}Ftl6) zc{|hUf~2t0>gurM9aU~djPL;L<|+At+7Ejwk`3lvPuc; z7OCM=nOZ6eAoh?)^Cf=22NJsIq1oq`D z+ta>X$OVSRo!V>FFdWdO-fkY~CShHqH$K87{cEOIe|2V>K;FLAWrdYg{xq<=67 zNs7&f_q6}gK|*(`yFcg~Ei9N4&)a7ofv{oEN!rRqpi>r~XYJg1l}|pypnK!xG*519 zP_B8c!eluBZ$(LR1-st1)O!1ZkuvYX*wiCYuv?^pSKR(&IiXDNv&(C<)P9Ln!^3)z z8=lFw`RE9nFhdrMu68xg0BQIP(Yt?dL(94b`*BDNBfj}%tO9Q}D)LN@_~!hkmg_~VhS{vq;vr5ZlPPj`a<2@w-{V16(mBH*Fn@17Yh}{gOXD))9hziS#j(B zdrDF;odF=juf8nJy%Ak`8!Xq=sPB(;YAP5=pSs*hkmgl(gB$G1s+Yge!hF#Ww!cu0 z%K9Zsb~*YlX-fwNZ=~ej$wAT!kX7?beXiygw);Ty>cd6n5{_4=q<7=Cn{hITymqt7 zgdRo+>KH3?yVmJj>xLK>>92Lh4{mkl(?xy1WGRnMJ{kIW=@!Vsq0Z*;%+I1X!ps;7 zWzn;_?mxMl{Bm!wVxu%=feEnn1q>&Or!G7;Ix5uUY?{lEKCRKNJXb`n(&P*ctu@%u z+CFR7d;V!2^%}prG^^nCdFaC~y&uJ_c9I;O*|mhsfCgai&;@AwMDpt}3f>=PvSkbs zVV6A@spe#wd7ExU{moiCeWF4wtY^%|44p%9bg@3@bSS4$q=vVF{I$S_Ve8nzS%x!N z+h3Iyt-a|4_L$8(!OhjK+z_+n&d-{v71ceU3EaqpA@~;-W%-mWR#$m-`6`_pWNm$y zpux1#_T}x>^U?CvADl8GKB}=1Q0U<|4ZX%KYsSM^806fbKY=E1Y%`22IL=P}H_Saf z%8y+YKiHxB2sR=P6Ub5n+)*#s+!v_QAde!Qa-3k6m#3GOruzUa(4TVrWbM;=#8hoZ ziId5vRj@4z{wy*Qg#U6OW_~kFkXjdw z^!vq%8nTcc7hI$W7f6^nIVOiCBN#T3xX-;BL@GlzpRUAxL@q9pQnS!L;L{;Q3u2Ne zh(2b}XX%k)5F%N!z~(toQt~2wOcImgpMWrJH$hQ<5YwJ{x_RUCmAi4B*V)5fjd2Qn z>#LTkj@|wuU`ccTA|QXOJ@MxIb*>|D@gl%_%=m#2D-`s!@TQb_XoN93l3C9ls3HZE zj5$3FR35`^J7*Xk-BI51VCkL>7b;~CwF^i69BQpw9ssSJqXYJ}?bTpxPNa0YubmSSnbOxtluS)T%zyDlSYiK|qv-S86JxujD->M28 z>A;=5jhd^T97W?FL7>MI={Z-MO>OiaE{7xaNW{usvm045OtMj92rw+Qn79USUN4ww z=3w^2{Vu2DmI-2?V467)XvLA>E6HLWlpf?ASL6mLXiZ*s+PH-sa27g3`wdOMnS$dc z#D})OZzaGM?yEb*_X2PO_u&cq-O~zRNj!#IT{PR36s)ft@Vk8SHK?Ehu!r2k8QD}j z&B?IaShBTpwsQ8Cp}Rtz&HbxMD7oWzUEbflr+tvBxn(t~pskb;yLbmO_H7TRE=Q)2 z?;7YiW$V&x@#3aoQHkqPpt{9&2na-S+bNlTCZV9wH5It!bTmA<*(ePd269I%zXtfZ zhwla0g^%Z=-uDUL`Q84*-sDG)_7?(6%ZvLLf*&5wm~Zr|e*H(NagD~;AcNzpE&car z@Sy-Cg8Ju7l+msTv`-_fM=agimPplm1X%m~xD5hf)t2KY$E{jv958wHcV(@5YZ>r5RYL`qn8Ozwf6gXz*gq^(dy|D`t>`W1`vBo)-#L#(nH!y z)JkudK%Sz>K*^dH=oD93o#}}HL zHX;>qfCkRa{PA%kxpne!(qt}`&^Uxnm~TTR`VOl3tV>VNr}0Az53#;?9P>^U$k19O z=&z+)MI5oHH${~}IZTJ$lD-AugiSkhfgW^W{8V`rkzfBctx#bqXOU`xn#3bN?er9kySX?DW5~y?WJ2JN%4Vma_mb zp1e3*F`jR>fcXOG5L+O{@kVnc^Qyrx69d4UpRaAjOysw{!5{+d&U=N?B2^|UjCBZ( zUH$c>CLN!ONiz{#Cy_hoN&STC2L6{-ks9e*rqTLS{WI!V4W-rSaCI6t>89PO7i$#+ zIi;b5p=xs20VyUXc=yg@NBxva>b9yC>hZFD!1*bZ2-nnLx@>~SY9vp*fQ((BqF7z> zMC6{rC@Ynd)5R9~ATo=&Yy=f;PI}UFQ)|meO)xxD!5`I*46*hpR!^6#8_UCNAuWHZ zzKnB2vJQFcXa1T*WUndkM_4?MpqPWqNrvx}u87Tv!owR0a_8`aHyf5w-|vBRB+&ja*DWzJ#hH*Kt1ze^+NE$}m(gHMB~3YWZ7%C{N5m^L3wxc2GfT)QA|8VsG+o>;korp)n{2<*i|(hrl$raAw9oII^DbtXU{rH zr8Z0D9k#mS=viy-)Zw0VKihIv?%^idv~wFoJC@eoO05@9UjNRvQeEYFPmq@jA5iDE z2<0A3^6g|bi9ENHJTvT%@$Jx=+g>ZjFsqvB9Q{r5ris~UF0{wt7?Iv19aE7F%4=s? zD0LO%UdcWk?7YnCT>tp1W6j@TJY_3#cBhEzR^U=EWMrY9v#u>Ar1)Tf=_z8F%J>ZP zw)z0$;VoaAr~Cqz&E%Ft&F)H;F~QrJ@tC{$PKic$aJ>l9KbY5c<31?09?Q*qs28Bc zcHmw4-L8|zUyiWQelth$gh%Zo^gXdHk~>9HhJm3DtmEnM$KKvr;c50D`eB~V`B+c> zL{EPCee{*jiYUiek+H%pHHRVwVnn8-MffYca|Gy-0O5JO*uNn$lrrfK#}yBQ+5!Xyog zIhfHDB{gNa167k*=o68j8^M>cS4LVJ_%bEw^f}HHy)JyrYd)NMHCMm&4&5(x4c@p% zYQHZ4y&V4@eIFlxpaRdOFGnli>k|&fuazhufXl_q&TluPXM#&cAbtyst*foXzbJ3{ z_4{QzCHHU6px&;ZF}Pc2@qZEd{Am{;X13LQ2w!|y`D?$nUIzm-fzS+VObpf)o&%nG z*H33bQ{218%elT&fqN`-t}nA$5#;5cGU#AwL3E7$m@HsgP?~yMlaSEN{0Fb=?yE&P zYvGIv!Zl-NZJ-H*8gtAI7(#>D9Ve4U7i?wB50sVBcwdeHW~D(jJDCBX^P1Sw>IV>F z?cVL}?d6ruK&jz2YnpcfPnwlItK1&%Pmj;F*wQD4ZfFd9yLSaI%VfW7Wi*lRqtmiV zmjp(?C%5!VlH=E~ZJmda3 zVbh!jS1`HG-Tj8wT3Hzun%w-H_-{pEOmEeGh;G(S1wo0>ivR90MS5+RQ6ukEh_4uS zgvNuJ+C>;%8A{&;9#$?{dVcUGzHjJ5gMOolzmMFD+rrJeM^0RNNpjRE_+Z@)z=coj zJ_sCprz2cN^1fLY$?VDJ252VLHcv?+n3HkdAtjy?{<2fSRz$nT9#<@82O~Oen`1Mr zs5;W&Q1~I^GGO+YL;DgH1Wv!KDun6veSLpsRCeFc@1WUz=PmrmSbJjcd`h^g1_Lz!;$Upd88VF4PzwLj4MJf06osT#M+@F5|NX6 z=_SjB*FQ6)%BJ$ifry2CAuZB0B3(Jyfr3v3fRuF)XqEkV+7C{&;5#mk4zoWaPZ(Jg7YktjnyoWa$b&JK~J&Vc}K*cyj9pgo{00UtDkfOLX*EC*OCvTqI z3ZU;)>PNGI9HL@J7W%dJy+$x=LbuQ|JEv3byGa#oW1DrDLO`W07%mKZQR|NyxAOJ~ z6q~jYD&8sn{w_{nwf~SC#H~4tBQJ;EH2G0OMASUEvLw&9MjeN%6jxd+i5hB-90dX_atavJ zyJr8nm6lk7MoE1uoj?Cc1^qRQ(^a=0v9duxsUayOPuFZgZpuFUku72;c=&uqF>l`; zPD3~hYbZKYieQIqMnIfNUw%Fqz1jM7gh|w-axwY-TTfT>{fn++y~qh&7TZFzB_Tr5VKwmI!9v92v(FRD>RZ@|=zlep-SvO=FxV}v;f-kz5t*2K64dr`4{5=y~sUW{noVz7V z!5Xp-8}2s1-1O$K^iyBU^ZQE0=(KyE=9Tp+o0`>+WB=VNO_ESt#GA0ONzHLxVZX~4 zTvbigW{R4E(L;Mu5FnUuM>z+yYsE|j*BUPwTnh6B1#@H+ISYsu-!uaRhiBnif#p_+ zibF2GB*bf~4}`d`DNZfPs4sDijM-LU|6*eqQG(3vwyS`vFv8gHT6VfGd2+p9gJUZg zwvv^RBx?^D&?xOc-Q3?jZU7De*l+f(Y9sW?AMYooB{4xOvV6ja6 zTQI_j(LV!1ZF5RuWU!=A7n4-o-`Y($<-IXzss7>;hE0fbW}76YkC2yGMoCT(r?)dO zkiPTBE)9wy?P*5NbJUzdw|^WY+8oTC<`xp0xktg-W#6CFW+Qwf;UzKqC6RQ0q6+0U z*r5Q}qKk;@EI2W~SI9-K1Ve^G_XEyfh+&DBVN4N#r?lxggh7MTxln6ak zNX2Ec^R}iZGY^BI2D2{P02u;BQA*>{y!4GgGeqrIv3wT3K!J;7oLP{?U~U>@FWNN( z@wTtk?X|@y027|Q@ic#6^zSk0zoND~6$xIFRryW_!xpK3%pOt9dW&fv$5(qSm76PG zHr3Vg70YJa#c><(J%#V`_ndSdgZ<0Z0Zb&^UxHyFN9*XHfqbtcIK3my5dlt&GrkSS zw*p6Goj@pboGb+e>O)4=6>G^js6r-Samz;=}zIE&0+CIKbKyAQh2CiDTywT16O)#-VzLDWSptW2**hZ8YI`fKRCL#hqdj~z~)_W zd;fz$S;OvUHsnlj1m-tT#`7Vbkl#dVYVS1?=u&H{W=R5*a7wd6!KN+!zCcpUl;)Hz z4Xpv{P>TYgCwrp@agCQt=(eqInYd^*kMpGfy63t1V(0LEb2l&l|*+@c5yr@Zo>Z3CDk#nJs!fT=2a6B?pAgN zF9~Fbg&iC?p#kv>CLZQMltdYI^5{)#kp99l5%|4B>J3U46};XR4v=~VKhx5EZdLUD zsQl%j(qC+og5kKD_l9$FCmo;5;vG6RZk37~LdzZMyf8cWrK7iVHsUOy7hwSQ&3Mp;3Bj{!d#UyuGN>u?{x1`LTnKCT};GX}WcF-hi@R6;jn z#K>pdXenuiZxukusYQaX71__HO$Cga(2nfY`LbB)EgF{C$4LZwdsN)`a@zFR;^(wX zxfvpYJ70mH3a@fBve2%;VJfd~?_I|)1sz$o_z}r4sp>|u-uQeMYEADuUb?HB5i3xo zYp?v0%^&z4m}O-7C@yd->|#Wnmqj#Chxi% zQ4DFD;j1T-_r_W$?2>$mBAGckXyicQuP#XE8Emqa<*|l6v4TZk=~Z+3mL z>HWuTjc=-XxQbylgvTBZB}yP9!%uXeXpo0i9JaS%!|<=g>6F%{vTC?OeB&n`kl5`i zkek4-h5o_co|%nYBJ71vc2r(a#A+*<4!`Pju!^H>ham&Qenu(_xsNWU9WBysKOLWH zjC;1OC9j3U6P8szV04GX>IC4#Upd*0`1C`j$C9rc5fF9dbuV6^c`kERI*|drV|fo7 z5Gfkq|^Df>Le=c_wCXfZc(@VQ)fZak)eQ$ZULRGH$l=F|8f!(-Ow7em>+N#ce z_N*=m;g6+K1v;O_SC%qQpt8nuNRR8Zo>Wg=Rcs_m;%VTR&L3LS9 ztoP`^Edx`1d8KOpuRh7WqfJxOIq3Zq2F;(^Ob>c4!EOJ(OzZzipR*!mK0Bw+KN7|l z_O=<~IkuL~E$l^0G(u$2k48b?Eflb>3?Y-dG;?SRS?Q(A>stZFW-dVhYncx>)5(OmXe}#JZbou?cCp7wz^v@-ldn`2cf7N4#SbtErlPiw)p0&ew z;M=6WQzMTDY9jnmyWE_-`tQeci{|(-NeScu+HWrVzWs3`j!anoP?yDD3d-gBgx45b zWd`jPFyF&eP(OCLV&5h9Ocl1+88$x+`P%se$|zVSv(qXs`C2OyiVQ{mWYTOj+S4=` z%;Y-tut0mg=|Ae>L!7@%zSq1f3gwTBYL#653gLtpS~!<@`9vAGaB>Z@U(GgZIt-#_OGqe}VT2Y1|FYk@%wNNB#RYietzk9sLy{`@$mBkC02T+D}Y@)X-Y zOipma{a;7~2K9!!O$KvfJ~|GDw1^HEBh=kG2A6QisOTgnX`r7w1Fc}rK9nxm4ObuR22P0g?h^<#pu}^#E-hDb2eT@M`;QKi}(6O zYE@K3@osA3_#;B*xX_YVwm|~LkS7L&6eXQyRm_zCOx1roYANLu2gb|kc6>50z^Do` z9oS}0;>50(A^KEDQ|?(-L1~%QPI%iZshD|XaV)aA{GbkbB9aD5$lbIIkC%ig+z=*_ zD1_v3hEkgM+7SJYpbK#a9ZIKaR7M!V~%B${^F9^c8o#tbB3Ys z-!d<2u!w?*H^Aruw(hCt>Qa@yvN0KoL0(g^;C6i@3@lU*4J(+*FP%^kPPgZX-J+%K zRMl${j)6@)DENfNl5OjL$`ZG@x zq!J93Hi4O4zpUs_MLpz|PMwS$TA(*w;E!+CF-YI#>9l4f8QVPxLUYdKQdVc()4w5S z7>YhU;Q4&w@3}#+T8x=+-S5e!Z{A`&s*-u5jRKgT|4g~w#@Ourvo}fA!4=AB8dK%> z_iU6e$iIN!2FPm@-Iv<7MnCcY-TpZ4>FqH)^C`m&bSWziDLjglQa3FgG6l~EiHFKbIDOUvf zHt+sVfv9ojAQp$1px45SSVEP*)~_K*AHO}T2wQpQ0DA(&>l0%Z$L8_VQr>$>cEz%? z@#eV>Siti$A7l8OwC;xX4w4&uh)~enSFXc(q4NdF!!=Rw4VR7vjmSN2H(VL>k$M&y z(JDlNIP`OlFp3wR?2$mX)bUKr1~LOhp!Q##9-AB8#Lxqgf(D%FfgL|52NaQ;tY~}v zsBB5_3+KT6;_^vWB}*}>a9xo2})$ki#`MMX`o zEG~O*Q_jCUC#iOzhJ?eH6u}Eqw3LCuQ=~5okW@RTwk!9&Jp@rUrre*Ic3-Uv8k)Y1 z2|Pbw?)05+{vR-R>$l${W{A%DL+rW0a0Jy8$j4RC53mw=XLAj@u!f**9^uYU*wZPYqa7JZrbGQ`Up~&Tp3GXDU##90qY){gJCV@3a%ns!%vV-C z_b(LlOf;p1Ld@ryz}t;Nc>Gu<4XsMur$Gl4|J}%+HHNtbXj?n`Yqz=64|8lj7&C%cl#_B~H{({lB3C)>DL$%9(=T!+Rri)=yXk`)g=rKp@I} zxzp-S9mp{#an&Y4>V_Do6w?(@-4#)m68-ZL<kw0FEBHa5T#Lsj<);P<#wc!4#VyuM*s5pM!eiEF_#NA;4dFcS4n@tDr{+$2 zs3M;m_$}XhY`?0VDu+4C%qDyIU{8?azUUg}Qt@9gU9@*wCUC}@S6V(-W-+uAIUKE; z+n-i*;M-Wi0o;?vCHEihQcm)#6|ROF=}W@e%;?RbGRSdrz5!~u6i6XY$#97k##80V z>qavwuXE?a+rRcWV9Y;&_IT>}G7@QmvTRO=`(68}#YK#aP_0uZKp`P2{G8NX;XnL$ z+8yZMzT8hbF;gO?pVtvc0zz@qy@JvUoKK)~3UP8*Fk|C8p~XMxYgqek-}tML`(AF1 zr>-TS(LGLub0sh{WN=6C=oaA|9H-!9aMvAq9=M?yJuew6Zil~tM$JAw>Uv#Yq~8H% z&t|^gr-6zl3W+kZJUuM)!KKumPF`+K>)bs2a&SQ^y=%1d31ijJyx~-u?u%A}SHC0R zks`7jBb2AQ3$GTvaln3kGE-88_uyh~K`h{p${W=p=v*gws69>Vk>lz`t9eIRMs}Y+ z-S(M6vsuTnr~T##X!92nrSCm)#f{>esn4I+?jRWb;tC_8MA?IZAJ?rtDKt5lga`j^ z*c`Oji5{njYrq5!SwN7Vus#fh;Q*64QVnES916o!!*bYyG9u<=cP8B5=@%}TlV(5{ znw@RIE`=7+fZN7Bt{#FM8xn&uqF%!}nk=y_J*M?}1u;swqjg+sE zA=W39LnYW;1F_QM0&Z2GqKOMC&-qb;hzJgt*u2w96jESm@bfF@B9|mAJ`BJLVAN6~H8niptLBEvEodIT8nof~pE-H1oAG-bqeVNF)=vC($0R7f&&% zqvnYZVbJ4DbuAsYV7=&V)@oghit({M^8POR`|Si!avX*BtVBl(X(^IbV@PwBqD%aP z^epPb#8LGpp8&X3Wdo|zBLlF5nK*tptEHu|ELhEZTE@A_A`YKWFP zmppKkYAYB5B&J%4kc?G`A>ugL$oSDlds3Rb7Z)2DN`RxLRCo%OPJgRV2Ejc#L(E-H z5{|e7^{i3{;xbRm&zLRxP<3KoRkHwV4)=aQ0shfLNY?<|M-9_S^)GNEzlNs>9gfF2 zZAw!g2s2MbHjtLOSX|CsP)&0k#I=><(fr$|L*i65@H zgToqu8YB-!`yiw>$0D7aGY=!utk(1GUc?{sC|R>GUSn}em}JrpIE3h@1f+eZp{y`g zrjb$0`M5C5q&?^g;<-=)KDIuHG6I&7jm#?j z2jv0^2A4p;2ujx;VqY?-xkiiDW0j#>&M18l#ve(352L7%NN0TyfGToZL2Ybp<{VWS z7$f|1l@rWCwu<7;J!Lg{_Q{g=J=MjMsGH%2ZN%M&_J@6JD~;SW&_SM5c-W;cx0g-Q zNO4k6?&^b%8O`=fnRUV0Aoi%TEu~YQ?=L>PiyvDYBZS&t#$o0(&P!FBunQw?_XVQR zX3}$&ZKa{BH>p3Mho9{S$-h*U3N^xkS2&|aV+L;-OYu;#A~SWbAMHQck2X~)AkF>M z5>3+`5By~XIIq|(`dPOMJ|q|9^>&_X_%;oNwGF@Z4Vpr18EMn8|IC1}2o z)?T6R8d7X`ixnZQlM?N8DX_ddHw91ym7QZz0+3+Eb@)x~fU;&Nf3oy*etKIkY}cBX zk9IYEO@r@!g}J?0nPCG~&S&DT!#%gL2`>t0JSCHWYG2E6ft z4t&MGco@hrf|nQx@LIp=zX)xJ$sc1zFm}pWaFEh!ixu>kN=XB75-Rf=*6<6zS(e&= zSgp%$48;icK%#^eYHI9i8G=>7LFxdTT?$tRQc1LWNrf%{ngOQOm%Y%D4*Zx9oyiED zI72f1(ERB}@YRKE^WOVTvsa9@h@z6{xQBrw-ASivQe=x$S^=!12g|}gAPO7-@?emY zKQzDzXSTwHvR~-nWIq8*@oP>EMsXh;u_6iugm)w`CI_9e4c0eI!c}AGio4BE(bw%?=hMo zJC8cSnnM&NeGMOoRLG*+!%)+#$UA}iokTe$onyT5?u%Cd$K5h$8MxZ_P2$75EBX(B zL*NXaxQ|!(%Pkfo-k!sU2yvd{RcBCy4M%~t`c%iAl|TD1V1sm`umj5^>A7{1a8q#y z@RK;D>7y1{+LosL*0u&$YOf#py=;yQwJU{5vihpqR^fOba30c6=lr3llLdO50_ta8 z73Xm~Ae9A_9El1f3PPd=V+QSKz0Bo~$ZA-gIRPua4gVn4W3^>L&lbuZv=WA_A))8P zUSZP5|K*~*8YI8vQSwW6?(Sifpd2Nif8g!knh%iKnZ!s5H|+fa%;KN?5Dd9D#G<@R za`mcrhjWiot9$c9_}2KvB8f>hi>5qBEzcV{`IeYcvWHlK0V}2_Qp}5im!;15_MS3$ zkU=8d*)d&3cFHGN#V|1@E-GLvEjNN)sXJt|^G!fVm5KZEGF?UfokIn&Dm23&44EaB zo{D*X9JRUu2XKOFTK zZsXWd&VR&!yW_SQmvD`H6Mp#NMAAu=&{ExBWp0XUbDDDF>2Z7xw&$JKeK$M6x2-N4 zo}tr=rm!MO7-o>lR%&$M^)(e-WFuW@(I8Q-j#^f}73UH2E;#%HIQ;2b#)j6*S|cXG zWhp74{|l_Pb{@!Ied?51|Aq&(t$p`n)h7_SZ|v*M&OR*q(;y^~Kf_MCo2f>esvA(2 zKtsIOzJJMQ@6z^+AZ_aPdINZdr0^49&_`y4^-90yw73lijaoZn0>JRVmOJDDGOQpD z_|*zBbTsE>k@oO=dYgJ6RZof+72fG^P;j9#XI#HeI&ouIe+x>8RJjN*ksG$c67Iiw zCm{o)bnLs%8b3G)z5&H!6hc5QeV?P*l9Iy(w$*y#J-aXTyGd`l-dNG`p$Do$bcn`! z*o>0k=7GliICkba2|50Qe_i~byN~=q1`6S;`$iShg7D%p(xzt7pFDi#9&PYK(F<~Q z19nemN7bQA4Fh8R)_8-Vo9LUhDs_}@pW#=v2hWAgGN;w&UFU?+v@ z2`i?R;wSWFDSn%6rl~MahoO300H3(vd49aUp*@Yj-k7me>;I|JB$3_4h-G=@e5a(r z#9mNa^sJ#p0T>`JuLC1+E3ONkeehb=O7cX!U7lQZpS@p{el{MT&Cj3Bmg9@qb=i(C zK-p1}@GYjkj6WR2xL&RCwR)dH_?u!z@58E@0{iX91Rx+RNOt(Y(HKc4g+gYRDHJ2z zFqlnDTC6;h!Fgd0n)A2gW zf49O!C_#PL2Of97B_ug(h9_;0msGpcSMx*a|Jje59%mMCuD7P0mMDpJ@mG&l=f}}> zG1!+6er?$iog(tZc08q(v@uCQJEqE7|9hmM%XzOraJ6zK>3ETM{Nd!`<>2J8bSzbY{Ts)-!e2r6 z8(PhzrM7g{NyK;c743W74x26Uhp1CUb^qS*Bt7!|U3k1(y)d&fGb8DF0Z``+($(9R z_|^ygAc@}PACZ8A>I``m#)q9#28#FVrii=Xlg$wVS%Au0tlVuk6-+og_SFI1V*lv_ z#D!g@i3FdnUN9pHCI*Fj6rfh2DEGAEuzL1hI`tZwiQmoJWP83r%cAOK*kQ+>!)T?U zdD&T3{iwaz_nn=+?ahXFU3_{Pkr%MGvbL_Ov8k%EV#OB46PXc*qU&*~{P0cH>m~T| zWwce^R1az1>yt)3;Bz3B|A5^idUN+ZBr}Ba#Q(>?Wady<9gi_@$f^ZRCb{Ez1g^US zcRox zXR2JTU0S`cl^AU0h&V+D;=AHR4c6I;eEOi2qcu>{=Ig#DX=n@5sDxB5cLR?%yyc|v zy(P}wFL+KZ#JVSj=;(Il+7B<~&2hKCGY~E-}IAg&aE(-URL-(GT2oP*2 z$B%lIJ48T8GD=+XR0J~6h}&mjg8HDR4u?MO*fZ*6MA-ts{mXH72%S;Vq*YY%ZI?TGp3MloF?Jo1_weWTu+ z8|}$Vk{19ab3YJ)J*=nDdt3XF4{1pgZS19OVa>LoQZ}(Ve#kk900i(GVIP2TulXg8 zgbg`t)o=;TQloinY*>5Z>eZT?p?0PzktoBE<2LBs>;5D^)DACgZ&Si_B~^lh4_|rq z!*}rzU8ceu`*73d7Z|ga>i=-#`3nJI;qZ%MR^T)yy<|tb z%Akz8u9r=Xe@nlNDm_j6{iY;0F^!92el4yGs8mpfJ^mI^x&f(8>;Ac#>p}O@seni0 zo`Kla%{?@4f1Yb&Hqks=#1w-vcn%7KE8P0-dI&SI&cEIBY$Uaf>*7Tu%@^!KNz*k! zC3pZHY89gn5h9=mT}xOHY&vVtQw-Y>4riBV)dvGZVGEN(*%&U_T_S_H9z6cIIy=Q% zLc=~rfsx`2lG`>c4!WR?`qYyWJq`r~Of;w4B)B!{G76xg4764X;$yJh@Q|8UkJsTu zDi2A|$cngwd7~H*1JC*v?pis1%VKd_SD$Nz7~fa$j#6ewn1C7I{CKYxxEnz#k$nQ` z6JVvxe7t^9PzTLZo9RYEGLTP%WPxQbWClPKBLZA|@tMcV*@g?%6q<@PlM|R-tbZ`{ zfahtSWCf+JtBB0+*n`<{&eqGVxg9VDwZ1G^^KuaDzu^+oJ%?X}!p)G9fGkV>3&MQq z5m6gzL%4_B-f?ew>34QJ3Ktoaf?4l_6SK*+qOKRfG@L)3dqvbOkcwc;ilho`Y1H1> zm_ATG5C~<}NDXF$iX5@-GtoXS5MBNO zJ2}8>sXozD=t2k=-{cx8Eo@8-MTdD0$LvAMOP*{G@X(S>EIm1@)pLRDX}oX z;W{rY(OU$EpSU`EW8^Ndu@b=++h!|2MFJ^v-Cu5>xA`9Fj)W#=z^cgQOoVXA*|@9H zSfuYHt|>!P{L`09umUY|8|7Cf*yuaLl8G&s=hJG_tRG(~w^4ro0O?(~fhJjyCqtRgR^XP_m zG>+=V(S%Sc?V{<*lUleNF%t<#&N7_U zTFbK)v!Q!UTkEN3>)rkA^4bguJ9&Pw>{xrxR~1%w=fquG&6TjVxom(r_9fk-pFK(W zYhc4;Rolq_etG3KhnL=5@-ca*QlC8Vk`8yA+hfOh;th2`ZF)tz`(^+@Aeyu7ffpus zo0f=BmgjZ@PVjff1z7Qkk2fJ1FuwqnDFTd79gM!J$+=oJb`*4u)QMwVBfAcc zMRd*lD0b#8h&WiA!>U#e(&08n463vjaqkqCADHwsDQPeZy+LU5PmIMlX(q%$mb1TV z!pI(Dc+GiNo~&V2?}5nV8u^}%j`NRwSTY2QIB z-y!Pddk23J`x>_)$_{l$3UXqNMq39!8dey$16>%atOUw#B!V!s4b0=L1)|@=6}EUk z(T~lfxOvtRr@*P>exB2hygZ@>Ic=uV_xU#SwA`UzN8sVAPi)XB9Zd>u$oCR=LrOsG)P6phVKVU(Ncj>`2LSgAf3>&NptXY;epE z5@fwC@kKa3HW~~!(Kp({Z2Pfu*#v#m`7`=_rGGD@YPBStq|UU?=GkWktmAR=&e4* zpVFZR`2^zd2ujRItI-!B5mY)ZBc=%kC#B+$_dxNAyky8S3~7#y9YE;k4;khOeN?fM z?Mm8@64`tEg3S$>yOyzzI>S~(%7|IJ4JscMRqz^V1m=CX@U-z8G0VS~=e>&410Pm7m29VUko}6E}_#_Lu5g@QNH43Ps9b|4`T>Rrd2N440D@-hmC}s?6KwSjM_NXq-W8XP>ru(4+?;Bn^Nv3WLJBpOaGB+;v#^`aKeVzbD zI!A2!%V(PV4VpqxG7txBh*Z$`{BV+|IAwzOBw`xv`;-{b*~v^7P17hjr)&o(I|_w@ z)3S__xA4NTp$vxW&IMjEWYxg9@X1Wy20(cJ{xQZo6oT!qIK$bZ)2+S9O{~;R^F8?r zen7Zhe)~czESa$`m_p`6CV^YgSX<|TRY>67(pKaeh zJp`~E&5TcrYAd3aF}iw4XS@u`W%H4U%)r*h$gq>FDdADgr&OsY^~~5gZL1UOM-dpg zR6**Bxjdi7V6`wy-=$h-iLy!PM-F+l#i%y7KF?~EPA9rpzMr;*Ly9JOxHT;vl2Xz@ z0a?O*;_q+~F-M z?PV@~-cDFu@*#`G&_YATmDNT+g(WRI=hcaz1b9;8M4 za!k-LFx5zU1qX=5U5PlCb|-%P7Q0kc6H_=&s>7zDK~ZPW1hqL#N^<_u_Fo}i+Cerh zVgaYI?^Eq^ALWe5uEk*HC04qMoSw-&vw$jHss}K61)>$x@-l!UK|EQOhPQhMYb=xt zhY}(WEmQVoi-^yBO|gBnZ+zxtV-1S~qkPS?oJDZVQo@s^T0e%7ue;EQr4K_Ims352Np zNN@>uB0&YniNu2524W)1jOElopD!h}Ab&N}lYz3cV`u6v?U{w$xuBHud`tYSJa;g+ z(+vl%ZxpdP(}~CD>wVAdDjzLw?ED`#iSuqz8vr#Ghd^^xrgCcecg3rxt{Zjn8VX}k zVPv$bWIPNLrx*ENfSRIs`F-t0Tpi#65IbH?a-PfSeMiEooO^iNz&8&a7q6xkkZP8r zneYD3cjUC1{mqE_8u`eA>d4h2JHFB9`J(EYc%4hUyGMmyqaGi70~c`b@NwM&Unz)} znmqC1SFgw-4<%cQm=xoM2o~bw{ZT;OH-vG3s=EHI*L_8yBjk4DydRze3{c)(r>#L8aCL7w^)X#&fm>q7AIrTF#cn-eyhu#1*hP#8j2 ztK?pk$2qOVo7x#H!mN%P?YJeQ(T@24%1E`@yW9;P zD|v3iX8>h$tccfe3H~VCNS^4jzmzXI29Tx6!a~>Uxubqkh8z1`n*lX0K+q=mNx;q& zH(t!$Sb2juBKGhPKfHBb$}7dtn6^oOWV(9&tLy9hjqJqEUZ33Cas)zO)LFuV4uqM| z<^qp55I(Q9_81`@qLS6`{lSE_?}f=pBW8PV2OSn*=lES(MX)&=l!8x`L<%z-B;-(J zzGtZ@2O3L-pf-7b*nzyjH*T=rDDMsIg9fi~(*7Li7Ku$zZ~+KB35`}Z6H@TXr^2M+ z^ulDNMxf`L4c=cNHRAyhQ;|GPb>lh$Q`rlE`M|b3`U5#xp|5`wj+RuTm?UMb5>E%y zwoJLfpmrz^7}yN)@sMsxx+TT9{$a+=KX#5whBYdLO*yV1>+jZ>bu^{*&|T05@amH! z&_~hnG9Q%+7=5+1yQtx56|hM&gVa_^+DKRYrLBZHl2d9B9gN|S^e;#~$JPQH&2O7vh238aLmO$hYq6ed{ereiNHY%TEa-^fQ8l4@<#*rHDT}miTS5?J?&JzYRGhL8rZ>Sv*Uo6!u(Rs&XEp<<{(&&=iT)@YU z_+BBIomoAe-;%X99myaN`GE7gZm}zqYM563E^;Hio>cPJn?-9GUG`QBq2g`dIG}Xk zFfB}TRa^|x+&qtkXs`PvgL}-Vz$4OSCLbuY6+_{ zq}tv(d~iXufb8fbqkJwFF4yShgiQN43RWm(_Rq}3@^z9rxG)Qn@>DyWq5b$Cwt7&8 zESbVfO~VUi(LdSZK3~t8T@QfDRP*w!sfez^xTZ#VO?pOAem)FP;2JBRCJNnox=%~; zS$vC3AOyJ+DJJ(U{zWF#l4NUnxn}AaC(#`4Za=gPTs$S9BI2+j@@;)6llSmGW?Eqn z@^bt2X}oL|1N?E^_X_i#YAb_fWYizgjR3s z$i3b70zAo=uX3!DI?S)C(N?tHF#dVcAvy)*n?%7Wh{#!Tbj(}}5wY>MgFoua3{y$V ze6&>u&03M6!^e#R(tWCq>BK1(YwMbmKW*(E9${ecqmxs8PoP~5su-H;ssPBIx);bq zH^7^O^hE-ve*ti#Txs?udm)2bpWhD(FbI-wm z3d?Wz!`Q0?%oPH%Dp@WHn6Ra>VoKOS?Y;`~s7P~TNyPVRF#B?KP|l$n_?^o0G>%RZ zhV1X)dG+z>EVo(|VN{R5N29AUipG#vR<$-|tA8IuPnk(&bjUOcuj-BuBJVf$^x5~W z$xY)>g{obYueD73*d#$dVp1O)Wc$VErb!MHUGhTLo2jstyRD=;FiaIgH`ki{rKVyN zXWDbtf$exnYv@~XTjMGi7U?WNl@4x}X?-54HxaxqFOOXy{R@4RgPNZf>ama1YLT}V_bI-!sh zqY~zvfV{>-;sVO5sDSq(Dg^}ml%i^$V;P4DO;$Z7=>n0=;HY76Xxq=lgx2R*rF_-^%u+Q`)Nc{pu90e7`!mo$ptt zZ0Y;e$8T$Eie;td4B(5SmX@+0)bZ3PBDktf6?OSVO05=Pc1$F}y2l`AGUcN}Jsf7J z)oNH1{MiM0{sP!p;&v`Q3Ut^9cIS7TpN@A$$I`n^ya079F$uFr?tq-SSu7HjHT^zX zG5SF#93Y$Jfe_ansL^x28vvv?lKngJzl<@%ECaB5mT(%uLb~+`^+lcObLd8}@`U5$ zqCVYr0}!`%sm;aMF*!bdf}EVq!Vf3bFoT2E`07b+72jt_-rLi2g!6Dz(m$qY@6dQI zv+7vnh8h%$nkrNJq-6LeLub)s`J7HjhWQ?VwDC9=qo!@8Gmzak z5O765t?H*W{q$N^eHcTz_>8bU{I%8QDy`1@Y1HeHdHUG?Bg@uHKVn<-UWnfF*_}3b zDR-NTaTO4n@?FC*&}!&q4=t@hp6=gG=<~DV9lNJanp-<5V(lHaPPYzE_aIZ6QrwUt zVwt$&_a%~SH;ReG6jB>yZL2W0l{?MW_Q~E)&FnB}HMh@jc*$aE*KS(ocT0B|=*Q7x zi(>SCBQEOI-iUmtqOTrwQben>c0EM7*ej-Z+(FL1XgiDXSgJNe043*4BV$s7RZNjdT-1r^u@6M(1PQdDbBh;|);uux(TsGY&OK*0Z zNmcYi_M94c7k&T2KSzgjD)M`eR%X6bV>fcFY#7~%B-3ZF1)P&MeMlL|rN*m>wb_A% zq_0UiKCYW`8^Z`}lOJuLx2Dt=7=2ot*)l8%8u-Je3JTxzqN-LLZQhd05(zwy&CqVl z?9)=cQR?BX9fLG`C4e zJ@<6Lh3CQ^W3K)=JaqWL01dWbT1P{a^Za284h7}lhBp> zhb}Aug7zh>dRHH5;qt{u{U=CsnZ=7I@@y*=f@yiwM>1wh2EczF?Hy|2MF!R*PO^Uj zUO;z3OwG0e`sdLn{Q`>=r4vm^Yf*DdOO>y|OeeHF^srMZaB2U?D05ja_mL>5rqao| zb+Y~QBlbp2wHJAuT!4nbDGGa^FZDskVZMNKlHav+K$A z+1}Cnq7ECncm2@qf*`OLUVEKXKTYnQJ@(v%$HD-=q?;^Jw2iqeUh0$UFiAjW8v6qu zq$d1;HXO$K*t;=TKvy1-PGrS0#JeVYozSusjiKw`Bb75eAfR z=+*Ya>w=M$rl?`C*=~xg(UjfRn+`AT0p_{_Qh~}1n4O<9<7M#|Nk4WYcM#hfhS?_d z&d;!=9*)qArf|UQ{M_C?IygQ%ZKlVHdXq7O5U?kA{9e!ZUZH<)JYS1RGZfcTMCsf` zk2WfD3wtMpregzWF{k4@&g#e6hzXLvYwy?C8@jmYA)^>EBnn1@bM~eOLrGkH3AhRu zkZ1_pT`b?SPahZ-BMKQq{?I7~28#*g5tRpO9sLElBt9z_IQ~fXu2V1qHRI5mn2#W6-jWZ0YXkZn+C5#m z*FH3lXPkEWZm@~a(SD5ANNP+Y5g%c$buZg8ND8Kz9)cAf3x$K*Y>;phNnJgGXTzMy zjp3RMHw7{+ex7)^Ms$+#QpicOb$YV5eVUU%ay+yT3{=XZvo08lfLYqd6WURFI;5Hi z8F=_`;YJ|7#<7fH`C^H)JY{rU*p+_dac$3`IyXt8=T`ny%mmrYa!?hR1%qL7rP%B0}qM*TvyNjBypf} zZ(v)cc?c9`dl{{=HAiSW%@geq;veH6@vgvA~y*}h@S2bjX z=IOv>PHk;Yk(r=HGM^UntY&IaTrbXkPv_s)&=Ia_Kqf!^1c%AD(e4&-KhA@J|bA8I0(%qs@fmp&r zIsLK5{AHZt5!B%v#21%nMOLPW1bLJNYGtulGgg!)RZiAc;%#*$r?gb%sz8inX;%9uZ)Lg%LQ0&V0Z3AXRbivix@;4nf^-O*rh=kS4`x`PSNEod6PF&j}{3#i9^ z3@x{?px%{s*hB{fr@tOIm9l8|m{4n3iLN7YlaA-37j;xOL4UDmdK}=9XJ4=hb3wThfeB<=aXvne+q=lkV7*K=QWY`tuK)SR>#Z>L)QMq#z zwvAF{N;!zmo5iRPPd(vl*8RiZHrYo&>$tg1h~m7Ns3MqG{lmy2V`eQZz-BJmQ#d^@ z+p1;(cSw~oECgaSC5x*+oVos>NIs-n?j*|HbJN6eZOufYDFC;68Z&8dcnh9HH7=zZ zmxOiW5@zf{`*K=cD9g4A*b~%N#*GMvzZM5F1k{Wu_JZ!8jSIzk@=e8s?BFQb9((a3 z*IPkG-52XMzUD9@-f75c`{bB7wmDFN1|rOsF6EYsKpTLbzMP{_^f3FkR*|k^W{~`} zcerzUw9`ZzJq6YhlZNPS!>h;!S6GJ<70EV8R1a!=t0iwKjD!U-sAJE&LU3b2kvmhh zN$rHAAb$+=yK-g+TQl!U?ZEk>RidP@dyf!(og}EM%O1{eB6sNc>}#EFFo854F1*pX z4;V&wujC|wP70oxY6yLOr71@SEJj`Q{qxRuvE<=9RBUMal;9?e=&EE9A=k+9i5pvI zFMR!iRmx?i^N|Il<0Mi>flCzEh`hph-3zbo95O%>x;h3B~$tu(ZF zSiMS@G0HL}>Z;Z0mmI+C<))+D?b2b$$8>GvJa+-d^Cph!kHN+#4p2aDe$aglJDJB_ zGVz&FVpayeiN{a@tTN+87(Yl3ae!VIBR6s(S$Y}wn&Mn%4+Bgfxz!$2i9X_UM_sWi zH;)+615b2<&__qylt4uk&^EI4TxJp~O8ay>Z3xOqimEvVOq}Of zbDmT0HmQ6T(~%l1W_EmfvbEi8tBGilieOd?(AWV6@Q7$28<++SwDf&MG|pNlBX{K5qwm7hr!H*c1@@8t78goW3=Ec|T8~>)nlfpRm&;7oi z+~L`ga6CEr_5)zsKC`@f0f(N7eU&l%%uE#GJUMeK;%nRu2#(e@XyRgpgRbEEKeqmK zo4EJKwFxVj0dE=}n}lA9-|itMerU5>YJ#>H!!G%K+6EE$DO;4{nUh-+Rk?Z%Z;U^NTYU*bWxJP9FJkFLMb7*~bM`%h;vED%K3;sqtO&^rZQ&B{eRW&LOFwTFs);Dney;JX$m0QHaD5sb^Stu%%t`xm6hoN5`jo zM~4Mi2(Vnm&=F0%H9LUa{7`G2;F-^;@{Mi|d842?)5vOhhEwvP@^^Efe-e5Xic`+L{c`n9#awZA`og``>1 zO1z=f7j`{PaW#8~@AjLm)8?_MX}Rj8VbfwAjfTlgp!W_>nFPr=z3O_QBS>z3oQL$tSK*?KS85b2Gp&U~Z7?1z{zn zki&j8YNC2;SLk-}6cjRR8=0eCFZPnKSJ@$0zyDDOa5;;g)W>Z7CtgQ%u^$QrhFFe; ze9t0s=nkeqq(g`3;T4KZ*%q)F@ZaEL`k=Gt_A%byA67%Ki1SK0F)3{e`!T9HNi_1z ziQxbj<%(RysO!>%T#)G3UYyvMsXZM<*DUgj(#qTjJa`!RB`2q-s_#V!x)sJyop{`r zc!QXZts<8+9o*nT&a))Q8IbiZ9FfVmvR4=wZ4j})fPEt$`w5if5^@}#?eDXM&O&|m z3f-oqYNTqNG>arpJ`qP4>EPhNN~|#6vP_l6@K#6Ovs6xXRx`cdVy&493_*R}1g*BT zdF?)_p^<9jEK{sJh&}7N|yWZgQK%UG?+OB#(YAj><3o8tT~D2yh9*#j{*|H z*S0A0R932Wr9u%;)S*ZfRjL%M>~W%0g(RfpkDJcxdSj(-jnmJhL|zRtPhSI3cZy3y z%vd&JV#>BL=;8>+gEobluYJ9QG})a+VKG|JhR#s>e+A+eUZ28x#F5XtJhVtC#k(Z$ zz=IK#lc)T!br*E18EaP?H^xihB*++>=b)Q}+#8*1Jd9WIeY^xMAR*J@GiT93rqxO0 zoCgw?WV~*5Iv`=7hw`E|Px5rTzj$|*tO`hxPP9>J82T^RaRXyQ4*T#!b`DumX9Se@fyGZToYLVhHhPKv>wmgz-0t zcH5T`N&=H|p?VyM_Ar?$9eid|t*(%w4U+`#@W+)!3T6vq+7zV^-5`wn9*D7-@|L=c zx&hPBFp1pHPl6v?zJ7|olRwQ$&yN5;^MSsr9}RmbEFTWn0`66U-OgxO3Hx2${9b+rFgJpXE1a{2jC|us zSY#wa9*0PJgsiU>p}pIo>0dswAp-y|s-z@$coVoucBRzgY^1oSR#Y52@^+Dh#dmg~ znS35#ptrP;sv2qewe4FhRq20~OpRUaIGGs+bJD+_YL4vo{Wychv^68M(uIJ2rBwi@ z3a`D=wicF&rzOs$_D$#oVBK9*4cGOgHaU4YgNOCI=IIU${?_`Mo{#`&2!q4gG7k&P z#f&GN;YBpWh*LU0@EO`Vw^_M{fGwxab?mC(qg6QdNqtLyq)&MN;3sz#HYH%Ld>JZy z;cH1>W$}dm7V|{ZFG`U!E)!rlbHc4oa*gI; zl$y==nP_`vo(<^F-oVwN@G^6*XrRFcKk<8aAkBSnlg?$OR3In&R?VtzFf+<}rEM3$ zh#xN=<%~O9=46n@#Z;#2k4LPvQ3mN3KXc@#R8&Cnr&GHEQvA{nFFLSv!B%dDIS2pt zkKPH0{fh_d*nQ0aQ=q0T-T%DeHg7CzN)ZkB<0%MWt}7;R$pdfD>#_h+E?)}>XA5fH1vWB?}c?5pA6`M z-WiTW9>8#Cy9F{qDYcIM>o7UNZ3zg7xIHo3w^0J(;~0hh8EgAYVnpl>~-C{N^;GE z=DK)2g1mtd00Ta~&DD=5J2V?kJXCpBK4I{%Z-~jT|MDU>wlWI;=Xc5lD0wep3p+9f zq*T~&*?x>*VkMWrP%bWc?sPriM5N2ZK19*}&)G|~S|@qR3&P-4;9a=r;|Q_#F8F+x z>QqKpO{-2kZSeGu-p@_SD4*wpYCVxT`koP#3B8jOkH?*Av){9vXsEctJLMMlni!Goj6I=&_3A0A((a!lAzgFkf`IL+=*-R*BXy zxmD5*k(su1h>X_G_K|)chdqoJJKpuBA6yyxeo`MMsSYib>&Dj{G_5i!yzkS*Y91XQ z9-X2`bK6PX#jFL{S!6GUf-vmf`CW23=THJ2n5U`euwg6@c{E$~!;#7zd+fr|yJB(N+?)|teB3PKO@Kj+2*jBo-DoD#jUJtJ z_oLis0_AkGtpPWNax$b-E)_LBGiQ8;L8XbFah#LF#b8keMq^M2hIU9jBZlO}nam#B z94Hpfve>}WuxhA$(mrhMy<2*#&9n58Wozu202+z=VaZC2Wgl(>5>G)2d~aD-bJGw< zwvK!64!8Dqca%_zUW9K;_Z!x+JE6e%KoLL&3$}~Nf#*#2OD`@zc0vK=E=Cu%75onX z=C@+dr=E4Tu3K4tf{v%B1vR1s6zOfAb=NT6#>GHT*BvS+&foXsyK8X|KSZtK9hQO6 z%0RG44*i&eMbh%LHC$Zbkwl^o-;$XQCj`g1lAs5R(?LvUO33E)s4FOPh6AOdMhg@H zeD#~jMZz%MvYjO{$5zkx_F2GJ-&v)CVyjFZ;AeCty`mwI!G^)24;XwT9t`*RgW^GXahF zHXbuWAQTjcVL1|fzufLy77+M;X-U{`V}^$*AE$6iUMGKUE5e|b?@t!85!aCs3ik%BAz@Y08!Y#-%4 zOhC$o>{~ay5zkE{(s6+**f9$#xz=&Nw7&N0+)tjd4_4G*syP6RBs=k61OnbNWnEpt ztR^2-rDQ;=9x8S&K{z03mB-$a3<;-m8OEN3M+d%6u5xvlblf~qP)UR;-@A_MbUyTCi@|^OwS-AjOi^cWVdYgGo=8iBO2ZjNfSTtH85!JLiq+K^wVN4P7L*bhH858!i zHQDs=(c*wLQF5TnTZyAylbwL_cEn%j%@i%>-w7?5LwO4=4p z+(Z<6ydY0Btbh#S;(#Ba5iUhS*kFkjQa_TAs906)*#c(8u$lN5U#VuuPk(E=HxCe> zjJB??)wU2XIX((i)EaB-r%r_m53(5Fy3}HHZSdtFP&A6n14YAcOL zu6E7N5=amhU010Ct0rcsP`0%3FY>k^6O7J}-=SK~^>L7U1S%~#P^*b-& zl*%~s3~i{x92iJ*VfM9LUip){Kw%1NwT+p{OeeGHWSDva_Eb-|2y0ykac+ZySsVb56}PJ+XR%l-Y{Mo1^z8|`n4F&=z8m&zh9nj{){JxSiw(T z$3-7DLoWn$9Eu16&AHPTtTMqgf$4~#!+wYQJ~VaPw5i5!iI{o01M;|`yZ43jKb5W1 zcI(#z3;@+WJlZ|l-#_~BZ%AuyZErVQt!i$Do9J8OzAka_j-j2T`W`PIvZLfhtd_tR z1(lZi7SkP1gZIUz^M-1ox9s?&m@Nu3x#}|QePP;VnuWQDqj-4pg`?Px?W| zd{qu_=VABG&QV;6>PVu5Ay?004$oA?_SF@-48*npVrRl3IqN2x+z_&OEVN#Q;q)d& zK7@LqI$?Y-EL`YrxL{hR&IPm@i`dJYxyBZ4dppizd%K;J zRCC9~hg%0tjJNjl*5S@R8fFUu;m`|yy3+^{P=!La#;I&8j*gp$?Vo4cRp}1hseM117d>ceU1)AFT4P?mpt^ucI~?ku~+7-s16mwc7#0= zJ;&D!GTU_^@2HcsF|ExZd!CbTFPcjVcGuXXLT2rrd*Bb_^)*3J}Aj)#g2 zo?It7Q78sOzQU{A0|rbQ1U04%0KuJelMXtyZ0v&RVtlaU<9WKB-ZfW@>0wEwMpz6UY))|BlQeJV!%%Vl%E9p>)H; zQhY%28xQZ?`Y~QH1UR?A+bvj13QqRuJO-9hUSyuBn1F0^$>AHEcz{y23i0Oxj~b|b zvQ&n*VpNt?vCcgQI-X7nK{6qm^$k5h;mgZ$6Ae1Ii@H>*nC$LU%)+8sh*?osm~BSc zlZPsMr6r-U*omv0{K{@5;2uiB12maZ=aP0@`J?yElUXupbfY!I+AEf69L3)4-(Y;Xam zkV3ewvM=r-&k~AyGU^Rgz*R=Z7)4>}qT__(L#}q=X;sA-PMOmusG;Pn3aYG*JCCB& zW)xZHQ1+_8R7FFH#A7uHkg@o|a%Rbm2XU#7mjOC>jnA6vta8h~@ljerj&#h*)9(-H zVw^~-llblpRTe!7wD zC|cIENQyN3mvjS-T?69W zM=#?hMwx;SNmgAM1CesInj_pOw%;G5RGTuye3JS_p-9_Ab$eYhyBbcXlBf-$c6N7Y zvt$E;oo$cINmMyjr7JSVp8)w?^K^GdAsJr|+(etkq;F#^qkW8fR;nwAK+vE{+mR{1 zSELmPv-Y}mIoR>y4grcs{hWhA1E-s$u7nEJYA*-qrUQd5`K$t|B5qj-7g;H@+mf?D zpW%63aa-bS^J^wxJHa(c2AbuP)01YdrNuJBLVy@gH@?N50R=t222IO=!x>+y}t zN<{Sb0bbPCTd#9X#dbrkX?K)(xA;I2bMX|jbvKA5;Q+RsVc+lE$@@uoK8h2x`;-J$ zYutkWNP$!(`(t=7yF~6cU#ZVqc=L2rU9>##f zoaUv)FTdac(|+hu+xEloYBb#Gz#pHQcz|B}>A}CiUGy>Dz3_X`0U?DRLttok``zT3 zaz?}t*H-S|(4v}M_wf56*#Pr1&OLrY?boh^gRxT3DGtA$1sD*Fp3wyfweujpke-L9 z3vLxWMV)JTin;V*4_3nHTJjzPb4D8|F&7YXz;${i*K+hU(jD+$qcCx$EOJWs(qozt z+myA(9ij}On~edF+$ga|>`Bt{FI*vVv4ZYRX}chu*BNr@-XJF?pXn!0_R+RB#w z)%SSfw7kwJ5^}e^fzT43q|e|f9LfW=K)t2sP%Ar!TG=^-34V8rmsCmsn)egviw+UB zb>j}hUQa)A!|&oAWhO0g)>GH7>;p!>Lc7tTHyQ~6;WmymAnX5nkRLR! z^QuvA)K`~)y>!E9=_2d{0(3`0*B|;G#L^vDeY;-22&b)M8Gh^QYxEa>nZGNmZ&sK8 zS7UAE^>SnV&C1G~|3zsl@cm($IQ}=n*$Y*oo%FbTlfGvg_l^8;g$##x5rw)~Szi90 zF4{o;+!`g9VHDS4{p~ySnIbLXfaIvnFplv`o-|{{Ae;|TW9I@Vj_lK1=cm@rt2nvq z(>%dz_aOFCu`PQT3B!>X>v-vX*lNn93lzBsH!x~q*MUJt(P?l5BB+--xyEVFK(4+* znHfjyvu7Y#gi+#Do-I7*z0C7x>gF{@=D{Z3m6&vcVy~mL%hVTZ|EH3E2llqX2Vz(b zHa3T`NkJf0b1Wy70N>;~MwvR$8B)3mNXgf5X4Np#H9-4W1=@DwNE;VXcg9OEoUz32 zDoDGo*Kx-s@0yQ2OwNv#LpN)%&6 zcHV`p#a^qqzSh=m1lYlnhMje%R0w7J=c5mYtI7y~EW%F=n zcW>XIALop3D|mWXTKsgkWsT5JnMK$`@t zRRj%N6zP%f>8H5Rq~3;B(7Iw^r6BBS-C~`)NAuy>nt5WT<|QgJ8&8wg;8aVJwtO9{ z4|%G%bqbS7EIZ4w7tV;ybk*n^u}x>3Z;I}o3$0`)1VX=2&SLwW-({~gV_eOV|HPKn z*YN~kMZKK{0>kCru6NjrN*TWG!{!I}w4P92VOg*~spaW`l7qz-#olb9$BCXYci)Os&PtpufZwRxdk}k_c1t`u2(oo z=a0e3cDqtM7mVu^@2X^rd2{IndQ%BvYx--t*Y#)X&NF7v#$1E}PEfF?52>3>16p5d zl6LwCSHW@m;Pl;D{J8R|+}W6NRyv()GVw-Hk(HMg_at%nxnR+wGt0DWBkm^r0S4hH zkchZdm022sXBJ0+bNhCk^~P%sYOYveh3RC&xd@FnGgP8YA{U6(C0F=<7?3T#wvbB-c)=+cEj)7cWTcpkJ#ND)m9* zfK6h+jxZ={{|=RJ?D}1~Uxw}OIiPm#^}`z~j{&RgOMPgp8$~V!Ym{{#H7}h@zni+D zmNPYk!F1zl;@BIUqiQBVx(?CbSYO{=!~aRq(MGJUmevZ#p!YmJgj)){q<;BqLBcIN z^rP6+6m{8gR0?nijP!H}BAcYFLdyPL>$G{O^1u?&My1eMRq&{aQIfGs z%EmbMGE#um(6!lGI*o$Qm`1NXY^%qZW=%zc3l4Tp9)4!+@N}Eo(&Wg!v0H7;wJ+Y^ z(Ac4e;h-O}v5Jj+@y5nFnoEUUpNdY2($h-s5OLA;bM|Rtnrir?!Jq4?mZ@y1FGatipbH?JSCqQsZh;?mCsvDRhXGGHtv-+G`jC z;xvlm5FCsu9--w!4jgB$n+&r722{&|^2ad%JH#2c2L@h2gE7;D7H9Xehr8SR``gC^ zvE@am`h@mP1;C+XU2?R^K(PejY4!i^r~l~=y6bCGYk-c||7@%_Uaw~LKi5_pjk*5k z6a2m*{ZATnMH-;=p;!m>n^0oBhX&(pDvJ-Vq$JVQv;AR5*-m3}%_(vmWLYH^Xwdv+ zl_aOVx3)CWa+vP7n$2JIJ@|v`U&*#Uu_9KJtf~rIQgnjm_%G6W^O6nZmyS}LS4pVk z?kqYDSUFSv+pGX?&;mdm@Bw6FQM%A0>7g}DXHzJhO@DM|bujp5Je{HF+;3rjf1VA8-;%NI}nq+PA41;9kz3G&e2pg zCZP2x`KcWZe6~ID7u9mTpHl0>gI#Z@;63myvcUel+bsd|+1E^;p$&Ww-Cx1_v94we zTYZFU57XRxUyNlylwaU#Fk>!o?Vi(D-tEU7!{b_X(!26t57r}Xy)9Q3ZJlL<$ zO$kb;=&Gc`zM^;aZq84lu6pYXx_v*uDpT(hV%bT9ewnqJBCrIJ38+y4K7-vQDa>N5 z&+6J6ec5z)6N=8K$jfTC>r1%i!?XQ;a=M3!?9G#k7Se{ad;J!H0`Z@hwmdJ`_6xc`oDlxj+s= z58j8K)-fC>;l_5PjOw3*pWSo*M}r6R|I>K$dVM`N{~K@S_rFi^`AZ#4J| z`v3XHO&#YayH9ws`?!7{{_>~4^8?#QKCqqQgnb$lsV{!|`)o$1ZN?p&SRA8)FviD{ z2-opwh%1~&YbS78FOv9LvBLF16`%g34%WUg=V%Y*#%z*O&_j7UD^>CN#(j-Fg?pp9 zSF>-xtJ#-QS$TL5Xw$1_d>Mx&C6|HLOt;TX_r1^axvHYO ze!il(vBGNPA_Q-p9Hji&{l#(WX~r2_#=qRDbq>3o69CpE}1utoQ0AO-qI*^ z<@Mx#`sP+|e@?5nxqro{^RIX|cd%GAQ|1m9=MEPCq7D{ku{n-}n$hA| zmoqJy8yt)=w%*|26X4D zaC23-C;r`A|Ks88|6eb!!S^?xC@5N+& zY91f$@3)UXZ0%`V_;24uz`gI-zIk^5<9EvUatAQwUE9}ut~$4QpWD2b=l(O=ypKN< zncKY2-~?pZY(Qt%Ua%^mvIVsO04iMWZsbcjIQf=L^yP+f+B;y2LVO%ISMHpf?SET} zn{%`MZ%GUEuV%JCqgu>2WbZwN+R$~W77Cs0_b|t1?)G}50;)4$wNleH;j-MTfsn2h zYpDHD92G&9$CBQ|pN^ zDO7s;+_9Dw48Mlqmc?nd5x2BtuIhoOc|9+RIj$6^t*@oRL!lj#(tz6tLd zRFTre*JH7*^~8pF;$30BC6kSZp*7;>Hl!pp#hSMxV%>K zA@sT-MuF|QeqRZDDS#CakcKtKZNR@3__t~uSVfQ+t>^?o2iN$iFftj-kV0@4UOC9K zp!TIl;QaR`fA{78ZP)}&y9P|+|BbZ*{h#&aIsbox-?z#C@xL$t3zmTzCQsq}$vG>I z!A)ut6sX%cO}X}U^lfVS-eB1GP`Q&W@5jZ{uB%hj&v4Wdr`=B3;XKJON5w7&KEG`9 zeE5e7Mz1a2ZyjxCpmH?3RB+D+f%~P$_xv~hcW?ebgA1?;{2#vM9BH$$X?+tv*%>UQR>+}8pQ~bV7`42{4 zxd;d!$4G(b4p1|KBF})+%~VNC&rNj;o0-PX7Wi#Hyiu0Kt1HTo_=U54+ml~a<@_1w zZDmz?fBexw^^;5yvDN0I{FIA;_C6`cmUsp*Rpk=*DadSDTxQ)oJ8ZA`2jrX2y!Su3 zLih~Xm2&0jjkoH#=CiRn#irlh+TS-=;>R&9bC;{>7C<@^&Bp)UV)9f?Fo!vh)e3w5 ze-8hjRs@{5|9_qH|N45hF_-_I;`dGSe;9xz{2#x}`TtkP|G)HTpZ~JI`|1m$=T`LwsUUVIk)ZnT5LQ2a`BA6J!`~SJ<`rC59gMLbIZfI<>B1&@M{Pd z{2+e4X9@D_d|^8`S+3^seT(cp_rjqU0RzA}&OCS|4`F^QRp?hhf$3K?C!bu1yydd2 zVEM}30bxRZ%4P1c+g+BVkE@>~aW4q%e0Yj`fX5r@qKADyxJoCTfjF4S^)8=u($#oa zXfzBODiu8_ORAu;h2tY#l#<#s0<<6Ce6E9huI+rT?R>7E`d6`_VIjMc!T+Z|aM0Mo zRL_fE#s`(NST4f#CI)&@r6+`WIc$EANG}4pU*!K|94gc2w;YX|W|le@0Vo@=nPfo5 z39+IQRs%c-wtsyFP>Cfe;|6wOfu8Z7DPbdPV+LW~GVgv#F_4;K63r zT4%4+&S9u-4;QShj?4$a;{(1UlcD!L44W6%iNjC=K4A(o7)qi?OhXPsDe!>r@6`J{ zeka~S3HXF5#6&0spD+bEhAecnD$tCrKn7wZ)tZw|XiIEE#Ida8LAK;UrsQ^6$?a^( z?Mz9T=%x zH9x*`#1USPqN)lA4K#izRy|IDfKS+w+{c_z`wWf@B30qyJBOG zKl|bUd)&Hh{0aHH@t z*E31soGax|1)}+ngn>7>R;^}R-Ub`IQ-bJ}!Fg%ik3Yi&@6p<|M&F_@I~4Nfe$lS| zk9xk-uCcg`3ZU}5aqe35JiM>AeEet4bmEPIS%LqzKx%4j9b5r-odJ-y|AaEva{Gj> zkdWC_j<=CU9TqRr-K)phJy+pJv9T5}=eL=#FeMja@G6b7YvKHh;yt+J#kSkJ`#Svr z9Qq3|AlPG^v&}l~m_~Z@?-4tzZP^#fUBwl$_}9SSnrhDDV@b^r?_y%vBwCL;H4AAJ z-@Xt`U#a4P%k2qyTDcM_?XqQZ3$>HdC-6oyxi5ah(uP&eU6EiGB2z8twE{d!qwjeT zjXO%f?gTJ@ke}mrfk$3R)j#E(^jiZg!9||KKn(XF7H6QJg~3nY@ZuZz$_MZ))bsY? zy6v}r!|Ayl_Tkjt;V7<;Fmc`86Vl<>MAgisquJA5X$2U!6pAZU}OZKu0 zkELS?4Wd~Q3jzyrwCGa=l$*;@D36D*#Gau zG#dWM4JGA=$_u+Cf#R((12epSeE~|=={%2@!Sxew;Pr^M zx5ZND9{!%}wCx`gjx^m*>k)6+5NW_ho1u|U9w?U~M(PSonsamvQM!2x-4hwl8zA(* zAn)<5aQ3bvE^7w+{#66&WMz!}Bh+2)qw4v*_P(w6z_mV8^%`AI0PoNtxxIWhf_caP z1fBq&^K!5tyQ|sg*l^!O_BduYdwTu@v! zA6Ix>oS8yY&CQ0iA*J=^dIFJs;a$WKY4dN2eoQKOr1k&}ww{VKBaMj~`XepuT%ZP< zY301*2^la_Ankn42a(_J+BkMHD}<~Mne$()lf*V#uf6Rb-(3e^sMwI9V>ZGE0{UU5cZFwVR-RF*}`-G`HO1IG;~`n|!>n zd4?qN@m1Z6V!Xfw)d)CatzrVRsR?_$SSpF3e%tzKVq2ZQ8(TaFovbUiy^>A`ft*>? zqg%nHT^^TJDQvoTIU&gyQ-5+2D^0J)@iI$S;c*wGfL~T2(zcT-d0L!y$jeX*y$fi$ z+Yyu3gGW8mFPqmNEQarZm;60ob!9cr-K~h$lGgDv@V{RRIG4xJ{$7Y`di_BkcLjP} z@43p%d>4Ge-toJ1J__Xqx=3Wc5bx%m#okPtFx-b+HD8&#+?y@48A)+<9q897vvpl~ z-6G~PPc0sfWYtfbebV>J{L}jzA2t;?8~A4c*O#k=r)sAI@n-Q_(jLx zd4!M|uZ-<-LKKAp2t>)2c-DWAad$oSWHyclbKeDx57#FC7!10H`i4z$$FHv{*@z#T#yyrkH-)=5<&*oy z)PBg;zvn!~l?k$$G^Mb}3&RthS2jf|c<^0Yr|R2~5ZMu@3fM1}m3P2&KkgjiUB}Pf z2?-vH$B~rJiU+|xwZ03-;CDB9t~l*|3+B|eU|}X+0r|A_3iwyo0s?t2!#*J+3;M|* z!v?b>v>Pt;45%q;qhUCTLJ>bvdN;ny-@EzP0(%f(h1f@+czZ>ryS{!=73n1RL0QIU zXF{V@zm`hy34_C%duaFiQ5nxBeeuh8q87_b_8p^ZlA6f@@tr&SOY!?>kU*@QUVfv! zCTl{YhMei6QnF*rT(gXtRB=~Hqo+Rdl!=UoQD2ewrK-`ENXu5jF0Tz27w?&)dH-+{Q>o zaV3M64t`h0gSrCBF||^1%NIX#A{FE)f74Z3URUIF**FXy##-h#+q`I%H%HFnI`X(& zWpKdY^E8Pk+`-3$YgXmeFb-n3ayLtI(2n~Kb>I3y#Z<9>s}_PrZy<8@D5w^K)v!;_ z!yhT?7WBU8OLHNP4Nq2^GEvBt>_R$a$C{VZ0is0GHNR_PWfozk;#e|fw+eRMaU_%L zntiG@9ZXgj|0z5n!_rVBgwuAFFU)`5EB-ZID>$im5RX0Y`>pop*4(r6`FT;wvXN}= zq$ZV8Tx9Bht_T@MWhLpTO0DWb(GJdl#!eCe-7@-f;`0W>TdUIFU-W%)W)%!aVujTj z33%E`ek8xDSdAu6h}JI^CMhroj;ux%`J4(^9x>&F}~ zufL{Ci7bP(3yt)whf@NMDlY>9IVLU3@6p#dwSd`wdW4s*b6#^Lc+LcWLsEz7eaByb zI=OGaUy<892M~iV2KirTf%HqCvTc2YW1CCMya_gr$8u2fF8DmVg_q&8&x1cs-Nbt^ zdf0%(@3U=2N&h3APyk!!zotIn2LV8_yU6fPe*{o%3W4H(0#G|WGoD?Q{oJ z#Lxm^hR|eoj}Yw(*gX0PsTA_vpI_q)Mq=2Ag8oB+;f7JEFuuB1`6fka=DPm=HP-v2NJ*9-kZX8$*zcvkcje)#}v!tl^;@4oxP@PH%| z?JTNeXIYRgB2tP6`PWBkmoRMtbR;6OlAw&|Pc!r`;J(`He8u1>Tw^kBkiXVJuSlMV zFG^0jPbIgKvVs;JZwPt0@URdxEA;mVK0&$iW1Uj?Sd&o!hdpSnY9w6+n#axC)(=JXCk&-&{h}V+Fpd$<;k7_Z+6DZ#GrS9$7Wo&F1?RXP1w?}a+X3D zYO=r9<+_?w9km%c{p@B+5HP+ye>rc|Bn?TMO+mf-A@TUQIjds3G5nR1`cZRyyyGCG zysZh*>zN`eGMFdS|xy!9t%PJ6XRO@jOhZmV$#cs?>{3es;?ol3CWn?VZF%yk3$16n@b7c zzOjq8#AqgoxZSs#9C%%X73Mj4HrODt-;rfL^4%7+ZXzW63E>{}O_tnX zJ@TtTCtIM2goLafxQ;_`zk;zp$`0QZt>FqKvfsZIN#t+mDeVI_Acpl!d6o5SWRXM| zi~iYAm~9Bb!EEZf5}S(M6xWm#S|>;cKfN9KVV=kS6uqIVXa}y5&##nVe4WjqcbL5a zAge}v6{!jftYn4%#B0r*vG3#KW&!uDzSx-5tAu|N-WvZaOhi`@47N6(!982AC88hh z7g|ogmsRLkw%i;D3J^$!4Xc_NyqwBXjy~h1@NxnapAOt!>?vG;{ZcVP)OD9WCmr0g z3#>5VuCT@Y+4DWA4%UN2q?{3}IOP)L440~MW^$#bPxn_f21Hr1KghebUhZm&rir$6 z!qOZ?LEsz`-V(oQ8j^y9TIS-)(Uo>BWe2mkRLy5&<186Xnfxso72n?%T(5vNOUXlZ zX0{d_J$t-tAEuh+B`u3TcgJ|lIKXm6P36x@nZG3!Pu_qlDLt++yIhL zKcB_k@phqJO!j3g82$n^;-6vypa0zrJM+3CiH|gilr- z^F2?R6c7DhU0S#=4+>n+eMr7Y5yQM;OMdLErVE_wo)3D%UVz2yr&JZa5cCF<1}QF? zcsi(tkY8_gx8>9uDSwnQ*9ZnR^Y{g`ReYT*b(ia~$iR{AO(o)qE2lHFi#F3u(X&yz z$_!j8LGh1b%Sf`QxJd+>s{3kFpQuQs1BhlNKeFejX7=vjWfaB&^C>?BUIQSR~oxdcL+-AjrcGr=H)9~fqLHlQsyB)PCem72;PX>WL zS%z_4pKiqN_%3L?7Tsh1;unTASsgt}L2Y0n-efv0T<*~^WAtM^pvd-BEjRHcKo zK)ckFeamqnor`mbrTdfGGQKWJ<7ZActU6jb(s$;~wUc~wFP<|(!4!kqQ-JZQ{`NOf z11rsRq@Sz@wXk2Kz;w3n&X-TpIRo3A1FDMDP=~r5>dle;{ulA*JziT*e^7lA5rFgG z4?DSr##XYqH?w18cnt*QO%jCsihWOVm_lA(P;XbJBnfOb5<`W4F4g9Ln@XRHe7WFO(jy%P7>5Lj-h3lH!`}U52 zuJ{X8LJYR=6B}$u0w=s-#P6TnX(2CT~ z9@6Q_>##%Ank`>7X1K+XXn&ML$8P5pj1BKJlF5|jckJaRmo}q_i~J13(thKjFpH|v zQkv18s8Ev8fl127iDXwy7Lme4-)~Qe$YoF1>8`i&&<|B%DEQs&}7#&Yqp|MV4!- zBwLRx9?eU3jbyJrV*f#=bHAiS@B3){+ds2~axUO+z3qc78|({o-Gp0Wi2*KZNz6p> zU19~_U1H*stbG+tl|9_b_q|DVW44#C1U4dZVUK*RCL&}(1?S%uL8T|LG&Snpha`_b z&a$jU0T!f}Z+#k)2493U{y%VPdt-Nu%HR5w2-(>H(uvR`P+8M6s=2J`g_V;zqY(!g zOig6P$L(JaD@pZVG>oBHZ^mVAs6J%azZxo^7~^GW9|ootIla$2v=Qx4y!jj269YEN zYBku)y7irG5-6i6XRPgVx2~HB2#Ed;?1!#XWbjW~opKI3N|^pNMq)-#!880mfN&TU z`b%4XvbK!ik?B1_SQ7B{EujN}L09>ZCsmGUpk^NpBMAA=1*fL&EUkwz1;ye55g^Ru zp`}qft3X3AM_uhC?MEZwdQ<>nY|$GA?z5gj_f0%f59qyH9A2su7(mc=2IzsU84?IF z0ucWCS4B*l9{$Xu6ZA-JpJ|MfTMupGugV)!*P289#Lw*^RmyaHqu)+y_}e096L7Ud z->{s~ilQ8Gni8kJl0_fHMko?buyXRJ@ubmq3y;@Jf%sX-QM>QdY_FAK z!Lao1592H9r{_V7)3)^!2dPhk#5Yre!hci3(v%OU=2kL~s^NyO>A`7X6 zw?2JIkn6@_&d4=zObxHRo{w^r9&=Jq)(YR0ZnSMKrF`g@9p9HPV`;DzT$%@>LHIov zj3-;em1>!xC6&sS=r+2H*?6~qDoq*d%y`8Zt?RVer{W(COA23=n+`-h0vof@oAo?{ z1e4OqTxIaNDItRM&c7d`gf}>*MtfswoWAWFkwfK`ZL2qvtsjX0?E8$vuNlaX_{B?3 zWI)XM_KrPNVA`&mTB#zGb?Nt@Y2>#7u5v3Zg^G$YvDTg4E;So9+T}&i1uo(7D6gdS zS8nqw)QBvym1dp32MZ^@NB@T|p-tl~SY7w^^D)@a`B0+^WPaJ6y0PnQ0G=0kr2|Qf zQCCmXk@s@mk$2P`fx2>R9Jbu# z)g`0WSCp4Ze;-P0zva)q)I!-lPpi@&t{wYp+31aDfLo?3f>cKFHxwpgoncZp;L2OH zS^oWOQ`ZT~bd&84CF-dO`E2Z(P+NkheU7DW`C5m?TE>|q@gW#M3QOk%Uh}9rQ?>7Q zuIWUN3nLeGEOZv>8p@Whi7M;pBEbMNXCwS0WhG(k)ff6M6oug5;2pjI=-DknnqTd6q8CusVHKN{;9<>gqWig2j*5;69}++3Ldoi^(+X-r6~oi5P*Sv>$ayQt8! z#IH6Y8S*3Jj=Q~v&}JT~`lOyx+K$Qtf6mi0*xRQss|Z*pXSO$I{J6lS3cYxsOp*~4 zOj=SqUQd6h|5e;gRpu6$!uaBtT6+cB+qAizf8~+R3WzrEg z;2Zqw+xKYcl^}aDQkyVcl>aqL_SGJX+JPFGSP_eIx9__cyTY)74P&QZlKStuv;}9n z@_mfGUNhklDzaQ8s(4&%U(xOqrS2#G^ufg2Vok#&vtc&xgU%;V1hcf*U@yb6M~&X^ zljo>A`duli0jR&fOMfdED~zXnAKFq-`7!ppc+hT_SIb^s**>dAbA|0|PXgl)q0U#0 zaV=EVt|8wC7fE516ZAS(Qt=d^cLLAX8lfbT^4XO-^d6WP& zWNa$+m=n|-du*48=L%Wx?E5>mp3b83vnn0l&PCy&TZKPN@9ZN1$;tD7YPe+$C)Ti|q?kFJ- z9#0sTvjg!Hxyf9_^>=#@t>%H)`PUA(9Ks7uxI{u&6Hn<%DCB-AtT{yE>c1{tken>8 ztsp&W<0tOOIYm?<1W@p3DplxG)R=p7d#qO?)3NxM^X!gBS3m zM_<)tWby1?rpXvO7L3tOse8q~hgd03ychQAf8>rs?x}W! zd*1FL(kYN-!+)LrrH;W6+Z2fNL~<3B>kE(>GMx^&=+Su*F%+3PgYp%G80k13yg<&p zO-UfPbbz+|+?oXl&zjjJvA;+O%ncsNN8(nG*3w7hR?qdmZF=X^9&dSzpgLYJRV_x+ z$R8L;CxSS$QqF}cEa#`;9?F3j+$YWFaG@>Yeu-Z?0At~SXlUr0}hk>zuRB}WE z{nfyuDKoab%HV!V=myY4;`R7l=GAf;=Gr3-za%QlW}4xy?P%3uW#NPbH;C>sGwYr4 z?x36%ps$iFBpXWvU~+xYJW}ur4%jYr`mivS$f;$Ei;-q_U4xY0oBaOgUb)0n_Zxk? z_aOHTARG#TW)3|j355icggS1Nda{8_oex?c4t=S5)Tl|teX&D4#E~QqQCo%dr#=G@ z+@L}=q4`T9_O!4#uch%TwY}y?F)->`-*l8k>xCt-WB<9DxZ^w`sqPfR{j6^Ov>zI& z0Ugv3H~{x$+5vGgFQ(9>w@_D&Hq-1VTH{GKQh`-BWp#@cGj^nD`7hFW8|j%WpscN# z+=dM%rLMsXNvVU@e2;K3<1Vw8GV&d<{@Bnif$n<;Z*OU30m0LV5(3CiOjn*6iW1Oi z$I`xmf+Oq3MBoug=d^?i6$)OVkC!Yys;)Wy-y)rOeB8La+qiU*O&4z&M?EWXyOQ~j z3Mf>@6T0X!?m27ZC;UPHo8980^u*|UrFC2r?~zmgw{Wo1-mu?2z>y{>E-xuJmP7p&Ut(j4Ys}netOHQ`^f>8la{U zXt+Pl|C=(wCFvqNhB`Xs*>etW<;DXwM>1`fXzT02!Tko8r%a25Aew)MJ193e&yBsw z0B?}|Jz3slG`;TD&5C*#^}}E!x}y+V=_3W9t%xFXi*7R)ye|eZy$1{ddBoZLY-gw} zzfwjhd7=`IV#D#x1;Bcuh;bTiRj0anf>y9~{-Wdj#X$ARc-_Xe!BSeNl-HEMd+N674!~?f$ObC0NzrtV#&%d{$sdI8UVo^9mJFdtX39Le5svLI{=!SuJX#*?*vt z#N`(#X3&q8^?fL8S3`QJp=LDSji$~aF1sh5@Bbal9EATv2>`nTCE7DeaAVsE1&~>M z>B{~1XxD}0?jK%@lrLE(K)4>dU+*VhAq>z^eo^m6^biureG4cl2I6#wS_$F%h?9J) zxdOI8{t42g1&#Irq<#Bu=cISw!`sWWwVKJ5ZOp;{?RiUqRE^~ zM0&X2Lkw|%KyZK`x6_cIaLKFZ8OM%bfc(+1Rw%HetMtS%itB^L3brU~pl@`SlwpGw_@ZyQugZaC2WbQZy7%BAD;W9Gd$=!L{D;a`K=mpk; z8|CQVGbZc2Cc(XCfZl(nCto1w23f}d19q&npMKSX{HKo_gmzjUAtr2>ow`A`Y{TR*FA)s^-Kx&rzPqx%w}ahmoy+=R_7rkC%&Bj(Hx25&iQ3-^ z{WMlsuqAiS2QuDWhqz2T2nLiZbk@>F2v@o)4|5+FIk8(#ezAUMlr^@&Tc+^u9lNpI zfk41r6^Y9h3AGY}iQXGLE?P&a zEJ)rd!)XBASVLHy7w8wGzQ4_xdr{RFyd#^vr^_E{82jfCNK~ByS%1aA#37~)_3*Hf@oDn@~m=M{T#kwvf}u{{vvccmL34*m&;*2 z_)kIhL?032=~KHRKrqFkh5Ga-9Vcrl{+(PR8~91nRY;)0c=GkFP51OQe=gjm*ge$O zG-Ha2aUaP|Y?aiT_qgHb7r@O(US9uo`tLllPLz)uASAx(E86t?1*q?-Gn@0 zf}I;fdlaOt)`5ZcaKd5)Dxkt0hgbA=hFTpkTMluN_McNSarm1o0(8Ui!tCH7D~15& z?Kt5d-+~}slaC036TsQle6$n>7Edq{F*Ix6iQtHrEV!&7bG-Ppo#VJskrdA)mcxIK}X4|*BmzX z{)sWboqrwQ-k>y~=0_SQf_D8&=7#d8P=*qZQ6QUN0ehtvYM=)gzWM#E6T^aSG5?1& zZL~Gi$>cX$A{_ZX!?%KEe78d5KX)Dw(feFRRDHUylx(ByFd1=D3eE$J=#3gHY!&}r z9`BC#Eqp4bh*JTMCD?+Yo%I)atMEQ|PY~OD0oN zM@^X>zu6k`(<7UZnNNzYwH*%%_w^le2P_z5%_M8n(LmSkp<_-K&$$s+8JidSO@22d zWkrK_gtb2JND;M(T1*xFw&mgmt$yqFjcfA;9dBq~H!l<&Id`Ga^u`PxUN?72ngi+Z z#Xk}~CacS?)y!^H&^woLk86#Da0kcb#=r2%-6p$h(Yq5uUlu4lKVoaEOvtgbWakWn z?7Vq)ksFH)0cPl|_KrUs{Zg9E_wo?Ra5$lR8Xy=If_Es%7jme3-By?eB$2_llPxv0ArMA~ON=7+~zLeHygU5}$h-jez``^wy+p9fpx}Euf zpdqHNtu>6NzZ`~MhH$=fn;xkCQNg8dSUUt+!fC=93;1$_Fa|z(Jj$S*_M&fwKb0w$ zjPlIg_08%*RCyZA|I8{1t)_0;xEX*Xz8ISz#(WpOM;mKaJFW8X*^yN#Y0VNyG*`&m z@BP=UWmWT+W!yjc(N1e9FSrVHV0UWxF!z#dB<-U#j3&ZCXD!RatQWVA<;AHC<5#BJ zEK7uIXO}j|=g?o}#b>3Rye6NB4CBetQ8eE56_sqKlCoNw*LSzX&grp z)rkCjN~l6MMoC+GVi~*_6!IdDMCgwHXAaj4Kd_D|T;FUgA>jxr75Wj?Y88YVU#mpZ z9LCsQ#>}O*@B)h#KN;#TVu37P;tgqQH&sC@)^2u4857f09vMWQ3vN%4(-A0_^oLoDN64C@ zzFkWj#lW*FrOL1V<9rsh0G-blnpSN1Z90GG%0eS7rY1{s&vTnD)tF5?HEo^KSYhE# zPm55?-l*Z`gyLIMdI{Pyg#n+reIdtAW|~Kl7qiTWtgYaI<6guZGATmPRL0hi)zMHl zSazZigZW=*`pm*Zq_Ci!|>5&9E)3hn;xb>F27x7tGFLUkbCn_y%sr%R3?4_<;Xme48@c6UCQhAJ`M4%C%-9 ziuExF7Uzm}Q=~doR!Td_2KV!25T`2# zqU7#yNEEN@P~IE&{4K#ySk!40rQO%>#{fmegsfOM zZIsmd%!i?9+=+M3q{kvu2sg9fIN( z{u+7bSJxwLu9P}vv|4;uvq;sAe*B}n<8G5bbNnBg0&z^9ri4q|L7nm}n?>^eHb^bC zQ2)73zJ8X2uO4q8S2;73e|~UY?GnG@>1Rfuhr>3UG9X1^!B?Q_i8LnJ0+G z=|M$^u$h8r{<=?15{n1BA0P6)4v}+TZ|JQ2w9Xl!SC0q19hqYu9gM{bLo7 z?jHKeWp~tUB;RR&V?9YuQz-r1s*QVK%(lu2H?~3lveA2%hx6{pto)NstG;ut|C1^b zQ01*pM2C5x%q0vsUgPkJceOy4kk*Wsn2?=P#wf^{Y}ELUIS43R|^8eO%2%yMqQ-U#3f7Dj#!l z@jutzvu-{P-2T{!j5a4Bb}pvOZbY?1=cS1Rmw0ht@Q~P^(qY#ZVNT`%;FN9h+!#+ocIOx}rHg1Z2L<(3Tw$-)c zF)~!UfIAbV(M-38`>ucNN6?m0RiF~ZU13beTO1Q>I6MG7vXdCpx= zyNueGl9)>8#zqz2pMERGAXMk2S;MTXu?~#5>b)30Y&=q@2jh|t+lI6f9M&K_dikM? zsV(H-z`)ayKX0e~b7XICLi^Xlqu~>Cejy^X7WU*74L5Q;6>^v+j}CL0jg@lH{j(^GRu-BJ(*&8 ziMr$QUcHMMCG24$-+%sF2a2J?0uF$~JIvS{iESq=)YTX7k!4Y&lj790qZ1oY!NwPI zTMs^}gWJ?}CQ+QPihEfW($O<3kEb&@B@F#UPNSfT&r+JaOq@>xSArnp?rgbXvh3z* z2&j!T2J@X*vDPRNtfDV-Py7y~V>)OlaUHxAXOHaRj9YU|Yj$o9wQ-Aq@Y4}C#huSp zk$+&TaRb!O1~)OjImkPMK8!iUGR-fy5Q-+ko3NA*d*~$hM(kn-H<2D4$CFO}I^YFx zg~@5T8YqT5*v)qqX_z~@_Jp>%_I$aq;Qy$7GP`(deu&r>D(<8-d$2GKzCv#Fd28si zP>eeh!pG(*Tr}uhO;l6KE)_1Da5~?nzoyV>GGPpWo$AsRkW9=qTxT z9Ak1>^3s@6hX=T9uY434Ah}km(5J4iUF-Fzzk+fp91mZ8a(&sQiaSNL!#T`qd zFMEt90~Bwg-~tF$tL93Doa6SnyBQZN8du89t)rIXDl$Hbk2xT&e9%dQ+fc~#-b#m_ zJXaRAhL19*wrV8=({IaiL4MJer}I?pH-B&S`r$6nXvE99I54@Z7vJv8iE6q%)e$sG zQ_76iWX~^EZK$RmV)V0S5Sq0wb$AN(EpM0YEZ-e4D!8z3F9|Ux_n3Bempi&mU4^Hg z74Q*Q6MQ8jRlBdp_AShvgX2z_Sq|Z9SggAF7_N9cGS}X=FL_>~YXzRqcTR;M*f(hh z52oNqqk(}M5ez~AhWibejft-&kgON7Ct__3CHVf_W?_w(iui^?SLas$Cy5>Q=0p$C zFLcw_e&~TjhG8@WdwKFP!_gy++HkP)7$>D2wkqpM;^8~W%(WZSb-nZH=>}NKy$-}0 z6GQ9Y5|s&oMiEN71~F!$sU7Mh zu#PNID`I4^mb2xDiOZRs^XlXApv9=2Y*T+A4gOf-&0wATW+;+wmRK{KA>5$&INzXN zQ%t%-HXj(ka%6qB8iyQ#r`mg%N8dPW`*OAih!8$V01a%$u%pj7d&-1eKjb|9(0rwCK6k~a&10nR}iqbruTJUEmLP8z! z!-HgvFialHlh%&5`qz~5#ttOyWXk5eEwcyGuH%|qB(z^P~3 zSYM~h{vIbJAwa~?yK~OQMpuzP5aoi-q(%luGt|T9*lslEpH(;7TNIGX zlniA#6>-4ou4nJ+>Hb_e{fg!jD==btX4Jv;{hs)`m#?jzPq7X=VP42eU4B{^cZI{x z9Oa4>CBq9E`5Rw^W5DghynkFV8}woylVl#b(g(=jJq@gO5NsRbh^4I5h_^#poeO(?)V4x^h}aT&UPwj!Y`rmdr% zgDT(@%TGicI73XvFJPv2<$qjBL8<>)6B%0qh8i7?!3s&iY#btRg&jmLqp4!Kqwdp^ zRSXtBu zQ-yY#S-PY>CU{|^`U`*dpEJX39=cs{mWmFp=8>#Y*{z>2*XPEi>6?Fe><(5%R$?4U zg*++WWvB~FsPUXH3aMO z$C0lmrMsd#^53uMcR0ZXx_%x=EJJJIf5_cZTrWjjZcg3e6+EZbLoqca_%pjCkoca3 zMZqNJn+nRaJ?=BCSnH6w9EVvwlz6NI69bbk1>eVj+vbMyc2EXV(y%g0oZdQq%DI1& z81*0XWWqc`Kvs0K?UcX0i~p8Sf__4EsComN1ksYt-ES1=h9(q-sGsdW_q~o&&PMxW zPYmlv{cEnMqsL_Qr$1$UMNUp73NK1;Tq1EkVPKGqCooNt=_peZq?!zcy%sE<*aDhVe)mdH61)+@|G~uspE!6SOMf-$ zEdt`;I&qNy=>xH>kJIc$%EfftiaR=5`ARH`)t@7n+FpLXu|DU51u)K0p2YuX>sW0EM&nIbUpFR*# zeO4SB#ea}V52MO_%Du&~hSS-EJe0rUV!H|UZ5TKF9;NqBLO$8xNkjzmzK?1PL<1}0 zMlnplm?C4}j00<>M#TG)i*XTO>2z2;v~tyzZI!Fn3M4rY!<1_ssZ?=Lt8JfQ2QLD} zCYGxx+7(UdUa-^2Z6m4Oj6`O*-Pj`|=Ej!5j@xMvN11f%9<`6_erNJrNC(L0qi1_> zS_JUXLkZ!bk{E{SW(AuX`)&mv1AMt>kw zNe5a@yUUQF{Uj4%i0v-u=6})>mUEE#X}m1}yRIKJ~#v#w^c2!h+{~~Q0IzG9+oMU3wWhO(N))>`F2$*#J*0OC%L}oBdE=F>g#wP)Q^JM@^xSWi(!S`}BE|yp?_*4?rfO}?+e7AGOoi8BxV&?YUT&flv22XSsRzs@wH-pR!mQ(?dV3ZD}Z?m=Vs zeE;=z^@Nd_S({OF z2ccj~=u2q$sBx1lxOa>3?mKw~O0K=3reXY$*s1;B zdAv5-6~&}4MuT3RKhz<ipho89N%;oU&hp6s6+I1ay3plEOwC+qf zi&9EZn*YLMIU;-r4_1+h@7I?@U|Zg*R2!`e>MC5k^1oBsH-?w06jbj|8)V4(lIY9f z4lRtmH`|7zWMa%WWaZ^z2#@obv7Ov$c95TgwORI6K&|PoKUMWDyOVmI8geSETn54y;-cox+f#;@+iF;h6 z`wW98jHcM^+sASG@=WZtA%;uMV*X3dK_Xxa3t<|*t!)$S(8eVHU4T3z?3d$x z>DIWCdx3c@fxJJ4#RfEf;QZ3{_qz%@WP_}D>PYp4vc<5OL zmEk)Ditx7d?{}3*py4#-cRRULO$hfe{`l)R_QG~1(k8cK(=!qv@wy31}EH$JL^Pxqx{EX+2P zAcTN^9|B0L_6-?0b9xTfm~wsI3masTSqPHL9G-5+&-#r#bnrqD)} zj+39t=W`DzuwPyfDi6^zn^gPIw-0mkKCGdr>Wpc2N#XwGM{#>X6+wYX_*n#JjJk_2avVRBj&NY=vuQg# zX_va5xP!p$;MhHCop)mH{<^h1=j#Ul_Y&2_&-OxcA$(h0W9P^`&w@K=iAgsVf(;*+ zGWh2>_Y3+5Tg6upsb3Q@7CojU_X=N}*A%qx!(8K)Gb6@Gm>73cCU)_{bv#X$qj&Gs z>u)GgT6xlC^ELEWAjXYFWOH}p&}ix14dm! zCVw5bN#9H0SNUx=FFXUJ!GV#gY(wHNr(+aaE&?`&8&U0NSQG^jcxB}d6t&``oq)eUd7-*&xc~rxs)|wg~uI! zY_+}N<>YM4pZJrY_nUDBB0`D_6jN&DJKuW~&cqf<0!^ag#?p75p1+l{=7#76v<6{W z0+&`h;4y2}&N>VITUhlp0$EoUV$}$P$ul0rZRMi5WIGObj!{VuF8Ad~grsMkOrA9h zl8V;n?lQ#l8m(klLU<27C6%9qI5|#Zv(%WP5Qe|~bei=^2i$vD#wG)PELXK{7Nx`H z$wH`CY`Ff~7Cl)QmB`^TdUo92St%Og33$@mnbhX4I%Rk3DATjV(9;2GIKj?C;Kkq0 ze(?5mKHrpbT{pvkaP>D37mrC!p)tI_YTtxgx#gCcSDg4=Rhb=C_wK4=Pg7oC-byRs zK83L7ENM(RFwN7n+j8t%HU`~_;VV{&mGwkanaLMTCR%33X=Y?;2CEYBn~p!vRg`|g zN2F-Pmn2>%n2VlvrP5qIUmi_Zoi9z{P&D2BrSjKIrwG@JAA5IAatr`4HZ(ISS*1JH zw&or<^tj_wPFVO|-t?q_pb7n3HbrBf=-nf*1(zrXo|UlyWZMUBx=~vi+_}*6`a8KC zd{&D%py_tBd(0cb{PHY%_${?@38dLzNT`{aePge^iHcNi!*aw^Ui8WJ<@&mvYCMnlG(X(>|u4^AWF_*0_9AHj@*2!ztEPw(Np$Urr?!214(2A~1=h zE+dx@3Y&F?ZaC!cm^4@3 zKx5SC{q;mzD+V=8v;ApqZBa1k|9Nl}K|osV#L;ea=Of&?qcbto6l$~6;{1D_;9Lv_ zAP`VNZ~O`}Zt7<wU*~?)&-vosM*(6%)%S<$4zE?D;-~ ztW4z^?jx=&D$=XS%Z|_)lOG-4H};IMH!m#L#Zt=|Y^rC{@HA##Jx8)+y?90-sUJs# z`i|FW%}#j1$uxbIZC>x3?FDWkzj_MU%wd+g=lP=eOqbU^6N?zM3W5M`B?fIxyZ2z@ zrQ+djZf;v@^4=xqJZ|lR`8x=K$%xNQPlA%el%Ha7r~LPJ@RR*Duq$Nu#Xh4+EMv|Zq(tvV?aq@-bI zOvE)<(%ebp*-=eaQcd3bsHlwQ=rjP#_~}0B2d8%D>+=ELd{rqLeH28%&Bbei>$&y| zV9|sPA_EB9dGK&3_h(c_@I?;{h5^>Sg6~N*!1b%pa-GEu9LFxN<(4j@%@|A1%{1|g zH;SL-#N8v+$G{g(EACw1IfHCNm(y&01Mt2gqz=zxb`TXmx+WyVL|iiTL+9M6A{Zc^_8dg1}H9 zFct`WjvEi|%#1JAWHO@;SLd0g2bJTGb!YCx6|g8K^=Q8{hvW2ez1tcHa2`gkAHg&Y z=dL9&(jw*=VE+wvHW>Cng94R&2|OWtBJx$qWu(hxOqlKrFNAz9fY=^Xzt+|i0wYYa8C%P0E1WF>d$wTBPBHk2oxRc@lvsAFctVPWz{d%X7L>6yG9L zAXY3GEU{5YZvVzjL+Y%(m1dTAN?liQ4Ax(Me94|TSmk-~3isD$pLIP>#--}(@|>!*I0?uH7@J-eoSYPpyJ z*gnB+=Q-~~Ypo838~mUO@*qFSRQ6PE{B*6IGnW;97q9QfO9u3gr0zzHbZ@gW0BB4F zFU~?v9=^WxeCC6I7nK*3HmfpiO}Uv^w*3+|ya*t?iIYjCcv)uR z>Z7khAS|ro;>Wz-MDi>vPD-zb5*}Sa10=;x=s;;7e_&CTwC~rg`K}<*F8k(vszByn ztx5>fH{R?K=mS>}`^%A!GwKOGiqBt!SHyTpH+) z6L&dTGX-yZ0=2TxBXYevksT3lYvc0wStP-ug*-8+TZ$k9=}4L8%^(ehoR`N3`x`6A zo@%sI8H}%E`p`O&UWEI9hBQ>5CM%aog#4fElMo|qx<>ND>yE%-rj2FH z&m18Qlw<3ZkAHDY8abzBR48fk-*e2vXADnJdyv z`My90vE^PN5k7H#1@?Hh0%6i}z-uzNVJx=V2VvpYCP-sJRQaF;_YBQn68PWjHy;`N zig(cxBPmTz?94wtxyS_r5XN%BQdLT^V!1{w3x#x1AmU_xJsO}{>R7jW>OMb}t291z zyX%r>KG#&>33oA0-k8TXM$T0QIw=NFd8cF+C5kucqQ{uV)&;GE-dMF~=QFV??NCX2 zBFx~!=4A!2#OL8o&Y`K8n?C**ndHgX+dWu2p13^n#k?`CwSb?(?+W*ZSp)gtrSA*% zE)ONQVb?AvxtOx7yVFbK5I@08+ z3Ln>*qte1WWM;GezH7hu0~aSc(mTet5*A+Ci|jzyb42wvxS-yce_y?u zFkH**C)9lt?}ygC7%TJ_y|Yv7UYEyErzXXX+Lx~WzQVU@HcGT*YCxS?^T2*o9{&^v zF_xoCu~{Y2b#>c8c>eBKEOSXz?`FyDC^MPiuuf+f8e$1S4JN+lIV>%lEq%-!HP-xb zw9=4z#!s9rxL<5yMHKckFm~|?GwrB!-&#Expk;l3@29@SC@?usFDP5c>#kzfs8xQV z+Z=7>w^@BI^ia20ntpE*MPNXbBVLOT=~73rM4aLsxgtiG&43)wWU%SnzAH;lKE1#MsT7$N*bxiyu4H3#m!1(_J6J~n-LySBA7?p%ElGfUIgSz=Lw9-HeO*eNRB#d!`IiD~Q6%+hLeP6w zhpfjBemgNn7`$AUI%v{;1pUpvRLS>&fASh>Cb~w{x3EMg@@PnF=Mi5hFLg8;D<;KJ z3r|LBcBouE7t7B!ID|%0y?$*JTNo-(?1-cOM#0IlKEYJO$r6@f^iNLv^FbvUmM^=% zAn+q?CxLR-#sF4<{M*r%8k!ENMkoFlPA>Y7`((}aX*IH!>Qp4X%JB$DVw2q50t9WUZ(`PfM`?ZEFMJK%X0_R3`MB-O9}=Xl(z zO;e83;PH8dPU-HXlLw}^dMXf&sxw3Gs&`#~a5r@%68;^|8}MpMh@;7DF5KR^C{}=qObS8*v?P!QKxj>PF|~>~G-@7}|P}k_)|i8i*FinkiM) zjp%D7mC?~sVeL_o=UL|hB%(8@5voRS%@JO`N@=tet{|`r1?}58hqv0C?TVVGCQsf) z+X!yU@9?GX+gPbli&k{AM<(>Vqwz0-l`oz-jHPs13TKDp=XJ)HFQzaex_$$fUgNkg z|Lu(AKMZlb_4rJNuAN-$meZDUo{s*|IqP3{zQ5rUA`vg9YuIc^WQ~*5J6n`s;OW>4 zdRJQZ<*#-2M3Ueemol;Hz0Jl_x1w%6AGE>Qqb~Dp>%1OwWt1hFf4p?(nK^Bo3nUo4 zfel6XC;q;Q;jeJ|q+2;jg|r2SAMbu3TyE6nFu^lJt>i@w-6F{?R+mH&TsfX%y(o=M z7HE`Qu?BMUHfl1eqgK~09z@j{L!CQVE;UFiFRTi4C+8sIYzSt>G(%oD0?3MKF z@kh%V3;2bn-_~Q7NFJ|&Nr!22_uW|LIS2J;=idjlSkhS}24E;TeZNeel|U&p-#gBd z0&MNH{502uINf=KuUz_@QZ}bPucRxOzx!JFQrX?q8(ss@0yCB)m*i!b*=~OSA%*Z4 zfBIb~BPJZ}C*m|AFW273S>}`=5WuJ@AooaeMoa($m6&<{_9eiMR6c&@E8|@W7iQs5 zN%-l}ljJJ4vmBCNd=S4-mJP#DPZE9PQxlUVnSYm%<(D`#OR0Zkgmz(|9qQsy!VcqZ(>_`WD36tS>LftddNspTbJbtSyl({pHY#OtfbY89xOhOLLqQ+}6xIl{Jxc1d$hUJhbn{wvh+@P@~?;bbXBpB#%7v@9z8^S|Kyhq-BdY_Gh!%3g*HjZ1lP%kspt0haSNL1 z0f~2{?{%S*yaRgs3{wUZDPd?|b|#!%+=d6(QRg4L$MhPthU<0cCqt^m95x-u7j2G{} zaQ`*;MDim&weRShuO|nzUZ#6!co@nnT{riXOtv`iQb%@BmS}aLY~r{LhAUw_-RrO zQ7v+Z>`!FIgA=L8yfK1fm9&8DIs~^Eqey3G$F=QO4mGUpGV++6khd?WdGDN!n-$E(agpZGiS zEpRkOKK|ro7A4u+HPsAb>~T7Y4fhOUmI=8iriYh^Q5uuQhm*8$!5}*6ub+y%o0K0m zX>%>yY1@!}Yt-iy#}=AmMp;L>myFcawxlm~6p#B{3<}bFDiDq#Unomt^L!g4wQiNE zAYH`r^!cV5)BGqbpsZXR>Gj&JcrvpF2A@k@sJ0`&@gNgp>dqd29hTfHkb)py=-8fX zG4*3khQP#_;w)zr4iUFdbcUCj-3F;MEy$V_OH#ACXxvyK!$|uh;7;U5+^fX+fLc68WDx9k}Ig4Hz z;8hk=y$bj{s@Ptk8C0f#)VHaLNQ?J!^0*jfv`RqD(k^s_sW~%(3&f52{(a1i`(L(w z+7G2f`jnksa)iM$3l3+S>W11FWvazHcKm@?iD2(ma>+*JzZbHOHv4 zQkrtN8grli?=OjDquEobsF~Uw#QoLqlKCN_(V#fvxE0RXq{l9D`g&`VM~wqmA;$AS z5(Tv-{g+l|Ddw;Sl&Ydq11Zc?dF)mcRZl}XhX_mT%tA5dx5e(U*b{kcOrVZdV)Cfa zKOj*)?=nsWUm&cv%O=3kcV@cy^=Qf1w^q9dza?EGMP|bXnYcHW-R1j1u1x4@KyiK| zeleM$6T4mvU4n48yS-pB{E-1SqVu6fcnrobr&U?pSk=ZGue&DgY0lwpnZPz@3Q9X-@)~JLTwV^gO7s2-;-b$!;q(n2_u|v82F#QzQ zoNE9H&r44(9Pv$c&&PvL3fMb9exh)SD3H69B6Ny)c-wL^m?TLyKV^=&#mM(bQJ zq@qKglFmq|<>Y-6*ihId+grkv6goS9K$9ao+|gpOy2Ch1#$;8_PZy1Gn0hx$=GEd3 z_&wyjmU`To0pIFYbmnNmA*}QBu8<`&d$>7L4ZxpmVWqP^d|0fSK1M&GPn|$*;w#o46_J}8$(r1Hw5DKC-9#p+ZeZz_Oqz#>{KVdsxHZgXE4 zfSOxp=5;35gj9`_xoFwNVKo6bxpPi;1x1Q)rhMkDh=G%1C;)gz!p9)9+f#1X=G z^M(Y#3)+7I$)@_a<36(o_g385d(5`XrA+C)c>ehj%f0w90Z{@I0`GA?-5Yw*tyFwd7s*qZ^b7kD$xzR-7)F*-?GRW!nYr}Vdl@9&ApR< zrVXwC-3ac3KNmlcgCV5p=37zp7)>_*ZM(A!ls( zR}e3AYp#IL}CHahqCDA0(JHui=R#foR6CNFc|1}1jXxC#W=;^lv9_T_dK2euNJ zO~6Iv&PIIBwbpp#>a^CLNnMgf@Q=p1y67743);$$#y#BNXm3q#sNc+7yBz`Pe1>SQ znf}6i>Jzbq@^Mp6DiZdPcTe|SQ%O4Vn?kVxy6t<+ud)z{&9TGON}x{snS6r@$sf45njPQGQU>+Q^w@> zC^c#37Y+VE=h1ayONc`r?iuu0mh5xDjvPE^hBHG zT1CDkNfvXn2MJD^B$Qyx(W`+v?HJY*Jzk$VUiX@V*{|y}lY#_Z{IeGLNze`WjBm79 zu~N7$AAIeQ?4hz3%l17rVtoV|E59iat)(L@UxLiV`Lr1^lI>*IO4J6MjiV<7u!<`8 z5Em$j?M`Fu3UfGqW`8J|!0?RZXQwf#iUP+0MtwF0nh;CYCStL3bN*Wkm$P2aqQMC8 zYgQ*Y6y3!y>6(Q5cQ=kvf%C=t#e!p^C)-Qpg0QMV$vWbE!MP0-}^+tYAOlS9Wi31YF}4Pf5Z znPNFHx325tnfDFPl+iEv$GMA8O#pJrWvf5K>I^(0*7*pswK70TB>7yBLjOh*mpd*53f) zQIOqYF1Dxw{I@d?^TfSPq&`x>o8#R2$S&>2(4>hnYUpl~Jc$D(sz<>!&xwr_e`f#K z$sc*9_^FT_n5(O!i1Kn6E4o(6$(@A<$Q>5<67HI|Ktn-w&|TUB?16@2wq&(#_WZj{lVi(93`tH*-tipI9zGm7JZpZCL3WVYI?Y3P#nfo_27O5Iv{+qqEH6r{#CPZjzA3gCJ7@AO-T|1eZ@_Ep=eEmjkl{p(yzL0U7N!Cz zkanCOKgd`jqPSjf?GqyeS1smQ_1**o=FI z&AX2xtFu%#?PR8Zhe&9;aqU^N|19{PBrT-2V&9>q*Jwnx=ENty3x!^j=gm;TR@lwB1sAXr8}3%qAMB;g(!D*zmkYrA%TSkyhlbK zWaIBv<;_FN*h1bvlg8&FMNT*Xn;+tJ^!saQ>{FF6aN(NZB2ko1*r(4}?`sn2fwwQOD=j~6{weJ{;6(Vgf z{jfM~I`{QcGGg{8IF_$Fqa=bZl!S2zMRwBEA!{tekn|?<-a*yTjT`QU)LBiBwE?_5 znQ)I}wsWeUT_4~_Gizc0y-P`h1wnEmCS!VX;GTXKcU3U;&=_Y3%YHIqjz9OYYc=V1KLltS+O zcMwe$s2C`?8%~;yd!{A#Q1Lj&Hhn2;Gi(-YnX;`?h!6Y|w`qQ7ojjQ^SqtEAR@YLS zV{OqAL`Ms1cj=T6OytYFGp+LJOhb~=PC?i(EMNth8Y!epo@IKKQS(Gxd=IY6kRE4SiF-D_;E49QEEtjNh4hyRI*6H4}EORf=G?N(mgqt~Q z)8aHmTZc&IS_Pf}wd%V>TS_Vv5`E~VJZ(7v2UlEF{B6j5*(^j-P5rVGC2|zzk#P@1 z_Wz;Z{*R>q57ys_b5ouP1~#QD(>F@Zj=zhXcVx3bO5Na$Jp+ARl3|vqL;+(gXpbBx zmU$y%|CpJxnCDs1O`$E0%|z-ya)N{&&~Ao%6uK$m_+5nc2<+jB)DSL_Jffx6zrDxl zlf;3bKT%xi3!GgV32D#4cU>(8a>h7JQcx{V6FD{VPMg$!?|zeC{KO%F9E&g)P*blh zWg=bW&S_~~(=M|`G)^2aQylN|U6q}eVu&q7-&UGK`bFhH1A{N-xj#ak7UkHbxe<6U z0F8W`5R?z&uV6M;L`6OFo8(4>rPh-NQnmEb&|lY!^JnH;@Rq;*KcA839r7Q$!y7OcbX(z?ePvG!o8i39gD_*JQa-a3JO38eZ5-7tV4XDoAGLgn>OB zsgS0oLH+@_EUZy3c(*j{jSn*W0fckzs5p=We|U{wHwBKd5Z2FDo8@TXU3HOd;V^MS z*E|`Ug%Q=zf38f+sDp3?B2b$$yE=bzS)o@|H$>cvR{_2A)39r&ZbT7> z99niyL&|r4>14=8;e~M-49r1&tH45ZBa4;H>(d|&ujI%eos3nDV+HUBec<`%%2M`T zz$sXzMm}I=Cokivhw)G#Z!mqs??<0NAzrH+QpbJ5^Mp&q)zx64o?PldhVA`=!$l+M zd)Pcb4f~b9!V{a%KU)OAn?0PUQQGSn5Pc+R9cwqtQk%>rwCjZ3-7{=%39KeIzaij7 zlext#_AvId$5Oyh#J~wn5`aE^dfLb}QvAJ^u7%z4XG|~R=|K%yI^>LRHtDojdTcJ; z+zF#pw8{ovL3+B~AGr@AJ?i&r;&yG5r@7S+B(Xag9_!R){#|f>Sb->H z)9>YLFRr+GF8?WGiyO!z5n1izo~=6Cy?sE6Jwu?Wk)r2pcM%9b2fl=*8Gq%yO~P(jY;Y!!+j zt`@*mi1_R&1I@+zD4#{n$0WVi?4Z6v+9MYkz;;CJ-;gphZ<2u!S8X2nqe|4Pl-zFR zo>sm(e}aO~)HwBf1?0Sc0rl#+>K0PL_%`s_{=)g*m)Xi2S*2OST77GKx~*;5N+h!} z$iA~t_sOl|;A~7kGZ@xZW=D8UgUj)?my{^y5ica`tVj6M8CCec@suz|ZHF_yPy6EW zt2=(76M^g}2^c2eK|1U3!TvknDd)faV=S3(7Bab}_&my!G-E17?U3d?3bZPI35J)d zbLr&PIta}>HNjbxY(^QV)9v=57xKJqRW2$r=Ngnvq<%0 z4a+_p5c){zPiBltC;KSyHd=AoJuE-X-Oc+x1eQuFN^b|g@t0p8Nq>Zlibo8=Xw$zD zd*5jJl8jTUR#HD17xrGo=|n;3n#D9l1Kc|uL%0o7WGv~C{Iu9rgYRY~!_?E_&KRceLeQaD;vwe#2Mfp<0NQzrPjRmzw}o zGo{n!^hT2GAhR+=q~F!^Y2d_OvK$WXv9?YW^2sVU?qG=m^9vy`1}86tw5zEz$^F%G zEJ>+Jt41|B`^EfZCwN_&ISEDIMN&)7{*v3Bz=f0i+gmA0aqU}g{rz>9s-G;fggK0b z?D#^CDeLNbl^%E3ZF+3}?iv|xX#8yfB%)XG24Gl4R@w4bhQd~wIms zzWoJ%2)0AOSH9yCSWt|&4Ua`Y_uaRm9*wjGmc2Q&9#gF-Nr0Y0=oBK`i-Wa4Z|LAR z#Ng2%ur~39QY9KJVYd}ar-yz(b0|lyShOM1KO4PFX53I8QDQRA-)4wVX>w_(vzh8lW;%LzVz?d1kJ-6Pd6Uk&C5!&8EnWsys zk}n(C{29QBY9#k~rZI_|tDfl4pr%$tGW&AF0EyH6qA;8h2XGknX}El_)b!yA-(ybNFP*?yGQApo%Q|f@s$n=i|6)4ur z;S+`DZ$F+9=|rAc&X~R1KDd7^haBa!vf!m|>Ycz{{lm25^Za=p)<9NxWltXLZ~Tj= zuveQa0c%qS_IK^t7-5wo>>-&@An(~X_o&x6{ugDuA6x$y-r&hJMpuO@XEh7eH0*-Q zQz{P1>9;=riEH)=-eg6dl20YjhDzflvNGK>9tQN#9N4>Pl*m zBE*lDE*n^0b(KoL4U9btK@|TYup~7{pvS5Vm3!A3+<>c-%D)NYdT9tcTmm8p3>YYq z%}Pn%$#yv*{MNMiDji@QJDEu04y zfraEzMuWx5`#@<-w;_~@i0U4H!to#mV*J)qqK04Ia zw|{kDVSHfo(`M!jQxr9O-$I>N>w0$aZ{h7?gc&>-!p{i+>Fin z2LNt5f)IBr}B(;>k7DQ6{1VE6dm#BVb13=HPKzM5ofHNd{J{D)IlR^EY#r z-3&CrYm0_DxB7%W1|7q4jA-Ml7S^&YXD-~ld^YFBgG%L=fAJ-Y%qK<*JlvaOGv3@1 zQsez55r5R?**^G$Kj;s)Ui=B)8lb#AuhNf7|3Z}Z1`Jt5D%>Era{zadPbu515S~#q zo14`iOJB6aq1wRxv@1% zT8rO_g{Re#+%WvgUoFBkSz%CTGYeX>@;&@g?|Cu#EIBt{j|*2ZoYumRq;h~^i;3^w zaA5d{qwld>UBi%y$WC^>lAOv`A9@Z#G7C7j*w`QZDcd(cLjFd%MtWLZ6O+bhfDuRe zqs-mqFOB4e^T&=@Qs`0$SCut=(q2^mnU~Bdm3xF}b$sIU5>v%`ohe7up$7x$V;yf& z{|kY*ap6osrWfPz-$z3PAZkx4N68ix2l^77FU_=$lu z5yp%ty)&O#4HE6zFA;zG!+JPh+Eoyns`xhMQe(~R?Vsz*1>YCfNJHKaeNIvNb~=&% ze+b0LH~aK7@2lhejL>tNWsmQ;0Ebb&+hdHN`5SwI0VL@71Ou|GlyyC*k+VLCLgrIN zz#!Sc4a&HPORt=s%XC?Ym>jnEri47O*;oO%xSI9g8W49@_Fb>05~$F0g%EyZg?(ZA11inpxcclWVXD@$>cjHo*W!Ye zc1u`SPx&buRdF>))Kq-F&@xeU)XNWm8*q6&NHVk)5?lRSH@nB?gAp;{^|HxET`(e& z40Hq%|6&?lz_4Hc0%SMSH4xFU>YbiH(oNgh@~@ca&eCI*i`A~YOX4!f>C@--G)>5L z8egxc;a1Y8wD(VW`L3!!etPDW8)yUSkZDdiAzf}vXJlRN<;hbmo8s#?m{iw3XBGZ3 z>M%0D|5>EI>!G+Tvn5lWLtr`+KecJVvDGi{1gHx6FC5c=;o0=i+`U=>@C&bZ`P`SpGuuuW zVChbI^#6l_P^TWXzWb%hc|c{kI|r~E=%Aa6;?5|t-jLmEV_G`mBcq#Ke|rP!!xFh{ z@JXUJBrW6k_`dQygO#_UQ}b5@I9K>aUrv;F2R&qS0?xjNbo)j*=AO?(Cv?1Xq7_Z|TQ=z*OP?^1WO(PnDhr_ohi$&yz^gv;dE6R5?ic$w<%J!Q z2rB;~^hJMkY}1}7MH-pITGPA}jSjM$s2gPTuN~n71ug#4s0|jzdeq;duSvgjy?7X( z{74`$N&TKAY!v7*;dp(T>(cR+?AOP99S6-5qaONl4>TtILLU{1_pOaKWo(fu)N5|D zwLqXcn2b=%ptu}Pw5bqIoHd5>n>~csJDZ1aIofgym~yYY3odm@U#4ELi|2!yzT^EP zwmOiKhH5C0#NZ^tmqnw}`+TDY|I#rwXZ+1!vG9my2)-NBhe5rp%VOhb6Mv=YNVVW) z2y>!jvUBl1c!%O11NSR}JXcb8szA`s| zxXJWL#mnJW;1^6v^Whjjy_mSCZ*AXPVO6b9V_*wN7Xp2fnFzMn?L7LTmLynXNj9)f zY;n9*g%lPi4R>Q7EK!K+z3RT?G~&mLmki{SW5z(#xbUVUc@lqtj7fe^(lwz#-;<++ zf>-tBx0$3?zP!lzDgL3!@FCVc+pegKxQsO=cD8%ABi_+keAPdeb4JA4+&mqS$X%|u z<+iXbB6R5=y`xngNH62SO`RZ?)*t!2tF0}tUG)c1TLyJEw%YfnI|PCLF5Q_oIm*)R z1N-PK?fQMqUo!u@30hMvEYRem1+>WB9|uJ)F0U7Kx6a7L@%BL*wr*a{ic5W8-_p(M zT?2uttu0h)$E)6rKJD~9)Ysh9@j@V`#{D@EF;p@bNShQf92$HpRqFxKjT;*iv-7sh zc3TM~c1RITEFU!9>$iQ&xmXt*B?(t<&e-hSf*R~M_UFT3#1TF)y8GOTl0acAhTnV2 zRrhI-m^|u!qngH6^r@4Lrhe$>Y0&{hQIBj);wt(bDP2HYKHyh=9RFoA7~hlX*zXEo zAyi)ZHYvewBl)9r5|YjI5~tdZxTwa(dCIb6FZQsTWKU*%mdJ}tZpUEWdt#S}554$+ z5-^I`N7&h2ZD&5JGG7ZNigv~8hGL;G{Zx?bb`a1xu+jM}PT4D+XQ1-1%~lGq=V2z! zkf(}k2NY5r^%65(8#Ot;Scm04h!@Y5>;K{KVA0+Xga;h~70>nsHx*LPoKD~eOi#eBm?vvW|{4w3Vnp?dHevYkH1+U$Mm2PUX=D~Rp zzRTe5-dy0%57Z*?DP~@d05Zs@P4g=8$jn^MaK!ojQjg@*jp)^9{-XjdHfP^7=X~V9 z33QuEf%sJRKl8MilW>o7q_45(g*S;lUq_+aRE(~bw|`@pakTe1ID4yT>CaWoyEycC z6ZO|>Eu};;vdHeuhG6+(pq-X?MldXC8n2%gQL9sPej;pD1Wz)za7?f^5Qg@ z@eOxBcfo|M$k-nF;f4+NfAqK-RUrxTh}e)`M@ILLrLBSEZn|3QPuA2e>BaGf@AnPi z7PNxDxRoy0u3w!+Q#j$yY(WZ$<6obDhtBr>naNmsc2n>~)6hb_s2gd98q7;Z2XRAosfk9T{nx?Kqoe)i_FE zf93X8JaNttpgv%2%!#J-=^jsg-}v{w^?pbHxD}U^b7co@R|`fNFH~Lv(I)p$yl;Ts z9>DLIE5P4(({}e}lbyhrNicX<9kBcoJB$bbyfwCWSKf82(i}bl2XAL*ukOH{&xz^a z;6&j1i(rQD5PfdR*Y`Cmm*%vssjh87I}Jxbea^Am50DwL{XS)s+7F;!AfVds*Ynwy zvK7=>>R4iiTBB~UYKfJK+6R5L#{##h6I`kBz&)-l5}a{{GZva@r&ivfFh_;sxWBN% z60>DlxEH{F;S0&*mz06*{IlEbD=XH3d@%_u{Dg~NbTbB2EvwSo$*FwT2J0EfWpZIO z-=Y3muVkJnvc3^WDdcYp)=Z{3mn4V)9-n7*AzHVAAXISBlic&PU^!FObF5(3VXWqG zBrd)n?gkS8ARnBZ9%W#&v9`|(af~973>!m&ZLluOd3%~68IW5G$tn# zq~9tTI*qLtVd9{aV44Nz@kOTggFNaNniwL2HPJ6w#g!kHHc7aX!9lY~j4;+IG{WwW}8kro@2>rwPq(WwL6$EKCIks7FTr8>Aabr+@_ z%=KeKalH7jD<^UiS-!&Oau>(Q>T4~bn=;v0@u0n%U-q)m~F zyG|NC*7-uhioZ2CgOASv2u9RZN_-@ptgi*$5@!gH7^!FP0MK#9v>&MK1nGI*M&haZ+!QoYOSVwK$IIKF z8Zj`tZ4_S7l^dfm*S9B$dib{(UtR?~Qig1ZM?6sq&MWp^VSR{~#^`}HIh>biuWVDj zG2-^FLGIV*3Bgr}HB@j8GShdYWd5gIchC1?@n#M8-h%00M7p^=_rxr>H5~YL4wtXs z+E9c-dbznm3V$g)F5-R_{{bm@FV@Y@mb{-ieh%qY529 zmUmvMF8F&RUByVwmwTg7*2G}DRga*ATm(lv$R0s@AoC%g*OD51#?YDd;0sNly7@*dXodC}KynK+c4}n{q&jC4 zl4^osQO8+huqWT%y8O;l;zG4K!an$%JPuLQxY*5kWkQ+#j=qJE z-Ph zAva`H-kFQi>l@j0Jm0~PXMb~C0sDw)rRV*d><=NK3!CPagO6Sl-EyQU)4M#nHC%jV z_r9H`q?1kDNv=HgB7Wc5My)8PALY2dK{H21TFd^7Tkm-v201vvA9?xm0UALkH>5uY zo?SnN`^s|@zJsKcuzNm_8>W zj#ndEH7@w1P4hKDYCSvd$&s^v+ zjcN6;O|bOuC);u%$j>9inTC`PdW)%TM3)KQ4Frr$+%IQe0}%?lSk6s#pI;6xmf0ez z8;tQ;XCg-~SdBS(0k>8xlP%GM8 z6hMUwHfb6nRQ~3!diArBk%|#wFelDnA-OCh4o;bGSIRIK=Io;()QLyP%_n7|W1#gy zBi#jzh&iO1xHNhTUUlG1+>xh81oN2W=-7ftNS?qKm?K-@cYDyv!#mi%0}e%Ue!Bm_ z>0Pb)%jO-p@5bn5pUWL=Ai(hM3;HZN=+&em@vuQ%x(dX7V(R%+*16C#g$K5K#1P*C zk`#IaxK^B)+Was2bB{%^FpnGi0^df370;k9v-bt$A0vkxKZRDEFbL{iFkGj_dEhFRqS9{Iv7T#W z*axhWD3;_Rh6eEfmn+4Ti2o>B1eK{1esp1rm7oVQ&=PseLGe&1R?by-{MI}ZLF3dw zEWh*EtN1;UXWqYw7f1nxP+l1U>mr>u?mj88)<^Mm1EXa2v`rC?#~AJKhXbd^LS7xA zDi^kD_ho6BqOt0NqaU2BNS^tiIF`RLOsnSi3+9VS`Np~XJh+9jj)z8#ZJ4#j4BWv6 z$m%NE&Y5r;*0CS%0mh1yw+Kkh%S0|d-w(a2cL)e5BE&nF@$V~x5F^sD8}%ThO9&y9 zl!gB`(^X=BbQzz8t3d?R`F+; z13kh?9%&YL)XI}9Pr`&3%{6N$rvJu5od!47Y}l)2X!+1W1m@M~qn3XRsp*f7Fkv3I z!6z96d4k3VL=+2=lV=Dx3@@>w}^UJAOVj+_3?&=Hya~VUx3@FzB`dx0q8jhFoe+)Ix98>hN*w za~$2GV~s8@xWTx3n+R;YUz!A~%oQ;<1kaFwTR#Uia0y+sKLR{gv&nR57AJ^wQbEEzD5MsiS2+JsbOMX=?5E@F1w| zgNWHqau!#y`KJ$+M{}niAHEJ*?qWxr39CyCP_k@xCa>b*ip2!A!jD;~L@cRRcQz0U z19YDnl$i&k5yGY3lB0)tlKz@t#-B9IRSR0O->9Wk2|E>4lqSyuP*|GZM(N(ji=A@}5`n9VnEp)>~&+jZMFMFrj zReQxGS&A|y#||DUytUYECij0J(;$Sdxjr5<=N3}&;!VRpS&x055H;li5d;5ms zv>V-wJ>vLrPw!mfBfhzJzHMx|V2jNA7~$yKu+>_KHqKUnw1$Z{-w+)h;R5jFud&4p zH6dX*^P#9crLo(G=@R;-y^ltA{5EK%93> z;!NdAW?JpK_TavIB~y=T?9q$k(DwJVm8HxiGX=(nsy_k!0nhaC zYqe=xG@(5dZ)HJm6MBpl(!%=eO!$i*Q;U(>QOKNYVn1xZa+0y zUxGeAfcM0^oELlZiREoPUaZ521e+mRR6eQO zX1J&H(Q)jMG)#dyvwo~5y)%|Yp0WT}ZRRy~e)B?%=K>sw4TydSsRYbCKT+j}5}zRe z=Sb2t<76GO5`8e=`CKRQX`rL;5jO9v$ELR?sHOqm285YDN zvNYxmEmWCSsZ3*n3*Ee{%_iCG-@bY zrin038&-It)3=zjHZT7m32EnKzsZb2d~;1V=xUJ57%Q_r#voDi8o$rArb3yYcM8`4 zrv4E-xZSJi2R5yza8I`KEHZIoAbNGrVFY4L_d_&BK0Mg6x`+6PB?>w_i~Yt2 z)%W8rowbmqP8+;7+Z-&L{dB>-m|z|l?kmQ|!I%ZcHEWM-6H6vgEo*c7n_86h%vwY* z=a(j2AyRBns7zzIQOM7_bObp4%!Wr9v~(=`%Q%Xz0&OFc=v-8s5D&`dP5t}C_GxI) zVXid3rQsZ#EwgG*IQAS^1D&rG{UJ~TeS^P*v|a~ED|y6fHf!@qfJT{q_3@H6s*^F+ z8w#ySCe@8M>B>6Ado6CIi{it`{KTPGlBfq*s(npOpmU;UelpcBNqmcNH)uQ3#i3T! zBeMkkwRiYE2TXkRmivCNXGF#t^|ZQ$(npK4QsSVf)|6j2eyn~SZ*yj3lw zAg*CzNwMi&K~DyXxEe1^8zzO=oF%+|)qEhi_IZ-;?u~<$ARnO(NoVw#r+Dkei8IFJ z2T_H|5RK_i*GzMGUF+bXmG7A4qT6e%ll5mkTv;59p&G$7srRmxN8np|aOYNo(;Q8i z9N87HM!>!Pqv8R;XX*G3xl@c>CN{Rrt3%)_-&#IlB5pW-O-OD`eQH4Yv|&0S1=PwYz{M&@H;CcgMRHuO}FV)Pa~ zCuQ2{tE*V1xuuUBk>;OBOgXLOZ9E9rL`DdZrM! zS_v{^J66g$1>uBBiodQUTT12L6+dREx6H4Rcl9G6-+a`M!{Vb@D7VzJu4z zyu=dohT8YXmbH9yjxm)0c-+O#Y#IEcvc?qGUz@VuFI=$B=;ow!CFt{*-*vBgqMg~V zd{c9oTHVS6*=J7vI>7~HTc)giB`Hj=CF84H>+pEFT zSf!SHT|-LdRzgn5l*Y;cM|rd#uVW)L1!#J3uG#wphUC?TTcg-qeShw7k?n<7Zfn(Xn)t##M2>XM-_|9a*|%#($8dIE1|A)T@Pp_ z(rL8p)}0GbD`k)V80Am}n#**;*#i*jK4C4^@W?zvYvZF9S6O+#5J_Wh;wjAs=~lh@ z8&I9SlSc2!$_yJF3Rp$oSmIVGRVfDuI7in1gdwxG=GQpYNhP-T|AuG>r-LEu1acXo z-EBW_A8_OpGwH`6SEFj<;l~-ZmuBo zkiWXyewg#POF3etPMu`n}k=j;e*tMyB%;97QQn^U-g=`hlxs;#RKhi)b z`!3$C&mi8u6oM#oLXWT_^*|>57rM1?VdVy1G^gs+V{@Ub^vvG~5}FeYRd&*F=cHP0$^Q~yd3!!r^-pEV_C|$04{!iE6Hc5w6AJFB z1ZkAF;E*$)oogg$MK(>l%21L*%>FiIZD2Cx1EuAA9k*F{c+db#)rraV$tuQ1#tR%o z>KQIEx3SR*m`|5oyI0)NqF=(}L{c2FO$j#(^u-S{aRvNrRc+gtUi3Ct`<@zj6 za;oPW5j_?P(K-_i{gOW%Rx8$_ahz>y(22@SDq)VOY?Nr3N-`2_m@I5tDo+BbR5d$& zMAH=%Jrx9~YtOoTC!G=tEt@IP$MjmYb`uq6YJ5LxNVZ?7^BphMv?DP*_6N)eJ{;F= zV8~**5nR0H9o-5u3uV}Dd;Oa(LR!?HnFNmeOIHv|?s3+dieJCy(RK97{S+o@l`)kd zkiZCB^Vd|f(dnIQ@TreN78_QvZ6xg?q@lfS2cavI)g(M zSknDhZ@fN3I(9t8|LAt4^_u`IEM&Scm4+g`$y1_G9q{XdyeL0WVRSfH z-Xj+u=yfMN*{EJiV#NYQilWGd#+hp;REBawW_4=xn-+@4K;=fu}@QnIy z_Aw0_MD@!E>b`rseKPxi32m5ak;>nI3p94Pys?K}w`uP{eNhj4kQN@{&8fK3~nr@HH{Nec=%Ac7a}Z+02JMBFHEe&{r?Vv-*lNUgvwJ@7t6(7*%>TstPE zK#=$K8r%L%kzpsN{#9ktZX5&*x~LewBKmDiX+Ux*_5PPJvs_#I>~l*Y-S+uy-O3f1 zID>$FbIaF*Gk)=}4o5!0?R=^N-j957B@u0C zOvLr%m0X%QQz?Jv&_&=kAvGZQ)pN~KX%~jq>(yev+wK}h?OSLSW~it|oZa|vu<3L>MV^AyckNw3tVEoIvUCw8Ih|z1Ul*`_ zdCDV`v0|eb3k=_KQ^n+_4J_qjPG3%=6nFOUk81ggWWIE1?uV z2n`}wj)=W8G{@^=nDK!1P{~mjV+KMOu))cJ%xFbQgrk1fT%{?sqr?y6JpA6%Pc|6n z0CVs3gQRlBlCz@X=8}N!e(ob%u{k-E=8Xm5IVgqW^XGk*P|=rTw?%cG?}?OD8hC9h z#~9tjMJswpNZ(`leN&*ZbX%gv@}TNVJtp3Il>Gw3E)h5p+0XWa@ZMWatM7sw^TaPD zT00OXePeQKCwn7R_*n-Z3$qSbh{4Wgg-E1&PuDg5CeyGhrj zwq&J`y|#Wfe1mxP7#(_?NxFFt06}&P_4io>b;$#%oy@o&a@ie`HR(IJZ9_V zf)W&G{l8j4i%=kkyyb*@xDm8t4KBZ8zO#f5`qtw4i^i5HZ0*&5tdlOfCue{c2@hq3 zmj{WRcRR4+jZdpe{KP%5u4+5M)jcz5FPF66+631Z-2=RSnBqls<+|csT6YZqg%(ux0(gcHtnNamzih0SWWJQ?DLEkOrj==!Zz_3N#zfq#*Ob*L zAixnWpWA{<42uw~?9ay8jvfqYP!?m_+-LA69COxB_p$w z(B+%a#aTuFJLJJ%BA^pY(#ri9J@sY*g1J1`x5d7gZxH3vmFg31V{nf_8G?iwXs^gU zJIoXd+t@yMgHqn$lh>w%x(+$JGqz`UtF0Ai86yXmyaDbShHl*`%*ut!G-f83T)DLG z_OW)_%ti|J*(-;y`|=eBFl~AHv7xZqrif{!643zUeKE61i0UnBcRkhSh`{JX9ZuLn zV;HCWPD$6=ZM5MON3AGiJSe`LNzHsNleFWsU_cix=<^9EE!I*&=cD<~&H_$$90R;U zrk=eWK$i)xnPIg~39>*wLm&x{$yJxcUCGWI_|aAk1?ki`FY&b7S$#}!b{0o3{F)Th zuJ1-pla^D<(OflLGNsYJPP*#KCV<{>Qxxss$_rU>5pJlw3+foO__a7}r3PVpnwql? zmQ99#7mgGe$DPt}(Iwj$77p>m4byPqck11orXBI*u-73FH07*T)}`oL(OBM71h*cn z;j_&iz_qy>)BQ#r_t0TRRH8X@D06J^fF~y|_DKj7mwM(#K`sqWFMo(F^{|K%JY5!= zbu48o-j(Pxr$kWbiRL(*HvG+Avr3v6-=DtGeDk0eZt>1Mz7^WfWOp!^3lyX4K=TU< z6z$|dC;7$6>7w?HoaT+5`D)(kSCo-B=0Xa}BJQ?Bw2}%o$*{Oc(vs13uir{mufwe% zyxWmy-GIgsc=zU{-jX8Z{kNM>A?+TdV_bR#PU+M|=t16r@bBy}_+cj!@w~5z53dvY;i%#w?>j zYS3DTZ(vYN5E0<)XatwX)iWPKY^JC)u-Yndq~xOaPYxt5b;1s{L%&(9no&oMf0e3A zjQhLy&SphF@pM6Z6uhL!qIq?)vy4LBz{7a|BnD;@{){QV<8;(>WH-ua&8XSBi)@V_ zfUmpYwvq5VA2JsqYJRY2_&|9oPz=jL&6eI;xFA#A-7vJg?fJ(#TygA7NB?ZpvZ}s7 zNPl9wL3q1rAMFw09FjAYdGp2(iIDE^O8Qu#@5^u|U zb$hWfjea4tgwTzstdUi?VyemkMA%cHDe=SWE$i?YJ8}@h>0qaF@Y&km#@~6-V!8%8 zNGgXnda4WovbDYqbeg6Bf}jIQG=))Mt>q>j=K}0d6L0>D957x&o~A~V`In-(=5!BF z$1oNK3@TGnd2*1xR}}di!w1>h9eOZi_n}1|dbme0==}si>pvdyO!Wr-8WvK70z7 z-BEhKS$1^{@i?NeD*q7?S9uY@~S>H>3B3HeYHRo(*AL$ zKZQ48biBkDmdQI=THiFb9rQyzQibQui=~;eUgW}qZL?Fri{`~^4BslkH>Ml-67LMP zWNsV~e*NehPgChPmn@;WS~B4s&}dfee}nle*A%0uz}}r-c&yy)-SimRdF!0DY^DA7 zghIakl`p(*_(l7i#;QX4Z(@ISmKp=h35_TD3X*roC4a|YzH?Ki?UT4vq0T!35N4Wc zyIcx3UdW*`B^d8@XKDUXjm0h*qiGu#d4dOAEz%O<$Rl-*f#YLD_(k06z3qIv8Lmi2 z)K(uM^fz}zaOv0SXt!9nqrO`;tZGpT9Ma-nB2I5|#D@I_F~9x<2BV-tU@JfUCke1l zZmao%@T0a=7RaWJWTS3H$^7m zhz$!OZY|fltI@ycdnSbf zjD+D$deR82D(}jDT~w*j(Aq1p75^Fd3n#83ZJL%^9RddvNsfXvs@&QAW)1aQ{Cxbr zGGl#k`)D}!v&f7NGoT3N1q0oK0v5plH*J-1xt1!dS6Cw%?lf zjRob6jy~_vit*dOejj@8yrKw$*>0GGD$GKzPYPxOeD55Mi(aUBp)S}D_&Eq^iFjF! zs=}#>xVA`DDT1HtBR(_E`+{ALts*0l1`4^WQ^t&TLek7w4qzJ9t>p_8%O@SSWZVfp zpH(^c?O~s(7@U)U?~OWTl7N9APb*$BgTO=6!NcR$qn+0?W`RUzgJid6_kY5IS(!hZ z?|Gl;&$QE9*`*vI!OXDW4*lWkvJpf4xBpHeXmWr3xdYJK`t@+%;VrDNDStc@!`fjr z;J*_O*AUVXbtLi0(xi1acA4%BEwrce17IKPm~M>j8G4!646%T7DLqM%emR6x{eT%j zb+S=!JQ zgAi(7vi{7bm_~3S%{K@U$O3le+l6`N^-Z=(5ikaj+?v>VRg>+V(cXA2iO-* zWjTfhSh#>N4cms=ABgJjiS8#OM4L;=Tq421NEwSfM~s=&X)#R*zC!2FQZC1@)1|>w z4)u(Q2Ig}y>l6hrS;Aw(9=%Nmol0>GZD;>t>d(>g!`}ss(lvdx_o+>4v8;+rVZ!!hIQu z6O;M+HmZ|q%i(ze)|>r>pS1((wVDARq%~-4IJg|N0UjtqTgJ@=lSfphYjutrybp@5 z*d9W)dQKa^BdTySpYtDlfJ2`Q;c%=|tWB>@JtXZ~cCNh#J-E+pY78kW!!~*gRhXE< z5`$`StW>MXoWA-t!m7E6(9i?kHc6_@SaB7iRwjDjzl8Z8?II?VKf0m#)}EJ4p;{DT zTVNC=BAo>>SuC=7F0Y4f-z1K@X8V+uwj%c0$p4m@U#-8T zf(E?*W@vcrY~W+vKfj@&;Lo66F5Y+?Pp0ctz&?>09VNn_ZPbUdAOFDsM6-evv;Gl% z@&$u6{>B@8{qa~-bU{_3Jg9t_hTE3nlO4t#$FuWgS(;6kFYuXq(;zpDE?`SYQd_y| zTj{8%3?^g?ir{lqSz0&?kY`i;QL#f}j5$epPo@=C($?G?HfOeM$=~G=W-`HV{U^|( zcJBiZ^UuqKPp$L2GQ(r>8)wB#AowRb>FS}+dl!Xp%t^rK^ktV zbEfxj0iHa@n+dj>uZf$+cPKq+oNjVTMPJ8bEhw`;t|V!C=rt(*qJI0~H!q5Q?TF*E zUr$b>(7^VdqQ$j1;oP$i?4^k+*|r%`YKAzFhVLmv2D^DYIu8dLB|_`nG$ju8t}r)u zsyW^!GKe+zfxUSRT!U>w2~mAtdkFj{yQOT&vHmk7RaO-z2Zxkxo&%~kQnHHcdIlZ4StM445mU=T5a5T^DmXW(PVX&ZYZbk zCbJJvWEqHiei@aKUa!m)h^xf9}j=d=f~I822t3_c&Z=&*M4 zO02Rwv*EK}*jb-2mzHHjH&;%OM^*kAV|USVnf_k+aWmd3s&$&AfQaO-#J{D!4L|Dc z53eEpoJ(7K&6~Wb&WJdXHn65K_g_{?gIu|u%%ohqUGlkQM?tlZvgipdMD_t*##Xp* z$k=c4HF)0|MWij_8lgOEATM4&_DHnt7o4r#@bvnQfW z-Y!g+YmhG01yo)@Xt=dmIVfXDm(h&-)%a~uMU zfV9gnM`WR4lD(-i5`JeK|Acb<)QP?mHfPd#J|w=)b&gh+s2t?-tRhbrH}Vsv`p!=> zI@MG4zNQeo8tnauRMIsWGE5fc37GyubQVz?E=Ks0zjAr$sq2;pH#?>MIB(e^V#4IQ zbIT@d?@efKGCVt_!~!frd@5#?EK7VB)^9HtcoO20#hF54gQd@5n#0ZB8t;3-7*H7S z_}kqT2Z9cM1gsC@kRf4M?+Zw%%8_e?_hq}aW7IxjKJgCCTe+Pe2<2g&+Bsx^p5s3D zO3+D!&-@u>BSe4ipgvU)XRzv9X5Ko}Z^b)H)9*P8ZP^)U;PhNnFg^Z!QB0n1g8nu} zQ0>vleVEP_BRnY}^O=Wdzl+a)Ij!U+iSn-x_EFdvjCnq$Pu&oqjVk2)W=)yDH$T~S zbXR$?15$9`RLeLdw?!-GAdeow&N|E=$U)4gL4$-`!K_|b+d)h8C5CoMrF}On1vM;3 zRm1@XHo;TltM>evqp>kT(FDU;pjFxGT+!M~+(Fm}ZbXnBDm-U23uE8*YI@^)7u*QZ~w-s|w&qePoMi z$t}3wb)bMpF51_-y&~AlnPbcG3)q9a%41-l)cG~Dcz(GtQH0LesMMGnKh%4ZQh#su zqSL0+ZoU5mttlWOE;vqgk$u!Mybt?cY(1jkM!A+J`BB%^t|{u_1qOd(@M zel)HI6B5!G2%r6m$x;l~;?Y%G(bVR`6B4>@9c@q9dR|)SF2-vcq+5UWNwpi}N{4ndF2=O^cus#^M>0$4wU)_%-A7bB2uUCZZDBOF%rJVfvab2$5Lsk3n4+heUnIDyS z>GLH1!&J~GRHEX;>(hy^Uw4ghKhM zyudTZpQonR)r&v;Jrdtiv9{YhN_>NzXuz50v(=Xx?`szWd7VEZRLJe|OV9RJZ2?it zJ$2GwrtJsC;cR!9^$4+WWwIG%)*ha{1;H3GkrfD^#6B_Oq64_7^rYTinRgl_>Mgul zZVSmr;k+65FO?M-3T%sS2)`0zzrPH>^W@i~Ap>+t$jUw?et-(L&07r#104MphmH;7jw(5PS(?UX{{;e5eB zEF~+)m1-t=o2(yy_ZYdzmp}6sW3B6)m zD?rzwDdz*lbX9-J($-M0_zp_UgBo&9mp1>~@R2b;A2H(~JPMDlN_Xaf`|{t}=AROd z=w$~Z%DxNp#X9T+8IBg~EhH8t4m)ilfL*SSFwrdsujqJsIC;N%m-Zn3j?<*O2Dd{E zVsG%jd^gT{`pK^ud(nc*VD`oKddr@uZqH!!ASNe?+=Xa=ZhyoQYhD%eXB`m@Pf=38 zc0xZb5fugQp02S_?FjO>InOQvqokOFRt;4~zC;C>U&!Cjn2hmHbKaa%-$e?A$Ikf7)?5muc^02bc}lxP^;l_gg;ST#>ZfD=L#-tIP`?AxnsZKOy50@@R4d% z&rI4$KK$v&=qQugMK&#f%TM454r8#rR_rH6r1*Q6{rlnBk*D}YU0<_YnwSywf!XhE zo(n;R_jrm~Mi?BnW$Gp#CSWTa2jSt85hf=)*zGXSR6AnJWA-I%!V%3=!#hbZf9|1| zF@y)I>V@Dm_o^?Cg%rUBEe2yQxd7V67@ivAMaL)YyLLyA)XVQ zH6eFY5@jai30AOa$guCY?V}9k-!d~7l4b}2Y>uU$D9!R41Zl?3MvHLaql8D=iBfa@ z$S$8I$P6)5oa07O!JrjJ3MS8*n}ii%R|UyQ@pB;|vB_(~h4? zjY12ZEu&6Gwj-id@Ttav-}BY}w3vdb;OEBjSx)`}7H*PS5cAMNm9;zjDZxS%HJ<#Y z^Lu8Tr?$7H77bq>El_-05Dz zfcByCWOfO^`rdT)$f+zGa1d~A!NY`&#E_j&`fZ3p38AoY>{kViUl*UiT>6q_CxC7= zK;g|4CP%Q0rA5ck)x)-{WTI4TlH%-<&dD4m3=~IIQ`TjOsN{lEZDpfZkYQkb{ivg} zI6ZX10eLTo!HX9-NET{>hEbExXhk>8!XgYl6@G^>_BOtXM?d;v0* z!RL>wB;m5*jT-rUz1wP+U??>~{0tsZDls@oxqaMxjb;|YHij?P_pVOJVM3ULIe~>N z-W*B2%n}tABjsTI+Bx?;ecB#r;a70M4ssz?Y(Rg0Va9I8nts7N&3vdY8t~bG1qG9$ zOR|E4+r(?7o70j=a z_x#EXS^qG7W?L8+{GyN%KaHlIh?`M7OfIW1W3RMWg9eT`+d?!Xncb5zSN!7Gqg|#4 zGfEXTxb06-PyAx2oR9fvmND$Zx6Zs_k#H!n_FF5;56XpP$QAbKlb^v)Nittz8h^)l z<~BHxhTPjPV@AIUB3!&iHPiFR@E-J*eI7b*IwJ!uTvoFTOJ3XTrl zmwSbD@e8J{^iNNmyL3wRk9Sg&?eXz{kIh13V@EMTDv}nwqqTlmgD+zZ$S)qOJI2+*6I78;ioHAn- zUn@REF>$Ib9q0{W(x>W7O$h*eRjqx=$wwzn~d-l=R2e^;M zjEc@diL#Fs3m*-oe-26&aML;CA~X)BxmEwEpAr0d;S7HYFX!JGk~Av{Q;QL?Iwz-n z99qorkN$HJBz5`?cxb0`bgeIbWLN1O-IXpdcYzWyDa^lz@8>h0X>5f)sC6_UD{T<3 zI9955LJohDvYr8+#+$0xAXnC%IJ$>iLBn> zyd)gL`kMV;=x6P;Vbq!QA3 zI=4!s-<9*=>}VYMZBKVqninKaFhrvp@z0F!J8BAA%(@l48?Pq34ahzBPL8+;DpbFk zqqIEe*QC^9o~F2mD+o13PJc^zS@m;hIv>xNF`||%0>+5!{PdEXxpK} zJpmJ1hs`+R*?TMs13%|zS{$JMAT}=#q0CqfItX*jZIJf*rrSdst}u}4J5;N-Z5TS2 zW$@@ADCVmJQd#-b|T}0oCMHOj$0|hMJ{D=jXbi1a_&^_$XiRb0~}kr zI5Wgs|wC_bo$P##*|y zy^(MHTD0B+-)Pae!Y;lvQ$UoAV$hye2;bxBV;Ds<|6KqBedrqd-2+WOvN{|Fe8mk? z#~msAp%h;N{!$0INDTIoEs^ftMb9(A0WJE-X=dL~W!nB-fBs`4<24(R*R{L z9WSfu$2+nButv?v14cfp8gl~WCBjcz^IT#8`{eL&9xLZUuXb_(GmHQ%3Df8JvnUYo?+~P0&25XqqV#wl6{o2yxUZ%UKml^ zQ=$r|a}5ec*kFJ}-7gmr6YCsQ?=8S2*P!@c8%tWq9I$Zic;T!>95POW5xGXzq4f(z z{X)8yw}nxU-%$pepW90&aNBVg-#M^56FrcMeoGAC(-zuhZI6so749Q-d;U}IGoKXZ zJ6(Wf>$|(UOI}36^J&@55kyVXBpBu*b zUhus$E+eYumv0VaX&Vcl(4y#gDO4_3Du*dR03CCvZ8{*dQ(J?18IG#V#w7re zVh$9(0qD|aNZ@oTOO%lni4U=cpI#XH^D@HT*lTr75`DpY|09)&i+Z^>yZK~#>bLW= zXHOqB$2-XZ%a?Dw|KSBcN3*3jQwROMz!@>CEh%R|}vlN)M?e<4d~y0;*Nl|{X^ zQb3jdVc)$z3rNvEylXB6^J6#v&hTRG`d3p+!Rc6@j5i`{_MSh@8nilJ`+{~A5ZA>$bejCIhG|-k*r=1 z2gGnMH4^_v6bK2dB?2?Iek&1-qeQ17@4{i_&zu_o|DQNP;y;`Ku#bDIjL@WS6ZUUQ z;2o(eP*HM8N<3ZtVc%|mBMfNlSoVp$<=IM+-}L?uP05Mpw}fqqW8J6g@=<^9HAtWk zR}55d{l_rvJRRrrfkp4!c{f%x_gCa{Is^PN96o~zK7Slje;q~$Z>feSWIT*@4K#Er zZ^QhX8`UQPQnW#!;){=Iz$E*YN$#uQDWN$KcTMR@lDU@#d*hDq=GdU=d3Mtr_xM80Oh{r{D9+l~k z##|xRZO9YueMHEXtE3pF-+N3Kv%kXBd|?-u>lbw`IR*;yep^KAKg6}zW7iv=6$6a4c*_(b zm|_c_MTbPwr8I8R6e=GJq@Lf)mxVWynT~y!0!8RpbkB#GMpw(o_(Z)#5HC7^G!W(x z^-f*Re72~Z_oiS<-J;Re4bUCyWz_YtF6){OH5FG4I~Ds9u(r%InYSr+Qrcn=*;W^Y zs7=iWCF=C%SYm+8I@IEvs)2qP*GU!2&_K-Y4unL>P$xgE5Zdo0OG)Tc>{?H<=}f1N zGz;4=PLnA7Xn6^W^Fbylx#Xjx3@3@z{Z5aA49Z*4kZcYQ1-K4 zGe7=ukBvOn8BYMau^m8wtwDBLZsGQK*UqV|%(J$SPtd0_beX`~Ie(|}P1sM|r5X{z z7kVQZeKE%eqaF*LF)?HLPM^a2k){#)*&1y6o9+5r@wh%_*7gk_4l=n6CB$u-R$#;3 zC8VHaHr^wpyO}lv#i1Sh%&XC&bETB1vcXJ8+%sQEepgRtO1aB0Tc%SX8qE8%yy`tp zC}qw5oPg1oHVy(btXWceK?O7Wf$FuFE|X((E!lL1%Z^Bk8?jnf2?Az^Qcw? z+v@~ca<=6guhScMZTS@AFhct<+jJP>Scj%GK4{DS8t1SJQ%ezK;@Z+q^sMCQ?On2U z3u~odJ3*2I9hsr27sU6;bgg+|$F{eN)Wypo>fWW;mjzu|PO;RLn}+kXa#+20k|}hd zwvDbl{P8mfiF$K&lcef?~xb3m4-Gs zdiK(wK(}j6T09%L*7b-NBh%T-qlstadaG@9^^jFuBGFHq7JS^Nj%kY$)@xZSr1eFf zv@bspKo3u8*67iEb{%KGLAFxH)3$xqkQwkZm^NXDNH*`&OR>l>TAv0OnV8THGaeSw z0ZTyD!KAVSBarXCuFVA6F>-Bwn^`^5Qu85b>3<>t7u4Pu+)Rnz~4 z34BcGuvE;%Brw>skT{QY;d8@KUSXETG`2VsKMz&8ustPX1MP9RQ^`766F>!#a4TmT zF2p5pb?O&>lsA1UXGBBlMqx8`bd#m2W!1H2k^E-0qL7~i5nY*9u^g{(jv>GkT=V%^ zCE9CgQ(9*Pws8xe?tP8#tOVHYG{)~<*)Jca>O&*!UAKE z3R<4U0c%U?7aj+Jt|CH>#8}BXg~u`s#|%UpA_AX=6yQOV{?!YjbdKx!eCEKF5>Lk9 zLP57y3mfORU(hA$RdAgM&RtdV-mw%R9)UYF^{ccR^Z!>Nz&HORRm35BnS9!IRdvM( zCQF{vv(@pYG;#=QPyxaXH6;a=M~5y1wHQ>B-1ocu$BE*%uQyMJ?bLKWDMfF{v zeKuvQuSuquORXYhX@;8J$_oM1*?Z9iC9kSvW0)`NJ%W6pbR*dzY+~D6X}}Q4&LQQ! zR;;R=@2(&gW7m))5{5z#5_YuVXN6$f1@QO$c`J(Fh#5!s`Zf2UFUl} zyfdOxGi@`9cA5a@Be6b`;K>BvDReKll2L8aG{4}553c?H+y=BUtnhVT`S+;d z33vv1qkLa*et)XYl_lX}4_Bul(WL?3YAW=b7fn2)j|d%s>|s+>YTPJuosfh3V)pu~ zk-kK5bgNZ4@82{aR}JEjhe8nf7UO}mvJeRaL6;gDF@w!IBP*tQX~3KWmz+_S-1lO9trBroJSxtDi(_6N7}iw)wIN}ztG z+0aeKVo70DpQ<{uSSEOP!_mw9lQF?b4_@0=Nf<(BQn)=}k3hw{3Y8J+9p0e*26`r# zIH|ATL&=h%Dvf`tR%+sy30fRGgoz&Cv111#YE!}KQQso}kixFWFq#{gt;blhmIqx9 zrrw#INk@q6%pH3GK&=a>>xlOBd5P}N+a(u4`Z@$UiC6;84I9AU7GplmwJk&;{Tk<; zTeWBygDZ1|wN)d}CYnxiK11m3mt!?0QnCdb#c${ZCHBk{oi}uBc(>usyn|HCjxVE1 z_a4_tXqoo33y1woGpkfXvoQ#qf3jzDL=j-I*_v7Crw=)o9bm-$7OfD+PRu)N6~>QB zUbvPBt8FOHsjxh*QdPC+HWPDOo#rc_@b!uwbGbNd8*^bNe4XwWtHU;al?1SNxFjD` zm=>FsjlqFGXft`tUpNQf!0*l0tQ1gDC^r`d46!EKGQlm?Vf|5{Qwy8%eTRc^S3ry0 z;_ba&$e~L}Lg?G$6N?{I?c|}Nq>o(E{yf>aGMg<#Lm9MpBFvS-Nr4O9zzoi#9J4pL z>)BbdiePS>O2WegcJE}7nali=u>&#IGl==Ee!nv3Z@-E0>Oe(4^gjOP^f-&FJAAH= zaIwGnP8)>aIw!(lYGaUGV4MMP2nlWrB|<=ke-B@>;sF z_96K0(;gu5V;`XO%C>_6{VdikkLw0&jeY!}3KuaiV zSg(TJYVTD~8!I!8V#TL$9rc{i{w>xp(cpH`R0nyQqc8K*@Z+S9^7vRKXJ$h$-?bO^ z{V!`q2tjSKUrcm=aOjkQahES!*fm+STChdFj$nr?eBf#{6sQ~ea5Mk%sGKAYx9C3h z0OCsoJ)80MG?7}w>H$sIh{ssfgAmAxqN>DH(ewyN*5#uz@ z8L;@nK;IHjNKaF+@GEbIA7c0U0%r{mwD`X7S=QV! zPml~*n62#I@t|JzKsM!mk85ze`QliK?ZS_CI|CAc*C;)IqK}*?y#zN?Fl8}`;3?*Y z68(Zxwa`o0a7SvU@9GS)kA_PP>biZPT!}f|ob*~iSC#?yD+w@Fb;e3;E@~h>VnaE9 zt-&NrH%kVUOfVur8a~K%SOlIq?6^{$PO}e*ZjE;>@YV%IsRZyTf@X(>{$T+}uPmVP zl?BA0u6O*y0{H*U0x18*0&+vQ5ETE#0$TqU3*h}13z+#A3-J0k3*h({3$XmZu>jEj zU;%=3uPmVLUo3z-iI4w(%L0!62Maj1_hu z&gEExolc~}<@lX==L^-4l2&QEgrvZ+V7%u&1W|Z zu5Tp+xKW-k_`*McM>K$wk$_>>+PC;3nFCn9)!68wYS+{pcKYUYG#+d4Rikc0n_xxq zW#iiI`62RI5UigUN5r_vZ3^r-gXZp?jx`p8xA*d6qAErvpC#a4&F-X{P%+V9d${hv zh}V5{lLB8fb6y(;_~cN7oxZXO8L~hk-R*26Xyi_D?_UQ};k475oID|2ok&xkVS~kID1&-SGJ8T1dCOYE+LmXN!UzHjF zZk)s#yj}7|fnMyQUq;6%uw`RwNb`vr?6yM*n1ih-_TK#n#cKGX#$WBSudq#S z+T)Wdxd$GP)#!n(9(FG+33f~#tI_kTS{Xgj0-!K#*(-vSsy#bX;99sHJW^oLiQPA$ z?L0dH-zYE!a2r|{V*`A8lm-vL?(cP7;Nuk7vPziXVhRk3z^W4kTuy-_f6aw7xb3C+ zBn`gGDGd``N`VLGc0m&GsRlcObs9!VSARi@BlrDYi5AUBNL2oNV9dDH5W4A#$RD`_JgB?XC^q> z!i`B5oYe;=c$@=w(w3_UzR7}r@YGz+fipLRCRkX9rhwhnH%xt*f)*8!u9)@^GJuiS z_*3_Lr@XL;>_xlS<+r62xRZC{RbX5!jx^Y3*onnI(O{qXC1eye*k^tTIO*Va^Xp7w zeHN9Fe42p0yD+k-5-^w%s1JNKmrStJ{1Wg;gMH=~gC{2%91YI#$k$i%u>yN-HQ87x zns>6*CK|lEpsGRl+iWLnv&npnyrxyA0X0NB?IW=V_<8{SLx#1BUhW!Jj`j#-`>sJn z0XaR-b03`j!p{w%?9QucQ$&;sCI`AfNX&ulM6S(^}<19J&{i? zqyg9IoHyF|Fx%Nxf_1~NXU~zOU}uEuRj#8PlSJlg{@8v7E&kdNC%q%Y}jss=~6lXZ%gf$r9nyu z0Pa6JgP!%ll*S3L>CMqR(zsUF`^vVcabBO^TU}q*+2fRZ2tgxv%09yzf}t)fUEP|{ zo-4tCxu5|q@?JiV6WlvcS5Dl~q0x4`JJ{m=1t3rEMq`pRdM-=KSa1Q=u|yS4P$dQp zq8+AXqj&w*$2klX#3-Mno+yy_x^v7eMi-8SDy3E$(ZCBkRj{kRSCj?TuWoZ<*W+mq z4QMv3kk|gvDhSFyTCCBWzT1Xz0Vw~N3hHge`PfCNDb<6wmA>xU>o{aVPQdVC)6qAvDP=Dq*qEgtkaq8=ro6QI<%Pv z3}fBzmJ2x=?5|4+o1?*U#q%Y8XIUXgXw&zd5R@ zJ1mxJm3JU&upPV{cIx!rrQfK&iI}F_5)U~bVY%}-?-h?U3U<=2moS)KL{N@Q_iPwz zl*bbggN168H5!F1HUe^RmZ~afl*4K=I0hicdnKysSfirBxhueXLb}8J(o)kMRG-YM1?9CsCNI#kwis$(2Ovujio{E=9!?JrmwOs5QT{#20ho=+^GgRV(rn+wxm&> zuw(|xk;ly#BLH37-(=E`kxnxcT&;5*RV!)UA}-dTVdQ*prO0wdsUw|wBd~VI^%mO@ z9sxN{WD2^fURWDcLzeCEExuLjy~VvUq0VfmMq6Q&L7`BX#u|fnWb@J!>V#45aCT;k zy?V89WJ@DuvMUPv4jH6Tlm?@|>o`dnu87hnVn|>rhzzZw3>vguO|qeasHn2TIu&h6 zv;xZ~F(TT&9G4Z&mxB~=rwZpwTMf7q!EIaKiwd`;-IBs>X_r*g+m8R?IN)vohu8VT z%6Wu;vEq)Kry@0H2ibwwACp-*!~6r-F4vZcH?dzIG~= zi(JMX2O_EeaKc!>M5gO6NMFIi^Mw5YmXrZo)L4&}Cyyk}Lv+E}R_~$k<)XQrhLe(D zw|hmEPEG_H`Bo*ymQFR+_H;MFp2ChyYG53!9qSiaYjtY= zB(Ny&M;f~`{fDalui$N2@pf2sWZcr*SVnmzU!y#)_KO--bDUJk5sHR6G@)7!3FM2m zSWqC>g^JqG3(Ef7DvR=TQH{gUbrh#f2S)jBpcw?lkt5cPu^dQ0+qalcT^%*Qh><2Lb(0T&$??P4padcEtiK?|oYniDdUNy znr`QCq|12L_DmVoAMYBUE`#og{jYP=DWR(!mGQ3QMj2eA#ZItGk1E6CQjQhYciC&y zUjUkls*Eq2tkf@SbL6!x?DP++ZAZXpi`*igtaHjNBNwy-w5?$Z+HHFBdnzha$CgY; zp+GZT)f!RN`^;^OplIMv9SS0N6?WWFq1Ai_kUJD1+xrZ1AJfuF0)l!L_jeNnJh*ZP z#tgI$y?V1PJ|gm|>3FuRK_H1&Eq4^DgatngTs~8QR>oJo5O%uOBP9WW^15=*5CNSK z$SqV#7X!#$QBspf2nYm9<*L6!IL|A0@>oR^3HnukTfD)d!fgrDsp_+BSxp>D-*wpY z3l`XX*WF6bub&DEg@7qi99X!hjsqqkL$z$@wUM!4kpjGP$O(X4Ro zOciJ4I%og!j){n=F`Fa!VJ$@7x&r=cVUkB?i>+xtdI{@T-u?I4<4=D7A zi+rdFp=y}pLMQLcqe@2#2DY4vR&Ifn2v!ICWYAR}U=~=BU>B7}+eg|Bp_*thy>p|E zP7!vVcBIY2&IDy%9$R?El?|eI-pUGx2&-1w)v&4Kd{}BbCKx`f_SH6GRLXMCql#P^ z2A4@>H4i%`-lF4ZOrHHx<Ce_v~Ui!zq zIA&Pej45h?Q4g9&+iE*uSkEt$MH1a+dz(6{<+r}xD}MCcr79+J?NW? z*V56Fz`|BnpGdlvWq_Hcr)3ag4Xbu=LyWP?EQ&$H29d`&IuV)do4(DKAw5$t!wuh3 zn_`H0@M`HP*Y>uNewv#bD@1j=+-lc_Dv|m?P8gYJZI?w ziBaaz*3yLu!&19w*KVTMsi&Vo=LUhg5T#GHEexSiz<^9%)3Zdh;WX%b`F6{&y5F!b zGb}y!mM(Ck>EMKxMhVrg_}AMb(lhw@z<5<-;V!LdnNtx9+fEd$)){zA1{wrd4qBD= zJJ{7lj@qaT{kQ#dW0Py)2hoN}j17)h#EoIlQLnN;CWc&h2F+TMq`>nVcboL;Jm50`=t7<57;f3Glu98mF||bFOdaud#f==MHe*+)41RuS2q5M zY-#J)#vG9?tGl0E9SAG)=+bR5{{r1)4MQQzGuQ3d_JoN?PQs-Avl;KT^U+KbbpE(TGr z;KallQ*>ga>sJl;(pVIluN0eY80kCu7E$zH8%CzYb)%g&@z6yb1pP_|g2~K1iDs@Z0D< z4gfNp-#vabiPvNGkDsBy-wV%!C$wLA0)Lq=Ho@Z4JYGHd`8j+m;x{^#;E%!jVf;S0 zozCI_2%1b+@p!XXePQqsg3%H+vCGwB9Iw}mC?NvRKM^sVZ=fF!%S}8%f;aJffJ8I$ zn2;UBHC}eO!~CU8B)#Qts+CFnaXKcNMw7`(w|9bAyl_J7XmuCNkY}64BA6}acZ@le zF1`(`h>AbQZZ^gFv@u z2wKLg`{{Z;UCe<+^JzR06b%HO->d$l_*OXPrtpk|0JFvTgJSY3{_h7EcvTgR2i`m( zP#`xCYmteY+4M zYxER@Mp+px68q_(n`CfpffQLvuPRLz(~qOs6d1I+d$^D18vzlY=>SuAisomq_!zHl zXNymQBTlyz4n^;NH2)GTmhqfqNSIJm9A_pm?VB&l_|s~-(X)|w&08Rt?n106bbwmqN=CvAou4$z-O{2o?|U z|F^+paX*^Q1xP%n69<`H53@~{3rE6mFxi9)_aOeGyO?T=*C^pM00Jl0<9!kF0VdOC zdOM9*FdOb+#APxZov;q*wW-qa`_X(J&qPfqQdgt7CW3}SE=sV(EdB`iVu0hn{xToG zUoGa-zv=2}H0Z)40UrhLN3)HBlnxovi&7BaK`fG6qJf}$5<&p~-2|3sNO(6*`ee1( zEXIpjFj-AO&WX;^W-}VU*97pyz|(W#E1skC`t-1hgN#xum6!vmE)~;VqLJd;SJpA3 z3F#x)7Eh)d)NRw-0DsXX$}*Yg9MsTDNG{5#%#{)im)^G{kfz%U>?WuLkbwJmG93w; z28-`05&AIaWddQa@J#39#r<-$nW7Rfi;3oHvaX*mh}3nK5yzsv-K|E>t`JG;#Nxc|T@R%o1gGB??cnnH7xM9`>H(!Fv`c6OpWmYb0tD zBt@yU`3wGC3Z1fKs0()<>Gfthm)3Yq%dA+(G$3-zMtqZrpSBCiG$8tTGbR0>U|Qah zc0f}hFlj0mxFhO@BUO&3OM2YPMcs@(G|ZJ*KPQxx8g?$KbewaAi?E{CIHErSxMDwXmi723;3mBukOB14*Fs z_1K;i1W$LSCVH}3ESEsUSkGu=xuK;`NGuF@7#`o-&8HD4(eViSoGLxK0TxQpBUMy4 zYXGSY;&iOcijxwHEMA|Ain@8Yy#@8ohCxPRPgo<6OMxME(_~DfIVA-rN*(7*;P_|J zH0J8CJsH4tJcmKM-Nb6X1?%?@8)I;2@YQK^rq`S4JxcY1V$oT`BJv{2G3gc=EE@zG zb>(=1$oGr&CM_AK1%)w1V-c*NNmMKW77-|otlVITeX<#?VA{Tq^ZTIFBT)}{vy(EM zGW&{C8bmtKPQjobD+Qr}L)VA21%_+x8W;Zcm;0N=Y&tfLvQr+s#EU?im9(qO?4?*C zqn8os;_3QB@ZS%M%?J$saU4%HONIaBcV!ychS`X6v00(1F@o}wcw@-O84Za#RUwLS zy?Y=F19}_??1)*7cS_U>Rx45miyj!VsgXG=X|qA!i;}o*MjK^2jM2O&J73BWPxYlB z>qRg&77uIQN5k#{Bu{M-#TEd{iRg#`e>2r^Fj2wO>Y4WCkpoJcp^g3Fg3iTn4eziTO}aJ4$q~5P=1AW;MM*p}k!^%rzyv z;Bf!e@%RC(B(N49KxDxV<~oC#xxp-GUJjyuvZLv*9!U9iaq%DBD=;z9xB*JZCrrk8 z70*G~Uj?EHmNUIWDewlAT(nF{`UEyQ?7&B>(OB=F3cMRt{*SbrC@UKWj5s%fmSCHs zJEC?=#38YeIj&|DsExbc+n*^NM2t!%b5;Qrc(clWoxCu>R!$ir??-FH#84#)+EAc# z3OW*EJIYuw3q=`IbW6!@Z02Z($D{k;J*a6igoFQ9#l&onSQ2h0Y^$t6)lNq^VxOj) z_b`B5fhwd18CG|;h?BKE5hNIo2i*x8Y2~^^QVn~v>HEb}%}Zd`;*;inQI-z9ZA2Xz zuW;)@8yDo%O$^(_H7K#P8<65)sKB5GVc(o{24Rn+IGZC8N0gvvK=ooVu;) zhaHaHxa2P9ZhX5#YYJ?-9+t_e8{gQZ&dHKfHaTy{uVC4#jh&QgHqEX2bk0O3n+AsA zIWch*CP@79yxR}pZ_DI}jjwS?pLF^!D`;LAh!aMHEkfW`Sn}wtQ1YWSBmOZR- zTqgGpy!5c0xW}@$Z=9IPLB4@9PRisiRLmOS|AYEm6t?1(E1yx|A!Yn|s);QMYw-#o zMZ;!;=JxVovu_-f$vr?02&&FN9w~`Z3)FG}_Bc$emujUlj?3ieoT!63Ky$)mzn^Y0 zMnqAVjz{RqC|OVc<^T(0Mcq<2)PW|>edB0Mo$k|dz;q5qUO?62Y0jNKuM;kJuSs7n zL1(RA+=8797Km{&Cbt_j=xa0v;@jyQ&%0T-6pXVmx#Vy`i^dt5TLt4ao7S zafpz36CeU_d+IC!VBdhTme{Lhkp;T#r&Vt;pTgP`+%LdN0ZS;c`pN~>HeH0~z^iye zCXIqC{f3vByte|gEwTTM0|Rx>t!=m%7il!$l=dkeA8VY^XZV>{#ee(#&oBD30(<{O z;h=DE^ztL@W*4iMcZ(S)m4n6V?&ar~urR%Rm`^{y{2MKF>)~Xy0tGZ2-A~G;gS*8} zZQ#?Za=G+x@(L^cUl_^5v#m0x* z_C4FVf0937RNjB!u{~J74_@4tOK50TNeRSrJc{E}Ff?;v3d8nif+ss4<3Hh*OMnNe zt?=M}auC!y0odIE><#+|XszBYUfn$4N>0KOJbfCl@L>IaG`>8SpY83A?cdL6 z+YCX=J7X&GtvH7U0DQIDa3YSR=taRKj8V&d{!(ESNbJPgF({Mj(P2o#~$L-h~ z&jVhKKVx`UoyVIUsvk4F>3YYWflmk?7F-!av&3`tVYTIqXqCdB68!RA`k{*xeoOF1 z7>1{ZMSB2N6JBK2H(K58^~?Kfgxg{bTC3M^dkoYJybv?q8Ol71KVf`S^E~!8@ngZe zB420lTz%7?Y9$Y6>US6@p@zBR&UK%~6WkTYD+e#K*taWvM_AWv^(;E=TF)BIFps}s zeAqv4Y*PzF57Y08@Rh@t3EqizoQ6DB-R^c3!qhPHyY77PX*{bO6?y~;Y`e+KiF-S7g=(y+=&4)c;scXf9(xpVdC-GKA!Im&l`Q1kKLgoZMZ6MEbwZp zP04(s$d;SRtY5bvMSRf`R5%i|M6DLq++}nClXR)`H-oOHp(MzIE>XR_*hblDxMS9(BqhH7u8Mu>Em=ne*)arQVm}Zz!z!6y_)k+3l!++WPZ|k}) zV$0X(kmSz!e{7vB89aKnR@yLQECspSX?(xp&(cuH;@#<%v`wtxcu(jby3=%ryOo}u zbh86lE-f_MFr6#=E z9JIP#cp+6iu0rl6(i2@5AYE^bt(aaHb%AEszOZY@^t#9e!mBMw$%-jF{*SvrYSJ>k z(|hCAyD4$kc)QY3_(Hk^jSl&0J4V5r;vP$H}PoEIj3tILCSZar59GRTyQq;I; zSHR5hDD`3r?&wMaFPZRer5dXEZm#}k@%3Kl%XyZC+h?oUiO zg80%KWlKRL=LLHG};7INE*=Ed@@?h%c3PX@ORc z(-O6CymPP5sD;y=yKsUL@6QWoJ9S$6j3n*GBtG587K%rQyYyOhnwr>&P10*BaJo~! zrQ2BIX!l+eieoHry7SlpP1rnH zwdPKDeNt+alyckkNhx5$xKza8+~=I!!jXL_+g1_#bt9!NYrSf#>m@Ux5EEWdsb17@ zA1~xe6;&xp5bezKnv^Oag|U>1LRjDZ_nJmqit|yw;?5(JDs>8N-Eyf$i`c->QkjedSNqj-mMRJ zxM9-9AmKexk4=10;q8h3a(D%Ag4Nsd_gzd`hPx6N+u^QEnHl)8P~%KNoWU#R)a`Z(AG`{*>XMGj@VY?e^q}d3Z_i|FPq3qk@NylpGnjV$OeDY`rT@G3P%ncJx9} z`1}!v6@M&nXZD#iTybant$&I;&F#ET!*{-0CHPi-o*X6+eybfK`xwEuD*w@e9hO(4 z801i9!@7S5YFubYkw!c6y9?+;8Y-~$YCF?~uyx((xv~-&T~PQ&d#64W6Z}`PXxp+a z@DqXWIA9}1&0wpONs9WmJuhSquLQ_<8*1X!Z0Uu~aNB)5PxhOevMRFMd{^)tIdmcv z`HkEJUsUkjCghR82iw;QQ`-7F`1u&>q5pPAcQV1dvJg6|-@)fduS2~z&U6`BII=R@ zeS?X_L|&h^G%>78B40`hTZx^vWl{o+_3BO@T&V`|hy!f4WnpS?Q*u7{6QPp{|ep+amoeykt?yDtqCj=?S6to@U8x)8eZV~Pj)U)EE-z5TtYLVqxr>8w zS!BP85m<(PZ+05pvfzi?8%WhpcxGZMEldVKo-n?4zFnUadt|cIbfj!Qexm9}|Ck*P zrcZALe{~K#+JPPsAAIY%(_EL~4cmpo)(+xRQ1GK|Xl0r)eCz(2M@zU9_O_l=^JpDw z{4jL7wJdFYK(>YFpo05d8vg zhHrb$lz<6*BJ8jCJQ)NHeEG)2?=V?Jmt0gktzi`Q8lJrvkv}o;{X)1c0pe&Zc-RK- za+ff=N$}fdBjHC1-;0J#zd9kj=-P{@)vt7i6=z;>!B0jh{J>{95MJuP+);U+2)=O+ z?B8Nn(Kf7T;J4U^gctFYH*H(-=y?Mn0p7WQ{J{NyBqFM~l`g{{1!{+qE2 zpXV#}R}F8s-e~q+7HWb&DJlF`-Ou%(BzV6WDgD*-Y&YbIpGus&oyIPU(XGZ`ZFSV4 z`gMP=c6vh@A1gdtV!m(FHsh#LgK*w!m2q@0^o_Kgr>T)v#qf^&!k-QzJ@ebeAgq~6c-@kMU9o1h<x%uTXlaL=F@Tp-*gus{81L~euGK)EIpleqwlypApM!)Pq$GWc0>D+ z5k4b7z89gy|Dznf<8!MYomlWg`y*SzpQiEX9@?ndrIh%S#rNJ0!=l>mefH#k^|z5_}u@NlD`ez{#t0svryg z)WkP>HP3FJ%#%YC@9zcivtZ&udWcEDBiOrT?+HnM$|gSYKiwnyN7n1+ zwzv_hewn{5j9=YoU-%xR^YQ8^TfjYX=4RQas7(BgFsRkpet|~=EEB%f4KHAW z{_3&Gh(Cup{IK7vv?G3Jm&c2Mwqbt?+nuc^b+^X~-|Xz-Ulof&X z@7&UO>29~$7=~~CQ;g<|u)n(_`6tH;Z)W;+;|nq$yWQ=968Pj?;dgU}In(grc~ska zG*(Ee_nKA;e{_`K;s3o$fT<1PCa@K~#u4qM4(2txCHeR$;Hu3$H6ywL&YM z$bSE?+waM!w=%Z|(Qd9JHzSQ7)+)VgpT(3~s4{rR;AmuzUiT*ajfv+ z)~j;TJx2+C7wJDM8Tc&?5Po9dw=_Wb*uZaD+zEec;I}N+q)ZMC{Fc)J!WRtumU||` z7Zdz8+l1&pPVn1o4Z@cb{IUfPj;?-1 zf_oO+G`vLcdSlD=zk(MC-rOPB7Rx@tdpmeF>XoHG+$DsNUPnO=+HcxPHe(O`kl@#s zy9X8vtCu?jEz`6kyxQN*;}bnH5x=W;=4Pz$`J90 zzrv&DVP%`q^E!AzH}irI-&R9Ua1O!WYJ7eBP4x@1uLa+#R4-N9ayR}|@eyZTzRIYF*{4j<0nk3X&DG;`|lcRMHz&qP7@`av5X}}-d%V=>iV&JK1%LGYdP?eCdVE$A%CJNE)M$DuD|kuFhUJSd4RvB?5; ztRyWACwX`muFvM5le}!%375m z57~MRrZnYG-Cm$T@F?tWcQ6%+g#z`j@>H&GJ$p#iPbGHuB9;>9bH8I;Ruvec9(B6? zVJ^C!wMn*M*N``kU)i*=Rbm|EGr4%K@dm%3Q6dTVI3aOO9 zF{~K5-#accv|!WAN(^#?q3qp#OsZ5&Rrci3x8)d@xOt5D z>SYL$)7;bX$%e5bf) zTgj)v#mF*$4YwK9G`Pf0oKf44(A5!ieRvV}t6thZ?rTMs1?~y-X~K_+27cJ;x3)zfJu&g1$s4_vE8sRw zm9oNf3|R_wR8v18Jvg@AHy5lC{ne9V?t+2e z?L;mAc1+K$F0P)e%D2FaB>de$yLx%q*|OnK2m1A4uU4sDHMWJ4ruxT%zuf+UitrQ0 zH+MXhqQM2r@EmLs435|DxMGE|Fq8$qqhc#6_>SjH0^d=wooe{jt1Pm#6Zp1>8gd*+ z@LkoQs(wc`s5rT!+9@3heuqb5#Cft`K;c|8Lq1pV-_e&y&~OhmXjb}-tN%ZH@7Ciu zjx6}k>-48E=3#dRd#c-#uXzs6gKW#Tx@<`;$T zyvXLQ7TAaVV+-i6Oa4gl5)1}|WH5C&gRuCh#+!9=8{)-c;|lAGyZ$hVeoP&s_6Xi7)uD_vSAJ38RA+_86feK_vLVI9QSRK()(r zrcVP(#Q7TD%t_sG5u`r{5`?}q0)u~bY}nlD zRlN{ql=D8PDRnQk&!YBUUa=h$j2l-wf}}K&tLGN4`fpRh90AhNIdK9qF&s& zrxxLU5PUZG2iq8sBCq{to_YQgjrVwxg%?@!d-oTF#~=A7seIZKcu`${;98zNsq!XZ z*HkXY8P8T}-tmq+sfYc*9~4Qr4S^4cMIwCogfDy#Ys!@};$_Ggk(f09U4RLRwS}2w zmCvfcgMJa>^MFH#Y6ZK>OaJ*9Ra=N=Y2FjK!fBPCZ-NViE3Ui@@I`4eb>5n|`;)x3_RlR22?ySjF@w331=qdd5h`NQE1yzMtrjyEF z6^)+;AW`qCvv{3@U|HD$62 zkp8iz3|H3OYOOeD#jn%N#&-Z?p!1%1@X`k*_@eX*o7P*fBj?S&i@QR+VCfGUA24>K zafkPMr{jUnyFK7?Wg+;Lzq+xG2dI*f&ijiq(uS_(*|KhNbUxoWN0(g3Ne3Jp z>Z*g!3s-yMSUGlh=gC3T{1cr|oh8ENJn6jO(9m0_bQ?;D>%!)VhIEy^I~bDm?h3y0 zYo17J&5zZmvMKDY0W6L-b~m2gB5cijjZYKjk!mc@O_z5$mgG8_c=t+3u7x@Yyie=t z(!Wg;|GNoV|8Cd*1{&z)$^3yKMw%-3%q*POIyl5@7-`zdcZ~uCLQ{r$NPRWsoCg>_ z15JSP081d!+9%(anai&yyj+AAb-8pYXlzbRKFgKcCy$FSZM>8o?GL=3{pA^S13uQ2 zTUq(}NSj+q&)&T7;0xRpGl}q_)|$Rx4AKE0`1#ziW}yYJhKCpedU1+f<2vaeJ-mXi z-StIYn<}ck|LV<98(VCNmfn?#^YznVzr%Z*XQ=gVJ)e7L_OYJ-+&@`NHC~Oiwwd#t>S34n=0Dc>JiTky_C0zvH4JJRfcE5*De(dAGZ5{cEEZL}o#WNw8tyqP zvrAp4mZeub9^cL`+&{{LdByK?JX6}v673c5PJNSIQ!F>d?Iy8qmnp-R@v|&n?8im! zxH_tg8Q_auzG$6ivv9I|ARaH2)ZPf#d?m&BMY>FO7&?#6&w>l6zUHm?)oGXue7$j7 zw#xJYzQ`N!(0TZQkRG3Jw0ALD0?z2E$rO0jvmnZ?=XrI$Rdv=YtXOAkGJfSbEP;Hi_`j!> z^8&RpEEx}?w{YJt*M-%iMrHPA#RmzW$UiIVbPn+cvbpP(tw?m&&qbEEE4GwzFH!}* zNt1o*<^dO?y-n^yhUWRKcvf4lqMl0WWC`G+xNpOfwqGd)FF#uk%+2>axcq3JfF~|z zX;rT?Q?z#Z2`vF^irPOwl@L7Zfq)Ol5wP7hzPEVMSX4Erz1LZkH3z(1P3!zMZk<7- zAEJX>&p1ji3d22ifxzWl3CEl~4TSwGB-&#~NM7hG2s6MYc-I+t;ID8otC{is6~4|^ zW*w(%6NOvjFks;Y&MX;-Dw}RgFhOkiKuB7Z&i4U!Vm#IO5Ib?y<-Pe&G~Uy{%IP9_ zznwUE(D(p5F&=AtW4(~5cwtw1@|NZ4@a_&k{zm6vSlKVl>cYnHx~Vej6=Yr5INp3J z)7EzSR?i(&AP=&0{_bUYgJW zZ^A48nBpCF7@t*;2a8IZA{_it;&rjB=BXo zwBO|&1?upjIwBT2BETxw?eY*KTQ{>A?|&bZW;`m8-^|tw?GB#h3-b+IEKhvFJFXr{ z!`!W#b^LIF@9m|Rc5|C2P21kNHyF6a;u^GAE*%r8#z#Wnip|2Whm>1K@NPY%j5oo% z^$_wyop6LqkmpLm<$Lb%d=3s+Md?1lkX4lK6AxKNY1U`RGOAO0 z|1wHfxU?*?Euj=Xk+}EXD;8!bd7saRuka=AZGNrkagmdHT$*UBO1$ws7OPBQ&if)J zBR?hH>s=*H&hb!1J{5`_w%tKN_zR@-0rz#z3TOT6`~+qnU+}(H1h{O%^348_jm~pv z^Y)eC`M_dwzg%YXcDuq?kUzpSe|1O)rwLvhZ`Vp5@m(IUwm=+at=b+A@RG-Q9or_1 zM}P3HS%$neudNmCk~}p0CU;8S`6R9L2}}?W3r4f9;L&xwbK-eRo#tM|i@HiTY2pf{ zMcR#USmb+)6A>P`^ko9UuZO^^bMwj-SC(>DcVw)~9^RX^vG(d`aoj7MWks{(a9vRuNHdKj1B-Atm8QOuWVzs?nj~)4Ta*=Zyv$3mm*wemoMmfA1Mf)9>))S2ZU? zUKYo{S&e+ucf59!V_q?vCQ-X{uh9i=6qIG?^GQ{q{B2D}DB<3@Z0Y>!!0 z-1=;lsFP-2Yyx6tPgRQBBxo`may-2QCxlyNC?$*unzky6219>Cj80nujxP(>-cGjy z^aZ9EnWArt+uXkGp&FN``I!xcJlS{+jH#9eP33^1MKT3?6CH=)M2ex_?Rk+vK--|t z=&5jwdsD@F64%?v`iBG`_CUo@;I(r_A@Hfd;r*UFctgQcnoh0#(yM8cUv>$bz#3;v zR%LQvg2MY+h&BbY6xG7JAFGQyTkjUWP|*79h)K4^-t!)gvdnTm`g~D+HLHN7sPm-s zy*#7Itw@C%^lsr*V@jrC3VvM`xyw}6x{#R@UQ=8eUAcUstxT(JR@Y`%@uhNbJpIv0 z6R9No44=7iI`<*T!{ppQPr$bisRC556qb6`&f%^>zyQR$Gae=oxcuX_e--X4k(|^R zAM(tSnhG#M*bCoNj{EmU_0h@_teIJ~b*xuJ0vfH5qSypILO&G=U`^`2FVPhZNK$wo zR_n}YEJ;y>xlBkd$~5%`4-!L&;njTaYb9MDuoSgt)g{X#Qv^t=np+qTa_4@QMYHpW zXZj{h93BXz1nVF>QZ*^F*DzkO|HS|lRsQ@>=20552ilL>W@B?xbZ{J)ZAj5&W5SZu zdmWf~P(yHhqH5qMMZh(q4(@%uZ6fg?^E&S0xEgoh2Z?9PP38@CJ-EOOTbQw6(aFH*s%^VpBWt3>U*cD?(k zncXVMBAr91h-G37H=@n_dXmOWUpB*aBHO7;)UKCFwqW~MM~t@iQ%S0{Ou%_#UIuGM z2_^A)UppeUTzVg)?5-gwmDdjrsg75vnrh>!~hrE!Bmp@;bw1 zGZf$TY!Ty^{v+6(sz8z~;1y)08;b7;?i(Xsc~5Qk)bJ?sB0PJ}r@lv`1<$O@qIAZA z?ci)=6n70Xbi;6_2#Yp>U^eb2xO#F)#_)|ZV5EjC!Go}-WuQx9ig@r68ap8DE#~g% zW{H@h4Xz0!;BP8AY_^N9V44z+-d4$Nnxi3Vx7?x*zRMj6grK$ng+O}0i|=SBQKEF; z_&wfI-(ZTnkf+q7+YJ(Uw>Em(cxVG&E$C^(xy={;*JLyaXXCSJ!j5W)M)E&FEs{jt z1g-O2-{r7i29AFhNL8dPe1Wh8KGi-Fvcn;bV8Cw!Bdwzd*6Yx|Ms45LpRDh}US=xmKSjLoUSsO%u5nPVS>V%uO8&|! zgUE0}@5n_0uZnrgKdITlBf`UN9{$EXTigWX ze$a5HSbg{jaauF^&GiZ5%oP0OEfH4rOnhMB?-5^SRo!eoDTH<}>4<=DXBLaYYx^<8 zyc1)EcWWDT>rde!k9kE34+)DfK%A|6JiSWzk>iag)||j^5O3B2Tb+PEaGWiW;HIb- z=lz5N?`ui&Z%f?Ml47_D+|!ce%CGRIf9nomstQB+JZO_l;blN!`Z~_kS+ZgcTI5-C zy~ZOEBOKQK-rN_6YwzV zfa7hJFEiHKuDKZtbMF3Pshi{uPM57c{yfo8fX}L+CCY^Gg@0WpLj59oP0|s%Mw&Y{LfQy6`FoZpdPaz~`LBiWAbX^?A_Sy^%~% zur=P+b)vOn%<@DFzkPRM0rONFD4tjOP6h8bIyGr!{HHwGI-kYk!G4q{r z>^k%ymHTZWEfvSJWtE0pG#%>S$d>iI2)XX1C)#Yh6Q^3Z@dROe!74%EsnA#})wWn< z%gld>HWvJMyyq>xkr)0}Rx3V8QD(V&g!H=JC`?oN$D&Llk`zthIc}ibMKXowynzrG zEk*dH14?oi>cx_Ys`O{iDR50$FEJ8#&=Yu_!3CS!o&m4CWsu-IULFVhHmOl#1t~|K zag+#}*4Oh$-?I_bFoY3hh-8|r?W3cU8s#L7_Iwr~hHB=-r&b2fE_bnH>$ zK|OWu;@+1wNX!a0nfTe@Zr49P-n_6#|`F3LGv)bZgl$NjM+H3hP7tI{2`Uf@&0o4_I4m;B!MfT%L^ z_H7+loJjC>vt}I}5A$V%Tz&E z6L_jf_40C;&mry@>uqxc8kOqsAXBZR#5 z;I{^6naXp5ol*@35lf{c>VHRzX3N{;W9pQ9O*T|7-}!_?$%fQyfhT}TV~bu6JVQXK zX#Qf#1`c3(T@ut9({3u?5|C0IM5+ZdL94>Ijl}25i7ep?{VbIyp53t@LCcf2sp`$% zX9TEJ1Jb>9;JiHT%*%D)yiD~vQL4asdCL2X##bFUFY|95hceZ7*f#y6N)<9MlWj9n zsY2#uYK;e(DrjD&Z;e%|ka?MGwt-9)G%xd1qk~KpG*?m^o@A<^xspn#dO2v;BMbIM zrV5(%c&e#t!;Q}msC`SxM$lYI-%>3fI#T?{v;PYkhrs0jl zT9U0DLIOQZ@e6S5JS`hf8rfGtyUx1 zeE~feMf)*L%Vd-JH*HY(TTj>;{R32qO_qD^!}K~`#(B62$LNj2P$$>_nZ1vr1d%i{N&OM2g^c8i*9Z?ZitJvf&_BnB4@9 zEeByf@C5uSAzk{%ry?+>MN*dVUsdeWg*IK-a3+-rgc4jsC#jCJ;q>pSIB^HZ;Ej0O zVE*Z9b5GhCb~R~ePd-)bN@fedsi!)%#}6X8;Byg^BY3@G<~+H{djR>{ByYYWW(}oa zsskFvoq``TsoN~zvVc~mmMz#e{yP}JkHr_3^L5x3N-R?>val3GnIiL@4d}_G!920>DZn__NdFquf;9pNytSmuu_Z?RzA%QofU{BY? zEWy4Bj8;wwZbSPxB0jW_V~z*dKgvjEe5gzie-~POE)jR3rH?osS{l%iO)?7#LPX0% zh6e>9lJdh61O*|I;=mFF1tFpl$?%{ML|h9&f_WAavre=p!-F1Sps5-0z>s)^hrHMz zDmxF#Tu3s*gUcRqJhU*FJG`~o&Oo&QoopWTjX@Y{#L=vxkfiTDsq~WdWEf=xw$G3a+L>OnYF<(oUl6Hxk zKPA2~?5k>H7!X$gX-qVbyw}nvO(<|~PX%6jrzNd%*z&wiF<7_ViNH%w z#i{P_K6DO`q1vKP3HwU$@K9mp(7@70hXfEj71pk-gFSvYR1$R(I?02)WyO3x^Tz@Z zi^|Cmwy-hP!VzctI@Od?d7s*o=GJgB98(Dw^F@#%9x}~38II^%iz@NPAW$V7ohVhE zZL@h*%pEakv{WOWDkLO{O4WZ5se+$8f!65rRH5C=Q$>_&h0Wm(&rFsvOEnr(s?>X! zl~N6->{|nwD##DazZH>0eb=##;bcOoK$HDFC>1N=m}Dd5`7+gC)4og<^okFqig>E+ z%y;>w)64fV)%T2)Bc)ogVd;s%t@ZLjqzXGG%u|g;s$vneqs3G82Qt-n)C;W)NL7c` zi>DfiHVi!eOl?S`a@)>*NAuMZmGgnpE_rVtUTMQ2zwj=a)r7$lcy+U;|F><}Lr_AT z+sYTMLd|!a_ucQgo~r&nJCbyC9bgiwRO5k2^*zIKOk!3C+CVgmOhl^hvUEjj1X@m0ZaEEAst~(` zQjJwA-$5WP)kvlaeY*mzG|^uHPuFS^b*5C`b9`zz5%uzn!S1)lCz&cp!&55J8tz*% zdI=*|!dRs8`O!Mx60H$vvrf6qN^%%_&5c$;B!|0s?tRHv8_Ur09!=T(7QfTIUt~42 znu6r%40ye(13$s!ZXfbeOixZ&d#|fi;St9}_5o-D+NYKCfngnI+G?NWe)Z9l^T|Fa z*qHRU?l*bJB2u_>_IO>noo5SwTu2qVNK566(;*s2!#|a9cB(d>G!wn0aPh#UHTOv3 zaO}ichs!F2gd7yjO1a7cMA_k zcwZ7$#mNf@>859 z!F#?;b{n@|hOQF4FO)E~rNHZSzN;J|@2IXEXWC(tI3M7oj^%j0E|>sqF#^1KyP10G zZ$JF-(@(wh<>mS1^@rp0)9YLBuRr`bjb|Nm^xu20f4m+KU%vdv$fxJO_WwEg8>8TC zckQAckYe)+6MQjLuBky^V0qCbd;Tbk0gDh@!uyq_I39V8#b?A;9VfK`8z8oUh4d!} zHbQLIIgN3Rjj#$cHnUYKT&e*Z6Q-YOGhidamd=mf5Cv0YVb5$TuzKalY;+>5D(4Pt z$aCA(pPWUDus!BUK2OzKu7;0d6)v7gy2cJj6?vY_Jh67;%k#=3!5Zi-I3$+uA zFt-a$ca5QVEPZMr!uD8pkE$AqhGP_r-bHbn+p)gDc5nusk1PX*HOLm#)>*a@icz+y z(_fs}5iy93x~fD7Y(pmuIo4T(7|O<}y?!Uh&}=AdS@#@)p=e0eoy#-^$(?enb41nf zP0Vf6y=rrfjj`3>P_PplpnPn*;b#pW#j;&QhBsg+A53BCHiV%Mcy4eBcP-0jXg16Z zT!T$fYzl7m7^=XrG+k)w-jG|wF`xy6KOTE>J83DYFpgrR20z0Hey1|F(zoOe&%DLj`z` z7Ta{|%I!#$HjSFv_MT%U`|A9Y{hQRb7!XmMyD+rIfn&8cDVy4s%2vCT(U=;yZk(E7 zOg&Y9avFET6UUmFbA~(W7s3?h1 zqn~Lvbi!C*S^!4_M$*>tpc|^dYkJqw_J*- zXQ%=W=DM1@*L^6J%=mXt%R?Nc7yczfUyTH|P$y6g-^3cQS!0{zpV(5TwqPi3&0RCo z)@p`|Vza^fEpBCxGJad^HVgHVk!@9d*D(c5A7$dkJrDKc=cmIL&Gk@ct7L{cMJ3}9 zDMbJ_sG$tNi379UMWaaIz=8Q1SDXd_XBZ%g+)@ZMWZ?aeZDaY!gab=1Vg_K!fi<5` zOyA%D?O7NADkU90Hs$aj2wN#*0*aok5EDVzvY`H;y%hs+!vPv?27pS*wBpiIhZw4p_a%r2sLCsADkAXOHph<0lcP5}pEZ-OrP&c+hP=7QHI<8EF$fGHC z7J@otSFLP)+9#r}A`5YnL~J3bvik-HqKTkkcAMp(KurX-=pBEZ#YE5`xm)6vu8Fw$ zo9@5ty&dkqoPPNI@X|ZM-#3p;qx^gCzyJ8-kN@NK?dARW*87hi{`~a*wb#{0?B5Pw zPd$b_K7Ib-&kv{9qxj2zvIPGT{Y&pJXcYa0{o(oB>E-bD`25s+dVcG%zkGdsdpkY+ zwVJ8)!-WxM0h!|C_O;|Z(4 z6z}=*^ZSda!vr{R{{nY-`TYL%^z_#I0&V&B{M`HU{PdZFQ>rXmr~!KV=jqrxKfioE zbUu3n6nHX$xj#Jc)_^vCdHnV!sHhJZ`T?mmj=w&Bc@WKUq6UeuE4WV%xR=xG^ZUyY z@;f|yc|QKuJN*9q_#mnhQGc*?9ni#r+IxH=iKi6U3tLAD;zVyWpZMnw-7Q?0 zVpYe)*fC2QA^1Za7_3?%7aAID(JsdJw*&Oc>HOA1kw%HiR|^V63LnTnD9)niJf_k8X>JbyhrK2Z|v3tV219KU~gyKIjEb_DLobcCH1oeALK z<&jnA{ps-g;qeP-a7r}h!Xwy~g zl?~a`TTdm$uRVR>|4xZ+xE_*Tf38zs-&GBFZa5{Dil7&~5bFLVlZK70jnF{R_Z-%Tev!jufu-bKEY6Uv0#w$$^{ z{027o=|pq>h=c;1(4;2s-_PgM3u(&>aUF4efSVth z$UUk)q0b3<7)?m%u2YcR)1k4?g_A*b;Ops$b=vvuBnDgW_1E_|t#h#RwZ(Wx_r9E1 zeNIozhWXbX<@fE2)cs@ZezD%~4ve?QudJz=#w9dTt&4k`SM7U-z9AR|0Jdzp6T#{C z)0bD!;IDsty?$XXtX1-5&FA1>4^Iz5NGI4$+>K^w`xj<)g8jiJ zqQl#-lq@DIx#AWBY{Aotg*7QNGYP{k(%fo-{hd__qyT3JVu#dD!ow+8nErlL^8wK# zLF-xLOnLZf%ziAoLCYTOVeEwmww%EEiE^McG$1#8qJ08^I{x;0InXD$fi_utj9oU>7dMJlVDJxNQb=5-SQ{n$Xe(I}~>LP`AIo{mQarwhn$rTf9t3 z^YR@*u1P_Ms|1qdmK8c}wFTC<=YKH8@dzD%CXm}$coIMZ^^aoD370-F%xr$wj7%6i z_pn}lW|jpA(!+s?EYy=S7?CuIr5W@KEYIF?f!zBm7!JQ4An}*SduD(A@i$61ri2Nt zN+BVv&#?{Jhg2q%V8WFqIdE}sbTXEr!&XzQ^^YX)(wKX3lGpo=SS87Fy?-j6z^2n$0IQmW*FGEr&qAo zwAQ@gix@aHpd0A-e=q@ig=zgssPh}HL2>gHWTwB@4yy{O-pwr0ng)5JdNM`AVvgucX=X)qbesW9qekI1bt*TR6ed;2f{LY;`|EamlHBZ+o{zHJPi>D0nb#ccu zPU?rJ&+p%qZ;QK=JKiYe%OW2w{FE(v#G-^!Q7vikJU;P4vJO-JEApP=wE4nX;-^{J z^w^)iDgPDi4dCDc%TxRDg#S3*Hhj3~NvHg0OFl=OzdSQhVXLTb&#V?W)qhhZx#8?b zD)DbnWZ7r@XR{q@x_j2Gy8Kepfg2hn<@6aQDlV1h16vkrPATqd7GwX)oflDiT36~3 zwJZ2vu{GGlz%qdORP#iU!83;s`iMeVZnKh z)p~#Z#!O;1w*JaR?{Atriu~IhPIE-jt_qp1tPkF$0qW^HI50sd>RW z&Icl2%KY{14OU}p$ox%nI+2t73gm-JkkrcDB?@)__RN-RazMw_$l#*JLb0Sw5wW@L z>*L#ni5OFRgR@!~&aaRE%K}s5bN@Nc@Q*KV?+32vUKssNISpd!0N5cR-N`Zs`8C1R z3+Q(T`X7%^%p&h$QI0U2rE}~?jOQh}jk$ru7ZbQz)%;JiVSu9Y3X1G>etZH)G*?HF z=7FM}0~;E1UG}H{_v`;>zh0P~{vrA?`f>2n?`+^dzx?$1`3n=cAD>@7|MbtFn2!7D z{psP-SO8uvkhL@CtseQ-&~yU=a-fHzvLG)PQL!e`}W7zUwa=|w}Qbk ze||Xi*yIBC8F#s{wG*3UzOrTU1Ne`AKm8kcyL;fY-KIZ&efY7rD0ZOaU`4Oz1 z&(HsQ{|*xZ3QO<5{FfdV9?1W{X+QZF`e*ZZk6#~tI(~lcefZ3NbbkG}?q^sM?T5V& zAFu|!7SAOx`TXIBZ-?V=U{!+@|M0^jxUS#W^uo=nzx<$1FeFO|CA>+QcK1e(g6kuU zpU*S@Lzi@U3h;GO1O@vTaom5aj7md%kp)KD93l@(kB`2~L3GUx@O1ukdJD+@$nlN; z0&$P-p)ov-Shocgo@bxVx8D2YJ-Uj+@b#ze*<~w!Mm$T?blQ(2=LI&rio=^e+m`

    {y|dEk@AvBbwAcy!`?=?~G$`3dLih5t6F*7jNLk9vzd&wk^-f6j4U`hbq2((u*^ zc{!s;ceoh7O#&My=3<{GjrWxho;??xd{OPg_|xnGI&=+-^ppXw&{ zNrSjc$$5x{*Ho?x_-dT*@+>U2azwcAMKZ#9VRp?fY?Q}ba`vGS!y&F?vT1_u)l%>W zmH@6h&N2wp3Sl{|4_Axn5O0ERb9|SkuC327iQp3bZW7lWVR4sOPqA2}3ws)Q`?#BG z_Hk#8c&HUkOEF)sd?lN96I9OI&fV691Te?9;J{1gO?&;`n2K4^O_lClxABFzmem30DunA=AKt6Gv^dFX@TgPqWDn=}B_fc(%S4 zAd=`QYG=#?p*AJH+ic3j8eg2G<)T!pH1`d!>1C3t^!0vpon+^I!{oAP+rlx%WP@o5 zJW-;AX4LTo{LNf{Q`KdXO=b%0VU*-z_Oo}eT<~xzG0EA8F(edM>vg_ygcFd<5uJBD zIU;OgiG$yfAlyPm3^SD7Oi zF7=6IxFRG7rz1tCY$(xmq;G=E@vH~x3Sb9Mp<%q+o%3YpF$18Yr z+1X>7DI-(3yKHDk;qJ5OB87XjUUynkFsX3LX{_V!;fBlii5zKcl<{GcKsb3E5#~zk zym(;Bt~V~MF-SE}%4C*pvL-X8yEJ(r$s)5%dYunx3DSICEV6u6ivSGQ38IT{K$Cea zi@2Mhc0Prr%OKzmTT0;5>&9{qi|)V!9)j1;ezw-5t7vRDowJ8qF z#r!H$*bUH&p(In3g)I!##ZZD20j5;kP2p;#-lc|u1aLkpX+5*VRsTs3fjOaJT>z;9 zrg3QGiz<0uztHsq$DM(Z^jQ+|GMT6Hma3)xm;ACy9i^FG;^xt+SGiN+02^d@ktD@gkU7e>LgzQHd{gR3xs7X)X~O;Dw&&QPSVM&jOm_(DABhtyhB8b1-#OjK)3Fb%3V zRU1+a!fO%5M@TRY?mJc{_{1>0FW4s_MObI^riy`|j6=(GLWMgE;>C6a^xhZ>CiuinST(2?km5VuegMTkjN!EdNVS^zo~x0%aL7`PDb>OeQ|>y| zL8Y?W^(qx>gyS%VXvs7FVnh}a_jt&rH1@4~O0`~8^KI!YrYhlNNU17+3}Y=-EK=ED zT)U4RR>BGm5`*D**f0nzdRMT{6wY7Jt0$7s>w;F3X;Pqm%}5a3Y0^t z*N9RD$|0p1h*V*6NUiZesRHGYzC~?#`Npp;6-h5!%*@JV8?eJ9jX~sRq3=ZzzX*#S zD)0@ndbjSnlPSybuqR6eo`)4?M5UQ|>2BjJvarq70rCFFIHhF`IMW$HIOU!N)^O$qytS9vK#S_Y2>W9}yn-+>B@)|E_O0)CFq1Q{F2fxtGd1s(>jTfV(N;j!*znu^E z`}?s-5;ooi9@s(?Dv|#oA?Z`$c-Vj(5We%z6}q%F0q1-)_0Ze}9w#H-_rAzQ_5o*( znCv`7(6WqDFk^ilbb_n%0dVoQ+aiZc@Q&By zNSH71wz9kqLw1Y-hm)aIad(Z61P*s9)4Fcw#9$;KVHp8AX94L%&@ z$Xtp(=lMYtYejof*e-EnMG3z_JWsg*eE~=j^uW31 z{+?GsFPxL6{|f^LHFr#9gD;QV{u+881q{MH7%1d4pXdWTk!kRbeZ4tO+l-fX~G;@LM7j)?Ja zc!EbLS*ms&Fq;Wo%J7eA74+_B#BpYb`rdbw%8}urXQNpcEH+J>4C9*+{C-OOcr<9U zxzp4|{)YIhVoI!O*KCm5-kd=zNaXK7;*b2piFmkk&}L-|_f_%Wc{I2gUh~rf@zvbh zLS*JD9Jc>=RvQGfkBD!!?R?`tMk^#*@YQl24X1WRiOos)t|}^zrG=#zt#cQ96&D$a z0&hQN&KI{))Tl9M3AWC*ZX4%I%7+p0n;pd2Xx8m|p0#V^P7&7j-pseR8T)g&UQ}KF zNWwNx^0@EO5t#o;@+}W0L(j#Cd7mr`fT0$Hce( z4|MWJo;PAAO#TIbeBk_I=GW)gJTzDq={(3|@gVYt^DzOA>FJsH{fxCyKzT@fAaYF5 zSf}ny^QgZK5T8ik10O9+Gmd-L*Sxo=b<)cJN*(srNb+rJJ>IJL!&&jAN1So6^f|wr zw_fuPTVLb3tSu`xe=+IUWZT-nQ*$mCi=dZ)N%t%_>0On$O+^$oYW^i#@q2LI{P#K^ zFjz>JtmehGt9S;BDp)YKP160MAyqbAwdiXuoV9 z&gV(}kxlHMuK0(^1wV$j5!q7SlK=hD#$UH9)>m|Ixy&}6R}r!Ohl2O&exCnC@oqDc z>MP6RH{`KBg*cZ*7BU%~CBOF`)WQ5^efL3kC{H87bBlcG7{l0}q#l0WXQGZ^vPnpfzGBtM@@)z>sx)F-)Ke*xx*RlG;#K5=aOSZ^QyF45Z&E{q) z#rC=6tGhOh?PpL=7vs^ji-GcRk^kN?1!MbM)c1OpyC@Ikze&oO+jyh$oFyOh4Cj%| zt4+WQz^KoMlHakG+;`uIFz{2I&#HxEwU6dWU+3Mm!1j!Eo=Fcj5^E#2cDvjsMEM!( zeC>Qq8uhuzzX*HEd`$E8#uqn264%5@=~yH^jF3G6+mFP2@3O6TvXfwr!< ztTq0D2K=^6S8Rdg^h4u>E%{B*V*G&wbla3c%eCoI@h1Pu6|eI5`u35h_0D#87f<@` z6U#V&sXWa5N%Ca#>F*Ak4BMxF#kWnBT4=4^e+mOEZg-FYPVO%Zaw>O=}9 zUk$z6F_=Foh`p%ZMiU=5JXKvL$}`fgQ#HZkY=twZIir7=WMM|rMHPu zt>8>YvfupOzfXp>rLncE!;X^NA0*!{lIqrFF?FVDNZ?s2^A9{+@a=Y+Sl&~|sqrZI z)Vo!Vx@VyH5b3`eYP{zI$UkVj=L5)}G~P40BY)O-&t#3tq_6QF?*Q_V#(VaekdGDb zvrVx4BgOk{4dlm)_c=F^pD5n9O@{nb@jhn=@;8e2?e8OhP`qz@ANhO5`!;crC;7k4 z*50js94{n4cX1jt**%ODe^*q=C(qjD0s0Ge`2vov3fC&^ss$ePixGEBxLtgR_%ics z{|h`qd=n6Ci_1RZRluo6IkPlvNC+W0k1{#PKjzx&%yztw`0YA8uvj`@2LvsXWe0rT zgq`?=6Pdt=o=%B59(vq)NO(Z@)UAN$fd}d$DtsAmR0azV{2pA*ZQ?U}{=N4Bcjk#t z@8+o^I0x}($uIpo)gRElCLW^Fi+649{8aLAWY3@fNb=reTF6I|$Lqyzcf$wN34;Gr zyKY!hf2sWWp}=iYeYBX&mwdMMZ4Z3Fb0frqR`%ETAo;yNGTH|m>4Jv`&b<6k^0!sy z4hDxjjIMpqr5HI}_U(L=CSEP8#2>bTQ*U58G1eKL)%cXP7oQ5e6wmLv@qUMQnj~0R zN|5IM;z-@Y@WQ{5Pvz;;2i(!Uv=4|B5bq$!-4N+1yazyepHT|7VyxFifZY%gU(EdX znL1x63%?JfTMM>0PF*33WQrl@nUe6tChG~e5`AHZG2kFnV79cLm8LRbf_;)__1YF# zKudrJInz7;(p1*ro>GKd`yz{&Qh1fMNP#D0mkTze@r_G=f(Y?CZTtsJNn%-o<#(M_ zUV42Go%}IH_$gva0cY+5R7mLK-R@!iwSXd&@?K6l}a%2|;e)83lV?xtHwWf`@oc z?c&o0;+Sl&`O)B#x1ZX@g~Q~M=M}N?k_a7Um|9UsIR-)@_& zF9PXA=b0wYs;w>HHV&1s;CT#L40V>6&sSr4&R6^<-Cv*dkmY$G9z;JN;@235;%dVz zvkfc$oGtmBkuC>V-%YWK%k`&#u{DTv9%e*0KSbVB5Iz4s=lQNk0FPrm$XB3L5A<#M zam6*FJ9|{jB{T5LqTaffV{&YjFne-U?!jXe{&JVk*XzQw;1CY|Wm_$h#Xj?elE(ax z#IOA~sE~i){3g&Vg`LYR!x^(lAUIxA*kXloVHgu1sMunG2l|-^4^(VZiF>!Q(9%}8 zFQNvy0}&5ZgChGtH7Hs#Q0)x+#0Ojw!`okppF?HDfd?Cg8Y}+PtEDsoZj`E=F?D9~-N6Fk58^2ai zl6hN&=FUd>dRNW^Je1n{W_^nezAO*W3vAqG^Cb6#YEd}kpUt=BxD7i)3ugwhc@^Sg z)jojBtFQ#P$jp{#GvgDIz67yK(0FG$)u@nSRu#!&o;VNxkW2u+NN2mCa8Vow<053M zGLq$i6d{|HaVJH{cATm+9PR?8?n^P{ICeom6HVm@@*=5xd(y&#$9XpR*$_6ZcXd7{ zzTm^&o4*t!j1F4ZV}yzXk>CU4U`65s)h^GOJ`E@l=WBQ~Cw0d~kp3J<5c<*x4E|-F zY}r&0gk$zi8%^V&<7P3($D87|^ei4#b(=OxHenYTBjN+EdBy{sFE_3WZ^#dc4}8@I z9ykJiR%Huccp=~)sQh!k{Bt+ul=yVBVRNfj^+K3Y&ikCE)VMPgOYmckFOw{6JxI+NdKZmaGxTm*+}HVqDWGweKXQKMjUuO(YrwA; zYwvg@O9JuCe|is#L)Bf^{#TKZCt+9zxMG1P+|XbUrbqfV%KFl;TO|*=Kv#Di-vofXWGG?+LIPA8ty#a zLJJtcH}QTG;scyg;o(@mo9<347~95kG+Zo|IUjcHJfhawW`*~PJmyb|1kCx67pw+U z{ygAGEiBJH=ZiqSM$<$Y5CIx+(j(aT#-T~QT!fwJ6_ZftndI|G@L^|? z&(vAv$0iA}BG06FLeC^eB+SgnE4R*5ifVZ(_gHcbn#$!kvyl&@V!K9&qSTtzcJq=|4ZCY75aU z&3gh@IIZ&YO>lv5#g&%QMXXDpsMi7bW-`NqVe;fs_1-JsraK_S}Jd;wDw&DOUhYK z6i~AMW!Eo4+Utlsc*4-)WZ%hckt)#oy*Z!cSA;jrSvWM{p)PPPw%uCO)a>o|v?S z1rHXMLqTA9wANf!$;uU4U%JGIUj?+Lrc71=(mℜmW#Otrh32_;tG3_zqwUblwvW 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

    rF}3 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