From 51119a4393c35d8fffe93874b5152da6a1d90305 Mon Sep 17 00:00:00 2001 From: chenwang Date: Tue, 11 Feb 2025 17:46:22 +0000 Subject: [PATCH 1/2] kata-containers: add sw64 architecture judgment to apply-patches To avoid applying sw64 patches when compiling kata on other architecture, we added sw64 architecture judgments to the apply-patches script. In this way, sw64's patch is only applied when it is compiled locally on the sw64 machine. Signed-off-by: chenwang --- agent/apply-patches | 34 +++++++++++++++++++++++++--------- kata-containers.spec | 8 +++++++- proxy/apply-patches | 34 +++++++++++++++++++++++++--------- runtime/apply-patches | 30 ++++++++++++++++++++++-------- shim/apply-patches | 33 ++++++++++++++++++++++++--------- 5 files changed, 103 insertions(+), 36 deletions(-) diff --git a/agent/apply-patches b/agent/apply-patches index 87d9b08..1b93321 100755 --- a/agent/apply-patches +++ b/agent/apply-patches @@ -8,13 +8,29 @@ fi tar -zxvf agent-1.11.1.tar.gz cp -fr ./agent-1.11.1/* ./ rm -rf ./agent-1.11.1 -cat ./series.conf | while read line -do - if [[ $line == '' || $line =~ ^\s*# ]]; then - continue - fi - echo "====patch $line======" - pwd - patch -p1 -F1 -s < ./patches/$line -done + +arch=$(uname -m) + +if [[ "$arch" != "sw_64" ]];then + cat ./series.conf | grep -v sw64 | while read line + do + if [[ $line == '' || $line =~ ^\s*# ]]; then + continue + fi + echo "====patch $line======" + pwd + patch -p1 -F1 -s < ./patches/$line + done +else + cat ./series.conf | while read line + do + if [[ $line == '' || $line =~ ^\s*# ]]; then + continue + fi + echo "====patch $line======" + pwd + patch -p1 -F1 -s < ./patches/$line + done +fi + touch ./patch_flag diff --git a/kata-containers.spec b/kata-containers.spec index 92d14b7..1f2b71a 100644 --- a/kata-containers.spec +++ b/kata-containers.spec @@ -2,7 +2,7 @@ %global debug_package %{nil} %define VERSION 1.11.1 -%define RELEASE 26 +%define RELEASE 27 Name: kata-containers Version: %{VERSION} @@ -98,6 +98,12 @@ install -p -m 640 -D ./runtime/cli/config/configuration-qemu.toml %{buildroot}/u %doc %changelog +* Tue Feb 11 2025 chenwang - 1.11.1-27 +- Type:enhancement +- CVE:NA +- SUG:NA +- DESC:add sw64 architecture judgment to apply-patches + * Thu Feb 02 2023 Vanient - 1.11.1-26 - Type:bugfix - CVE:NA diff --git a/proxy/apply-patches b/proxy/apply-patches index 99f657b..bf9c15f 100755 --- a/proxy/apply-patches +++ b/proxy/apply-patches @@ -8,13 +8,29 @@ fi tar -zxvf proxy-1.11.1.tar.gz cp -fr ./proxy-1.11.1/* ./ rm -rf ./proxy-1.11.1 -cat ./series.conf | while read line -do - if [[ $line == '' || $line =~ ^\s*# ]]; then - continue - fi - echo "====patch $line======" - pwd - patch -p1 -F1 -s < ./patches/$line -done + +arch=$(uname -m) + +if [[ "$arch" != "sw_64" ]];then + cat ./series.conf | grep -v sw64 | while read line + do + if [[ $line == '' || $line =~ ^\s*# ]]; then + continue + fi + echo "====patch $line======" + pwd + patch -p1 -F1 -s < ./patches/$line + done +else + cat ./series.conf | while read line + do + if [[ $line == '' || $line =~ ^\s*# ]]; then + continue + fi + echo "====patch $line======" + pwd + patch -p1 -F1 -s < ./patches/$line + done +fi + touch ./patch_flag diff --git a/runtime/apply-patches b/runtime/apply-patches index 2a86e4e..a2d238b 100755 --- a/runtime/apply-patches +++ b/runtime/apply-patches @@ -10,13 +10,27 @@ fi tar -zxvf runtime-1.11.1.tar.gz cp -fr ./runtime-1.11.1/* ./ rm -rf ./runtime-1.11.1 -cat ./series.conf | while read line -do - if [[ $line == '' || $line =~ ^\s*# ]]; then - continue - fi - echo "====patch $line======" - patch -p1 -F1 -s < ./patches/$line -done + +arch=$(uname -m) + +if [[ "$arch" != "sw_64" ]];then + cat ./series.conf | grep -v sw64 | while read line + do + if [[ $line == '' || $line =~ ^\s*# ]]; then + continue + fi + echo "====patch $line======" + patch -p1 -F1 -s < ./patches/$line + done +else + cat ./series.conf | while read line + do + if [[ $line == '' || $line =~ ^\s*# ]]; then + continue + fi + echo "====patch $line======" + patch -p1 -F1 -s < ./patches/$line + done +fi touch ./patch_flag diff --git a/shim/apply-patches b/shim/apply-patches index 5ac8bba..34425ca 100755 --- a/shim/apply-patches +++ b/shim/apply-patches @@ -8,14 +8,29 @@ fi tar -zxvf shim-*.tar.gz cp -fr ./shim-*/* ./ rm -rf ./shim-* -cat ./series.conf | while read line -do - if [[ $line == '' || $line =~ ^\s*# ]]; then - continue - fi - echo "====patch $line======" - pwd - patch -p1 -F1 -s < ./patches/$line -done + +arch=$(uname -m) + +if [[ "$arch" != "sw_64" ]];then + cat ./series.conf | grep -v sw64 | while read line + do + if [[ $line == '' || $line =~ ^\s*# ]]; then + continue + fi + echo "====patch $line======" + pwd + patch -p1 -F1 -s < ./patches/$line + done +else + cat ./series.conf | while read line + do + if [[ $line == '' || $line =~ ^\s*# ]]; then + continue + fi + echo "====patch $line======" + pwd + patch -p1 -F1 -s < ./patches/$line + done +fi touch ./patch_flag -- Gitee From 6d7b1153c7eb9273117dffb70fa111a87bb3a4a1 Mon Sep 17 00:00:00 2001 From: chenwang Date: Tue, 11 Feb 2025 17:39:57 +0000 Subject: [PATCH 2/2] kata-containers:add sw64 architecture support to kata-containers Signed-off-by: chenwang --- ...t-sw64-add-sw64-architecture-support.patch | 7527 +++++++++++++++ agent/series.conf | 1 + kata-containers.spec | 8 +- ...y-sw64-add-sw64-architecture-support.patch | 7292 +++++++++++++++ proxy/series.conf | 1 + ...e-sw64-add-sw64-architecture-support.patch | 8237 +++++++++++++++++ runtime/series.conf | 1 + ...m-sw64-add-sw64-architecture-support.patch | 7331 +++++++++++++++ shim/series.conf | 1 + 9 files changed, 30398 insertions(+), 1 deletion(-) create mode 100644 agent/patches/0025-kata-agent-sw64-add-sw64-architecture-support.patch create mode 100644 proxy/patches/0004-kata-proxy-sw64-add-sw64-architecture-support.patch create mode 100644 runtime/patches/0099-kata-runtime-sw64-add-sw64-architecture-support.patch create mode 100644 shim/patches/0004-kata-shim-sw64-add-sw64-architecture-support.patch diff --git a/agent/patches/0025-kata-agent-sw64-add-sw64-architecture-support.patch b/agent/patches/0025-kata-agent-sw64-add-sw64-architecture-support.patch new file mode 100644 index 0000000..5167f9d --- /dev/null +++ b/agent/patches/0025-kata-agent-sw64-add-sw64-architecture-support.patch @@ -0,0 +1,7527 @@ +From f1555d3afb2fcd34b5bc0c6692dbc53a340c7fab Mon Sep 17 00:00:00 2001 +From: chenwang +Date: Tue, 11 Feb 2025 17:33:00 +0000 +Subject: [PATCH] kata-agent: sw64: add sw64 architecture support + +Signed-off-by: chenwang +--- + device_sw64.go | 27 + + signals.go | 2 + + signals_sw64.go | 104 + + .../runc/libcontainer/seccomp/config.go | 1 + + .../libcontainer/system/syscall_linux_64.go | 2 +- + .../runtime-spec/specs-go/config.go | 1 + + vendor/golang.org/x/sys/unix/asm_linux_sw64.s | 139 + + vendor/golang.org/x/sys/unix/endian_little.go | 2 +- + .../x/sys/unix/syscall_linux_sw64.go | 215 ++ + .../x/sys/unix/zerrors_linux_sw64.go | 2184 ++++++++++++++++ + .../x/sys/unix/zsyscall_linux_sw64.go | 2271 +++++++++++++++++ + .../x/sys/unix/zsysnum_linux_sw64.go | 447 ++++ + .../x/sys/unix/ztypes_linux_sw64.go | 2001 +++++++++++++++ + 13 files changed, 7394 insertions(+), 2 deletions(-) + create mode 100644 device_sw64.go + create mode 100644 signals_sw64.go + create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_sw64.s + create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_sw64.go + create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_sw64.go + create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_sw64.go + create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_sw64.go + create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_sw64.go + +diff --git a/device_sw64.go b/device_sw64.go +new file mode 100644 +index 0000000..4416a0f +--- /dev/null ++++ b/device_sw64.go +@@ -0,0 +1,27 @@ ++// +build sw64 ++ ++// Copyright (c) 2023 SW64 Limited ++// ++// SPDX-License-Identifier: Apache-2.0 ++// ++ ++package main ++ ++const ( ++ defaultRootBusPath = "/devices/pci0000:00" ++ ++ // From https://www.kernel.org/doc/Documentation/acpi/namespace.txt ++ // The Linux kernel's core ACPI subsystem creates struct acpi_device ++ // objects for ACPI namespace objects representing devices, power resources ++ // processors, thermal zones. Those objects are exported to user space via ++ // sysfs as directories in the subtree under /sys/devices/LNXSYSTM:00 ++ acpiDevPath = "/devices/LNXSYSTM" ++ ++ // /dev/pmemX devices exported in the ACPI sysfs (/devices/LNXSYSTM) are ++ // in a subdirectory whose prefix is pfn (page frame number). ++ pfnDevPrefix = "/pfn" ++) ++ ++func initRootBusPath() string { ++ return defaultRootBusPath ++} +diff --git a/signals.go b/signals.go +index 08cb860..2282db6 100644 +--- a/signals.go ++++ b/signals.go +@@ -1,3 +1,5 @@ ++// +build !sw64 ++ + // Copyright 2018-2019 Intel Corporation. + // + // SPDX-License-Identifier: Apache-2.0 +diff --git a/signals_sw64.go b/signals_sw64.go +new file mode 100644 +index 0000000..65da89f +--- /dev/null ++++ b/signals_sw64.go +@@ -0,0 +1,104 @@ ++// +build sw64 ++ ++// Copyright 2018-2019 Intel Corporation. ++// ++// SPDX-License-Identifier: Apache-2.0 ++// ++ ++package main ++ ++import ( ++ "bytes" ++ "context" ++ "fmt" ++ "os" ++ "os/signal" ++ "runtime/pprof" ++ "strings" ++ "syscall" ++) ++ ++// List of handled signals. ++// ++// The value is true if receiving the signal should be fatal. ++var handledSignalsMap = map[syscall.Signal]bool{ ++ syscall.SIGABRT: true, ++ syscall.SIGBUS: true, ++ syscall.SIGILL: true, ++ // Signals from the keyboard (INT and QUIT) *must not* be fatal ++ // otherwise the agent could be killed from the host through ++ // the console.sock. ++ syscall.SIGINT: false, ++ syscall.SIGQUIT: false, ++ syscall.SIGSEGV: true, ++ syscall.SIGSYS: true, ++ syscall.SIGTRAP: true, ++ syscall.SIGUSR1: false, ++} ++ ++func handlePanic() { ++ r := recover() ++ ++ if r != nil { ++ msg := fmt.Sprintf("%s", r) ++ agentLog.WithField("panic", msg).Error("fatal error") ++ ++ die(rootContext) ++ } ++} ++ ++func backtrace() { ++ profiles := pprof.Profiles() ++ ++ buf := &bytes.Buffer{} ++ ++ for _, p := range profiles { ++ // The magic number requests a full stacktrace. See ++ // https://golang.org/pkg/runtime/pprof/#Profile.WriteTo. ++ pprof.Lookup(p.Name()).WriteTo(buf, 2) ++ } ++ ++ for _, line := range strings.Split(buf.String(), "\n") { ++ agentLog.Error(line) ++ } ++} ++ ++func fatalSignal(sig syscall.Signal) bool { ++ s, exists := handledSignalsMap[sig] ++ if !exists { ++ return false ++ } ++ ++ return s ++} ++ ++func nonFatalSignal(sig syscall.Signal) bool { ++ s, exists := handledSignalsMap[sig] ++ if !exists { ++ return false ++ } ++ ++ return !s ++} ++ ++func handledSignals() []syscall.Signal { ++ var signals []syscall.Signal ++ ++ for sig := range handledSignalsMap { ++ signals = append(signals, sig) ++ } ++ ++ return signals ++} ++ ++func die(ctx context.Context) { ++ stopTracing(ctx) ++ backtrace() ++ ++ if crashOnError { ++ signal.Reset(syscall.SIGABRT) ++ syscall.Kill(0, syscall.SIGABRT) ++ } ++ ++ os.Exit(1) ++} +diff --git a/vendor/github.com/opencontainers/runc/libcontainer/seccomp/config.go b/vendor/github.com/opencontainers/runc/libcontainer/seccomp/config.go +index c321227..ea59d92 100644 +--- a/vendor/github.com/opencontainers/runc/libcontainer/seccomp/config.go ++++ b/vendor/github.com/opencontainers/runc/libcontainer/seccomp/config.go +@@ -42,6 +42,7 @@ var archs = map[string]string{ + "SCMP_ARCH_PPC64LE": "ppc64le", + "SCMP_ARCH_S390": "s390", + "SCMP_ARCH_S390X": "s390x", ++ "SCMP_ARCH_SW64": "sw64", + } + + // ConvertStringToOperator converts a string into a Seccomp comparison operator. +diff --git a/vendor/github.com/opencontainers/runc/libcontainer/system/syscall_linux_64.go b/vendor/github.com/opencontainers/runc/libcontainer/system/syscall_linux_64.go +index e05e30a..433c8d0 100644 +--- a/vendor/github.com/opencontainers/runc/libcontainer/system/syscall_linux_64.go ++++ b/vendor/github.com/opencontainers/runc/libcontainer/system/syscall_linux_64.go +@@ -1,5 +1,5 @@ + // +build linux +-// +build arm64 amd64 mips mipsle mips64 mips64le ppc ppc64 ppc64le riscv64 s390x ++// +build arm64 amd64 mips mipsle mips64 mips64le ppc ppc64 ppc64le riscv64 s390x sw64 + + package system + +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 27268f9..74ce295 100644 +--- a/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go ++++ b/vendor/github.com/opencontainers/runtime-spec/specs-go/config.go +@@ -582,6 +582,7 @@ const ( + ArchS390X Arch = "SCMP_ARCH_S390X" + ArchPARISC Arch = "SCMP_ARCH_PARISC" + ArchPARISC64 Arch = "SCMP_ARCH_PARISC64" ++ ArchSW64 Arch = "SCMP_ARCH_SW64" + ) + + // LinuxSeccompAction taken upon Seccomp rule match +diff --git a/vendor/golang.org/x/sys/unix/asm_linux_sw64.s b/vendor/golang.org/x/sys/unix/asm_linux_sw64.s +new file mode 100644 +index 0000000..2b127be +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/asm_linux_sw64.s +@@ -0,0 +1,139 @@ ++// 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 linux ++// +build sw64 ++ ++#include "textflag.h" ++ ++// ++// System calls for sw64, Linux ++// ++ ++#define SYSCALL SYS_CALL_B $131 ++ ++//func Syscall(trap int64, a1, a2, a3 int64) (r1, r2, err int64); ++TEXT ·Syscall(SB), NOSPLIT, $0-56 ++ CALL runtime·entersyscall(SB) ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDI R19, ZERO ++ LDI R20, ZERO ++ LDI R21, ZERO ++ LDL R0, trap+0(FP) ++ SYSCALL ++ BEQ R19, ok ++ ++ LDI R1, $-1 ++ STL R1, r1+32(FP) ++ STL ZERO, r2+40(FP) ++ STL R0, err+48(FP) ++ CALL runtime·exitsyscall(SB) ++ RET ++ok: ++ STL R0, r1+32(FP) ++ STL R20, r2+40(FP) ++ STL ZERO, err+48(FP) ++ CALL runtime·exitsyscall(SB) ++ RET ++ ++//func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) ++TEXT ·Syscall6(SB), NOSPLIT, $0-80 ++ CALL runtime·entersyscall(SB) ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDL R19, a4+32(FP) ++ LDL R20, a5+40(FP) ++ LDL R21, a6+48(FP) ++ LDL R0, trap+0(FP) ++ SYSCALL ++ BEQ R19, ok ++ ++ LDI R1, $-1 ++ STL R1, r1+56(FP) ++ STL ZERO, r2+64(FP) ++ STL R0, err+72(FP) ++ CALL runtime·exitsyscall(SB) ++ RET ++ok: ++ STL R0, r1+56(FP) ++ STL R20, r2+64(FP) ++ STL ZERO, err+72(FP) ++ CALL runtime·exitsyscall(SB) ++ RET ++ ++TEXT ·RawSyscall(SB), NOSPLIT, $0-56 ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDI R19, ZERO ++ LDI R20, ZERO ++ LDI R21, ZERO ++ LDL R0, trap+0(FP) ++ SYSCALL ++ BEQ R19, ok ++ ++ LDI R1, $-1 ++ STL R1, r1+32(FP) ++ STL ZERO, r2+40(FP) ++ STL R0, err+48(FP) ++ RET ++ok: ++ STL R0, r1+32(FP) ++ STL R20, r2+40(FP) ++ STL ZERO, err+48(FP) ++ RET ++ ++TEXT ·RawSyscall6(SB),NOSPLIT, $0-80 ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDL R19, a4+32(FP) ++ LDL R20, a5+40(FP) ++ LDL R21, a6+48(FP) ++ LDL R0, trap+0(FP) ++ SYSCALL ++ BEQ R19, ok ++ ++ LDI R1, $-1 ++ STL R1, r1+56(FP) ++ STL ZERO, r2+64(FP) ++ STL R0, err+72(FP) ++ RET ++ok: ++ STL R0, r1+56(FP) ++ STL R20, r2+64(FP) ++ STL ZERO, err+72(FP) ++ RET ++ ++TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 ++ CALL runtime·entersyscall(SB) ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDI R19,ZERO ++ LDI R20, ZERO ++ LDI R21, ZERO ++ LDL R0, trap+0(FP) ++ SYSCALL ++ STL R0, r1+32(FP) ++ STL R20, r1+40(FP) ++ CALL runtime·exitsyscall(SB) ++ RET ++ ++ ++TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDI R19, ZERO ++ LDI R20, ZERO ++ LDI R21, ZERO ++ LDL R0, trap+0(FP) ++ SYSCALL ++ STL R0, r1+32(FP) ++ STL R20, r1+40(FP) ++ RET +diff --git a/vendor/golang.org/x/sys/unix/endian_little.go b/vendor/golang.org/x/sys/unix/endian_little.go +index bcdb5d3..af3cfc1 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 mipsle mips64le riscv64 ++// +build 386 amd64 amd64p32 arm arm64 ppc64le mipsle mips64le riscv64 sw64 + + package unix + +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_sw64.go b/vendor/golang.org/x/sys/unix/syscall_linux_sw64.go +new file mode 100644 +index 0000000..e04dc64 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_sw64.go +@@ -0,0 +1,215 @@ ++// 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 sw64,linux ++ ++package unix ++ ++import ( ++ "syscall" ++) ++ ++const ( ++ //generate by handle ++ TIOCSWINSZ = 0x80087467 ++ TIOCGWINSZ = 0x40087468 ++ ++ //replace ztypes_linux_sw64.go with this ++// 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 ( ++ //ALL OF THIS constants are WORKAROUND, and should be removing ++ _SYS_dup = SYS_DUP2 ++ _SYS_setgroups = SYS_SETGROUPS ++ SYS_UMOUNT2 = SYS_UMOUNT ++ ++ SYS_GETPID = SYS_GETXPID ++ SYS_GETPPID = SYS_GETXPID ++ ++ SYS_COPY_FILE_RANGE = 0 ++ KEYCTL_DH_COMPUTE = -1 ++) ++ ++//sysnb getxpid() (pid int, ppid int) ++// currently manually remove the implements of Getpid and Getppid ++// in zsyscall_linux_sw64.go ++func Getpid() (pid int) { pid, _ = getxpid(); return } ++func Getppid() (ppid int) { _, ppid = getxpid(); return } ++ ++func Utime(path string, buf *Utimbuf) error { ++ tv := [2]Timeval{ ++ {Sec: buf.Actime}, ++ {Sec: buf.Modtime}, ++ } ++ return utimes(path, &tv) ++} ++ ++//sys Fstat64(fd int, st *Stat_t) (err error) ++//sys Lstat64(path string, st *Stat_t) (err error) ++//sys Stat64(path string, st *Stat_t) (err error) ++func Fstat(fd int, st *Stat_t) (err error) { return Fstat64(fd, st) } ++func Lstat(path string, st *Stat_t) (err error) { return Lstat64(path, st) } ++func Stat(path string, st *Stat_t) (err error) { return Stat64(path, st) } ++ ++//sys getxuid() (uid int, euid int) ++func Getuid() (uid int) { uid, _ = getxuid(); return } ++func Geteuid() (euid int) { _, euid = getxuid(); return } ++ ++//sys getxgid() (gid int, egid int) ++func Getgid() (gid int) { gid, _ = getxgid(); return } ++func Getegid() (egid int) { _, egid = getxgid(); return } ++ ++//sys Statfs(path string, buf *Statfs_t) (err error) ++//sys Fstatfs(fd int, buf *Statfs_t) (err error) ++//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) ++//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) ++//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 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 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 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) ++ ++type sigset_t struct { ++ X__val [16]uint64 ++} ++ ++//sys pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *sigset_t) (n int, err error) = SYS_PSELECT6 ++ ++func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { ++ ts := Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} ++ return pselect(nfd, r, w, e, &ts, nil) ++} ++ ++//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 ++} ++ ++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 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 ++} ++ ++// 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) ++} ++ ++func rawVforkSyscall(trap, a1 uintptr) (r1 uintptr, err syscall.Errno) { ++ panic("not implemented") ++} ++ ++//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) ++ ++//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/zerrors_linux_sw64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sw64.go +new file mode 100644 +index 0000000..64b7602 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sw64.go +@@ -0,0 +1,2184 @@ ++// mkerrors.sh ++// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT ++ ++// Created by cgo -godefs - DO NOT EDIT ++// cgo -godefs -- /tmp/_const.go ++ ++// +build sw64,linux ++ ++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 ++ AF_XDP = 0x2c ++ 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 ++ BLKGETSIZE64 = 40081272 ++ BPF_A = 0x10 ++ BPF_ABS = 0x20 ++ BPF_ADD = 0x0 ++ BPF_ALU = 0x4 ++ BPF_AND = 0x50 ++ BPF_B = 0x10 ++ BPF_DEVCG_ACC_MKNOD = 0x1 ++ BPF_DEVCG_ACC_READ = 0x2 ++ BPF_DEVCG_ACC_WRITE = 0x4 ++ BPF_DEVCG_DEV_BLOCK = 0x1 ++ BPF_DEVCG_DEV_CHAR = 0x2 ++ BPF_DIV = 0x30 ++ BPF_F_ALLOW_MULTI = 0x2 ++ 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_OBJ_NAME_LEN = 0x10 ++ BPF_OR = 0x40 ++ BPF_TAG_SIZE = 0x8 ++ 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 ++ CGROUP2_SUPER_MAGIC = 0x63677270 ++ CLOCAL = 0x8000 ++ CLONE_CHILD_CLEARTID = 0x200000 ++ CLONE_CHILD_SETTID = 0x1000000 ++ CLONE_DETACHED = 0x400000 ++ CLONE_FILES = 0x400 ++ CLONE_FS = 0x200 ++ CLONE_IO = 0x80000000 ++ CLONE_NEWCGROUP = 0x0200000 ++ 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 = 0x800 ++ 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 ++ EFD_CLOEXEC = 0x200000 ++ EFD_NONBLOCK = 0x4 ++ EFD_SEMAPHORE = 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 ++ 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 = 0x200000 ++ 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 = 0x10000000 ++ FD_CLOEXEC = 0x1 ++ FD_SETSIZE = 0x400 ++ FLUSHO = 0x800000 ++ F_DUPFD = 0x0 ++ F_DUPFD_CLOEXEC = 0x406 ++ F_EXLCK = 0x10 ++ F_GETFD = 0x1 ++ F_GETFL = 0x3 ++ F_GETLEASE = 0x401 ++ F_GETLK = 0x7 ++ F_GETLK64 = 0x7 ++ F_GETOWN = 0x6 ++ 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 = 0x5 ++ F_SETOWN_EX = 0xf ++ F_SETPIPE_SZ = 0x407 ++ F_SETSIG = 0xa ++ F_SHLCK = 0x20 ++ F_TEST = 0x3 ++ F_TLOCK = 0x2 ++ F_ULOCK = 0x0 ++ F_UNLCK = 0x8 ++ F_WRLCK = 0x2 ++ GRND_NONBLOCK = 0x1 ++ GRND_RANDOM = 0x2 ++ HUPCL = 0x4000 ++ 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_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 = 0x200000 ++ 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 = 0x4 ++ IN_ONESHOT = 0x80000000 ++ IN_ONLYDIR = 0x1000000 ++ IN_OPEN = 0x20 ++ IN_Q_OVERFLOW = 0x4000 ++ IN_UNMOUNT = 0x2000 ++ IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 ++ 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 = 0x80 ++ ISTRIP = 0x20 ++ IUTF8 = 0x4000 ++ IXANY = 0x800 ++ IXOFF = 0x400 ++ IXON = 0x200 ++ KEYCTL_ASSUME_AUTHORITY = 0x10 ++ KEYCTL_CHOWN = 0x4 ++ KEYCTL_CLEAR = 0x7 ++ KEYCTL_DESCRIBE = 0x6 ++ 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_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_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 = 0x6 ++ 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 = 0x10 ++ MAP_ANONYMOUS = 0x10 ++ MAP_DENYWRITE = 0x2000 ++ MAP_EXECUTABLE = 0x4000 ++ MAP_FILE = 0x0 ++ MAP_FIXED = 0x100 ++ MAP_GROWSDOWN = 0x1000 ++ MAP_HUGETLB = 0x100000 ++ MAP_HUGE_MASK = 0x3f ++ MAP_HUGE_SHIFT = 0x1a ++ MAP_LOCKED = 0x8000 ++ MAP_NONBLOCK = 0x40000 ++ MAP_NORESERVE = 0x10000 ++ MAP_POPULATE = 0x20000 ++ MAP_PRIVATE = 0x2 ++ MAP_SHARED = 0x1 ++ MAP_STACK = 0x80000 ++ MAP_TYPE = 0xf ++ MCL_CURRENT = 0x2000 ++ MCL_FUTURE = 0x4000 ++ MCL_ONFAULT = 0x8000 ++ 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_BORN = 0x20000000 ++ MS_DIRSYNC = 0x80 ++ MS_INVALIDATE = 0x4 ++ 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_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_SYNC = 0x2 ++ MS_SYNCHRONOUS = 0x10 ++ MS_UNBINDABLE = 0x20000 ++ MS_VERBOSE = 0x8000 ++ 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 ++ NFDBITS = 0x40 ++ 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 = 0x80000000 ++ OCRNL = 0x8 ++ OFDEL = 0x80 ++ OFILL = 0x40 ++ ONLCR = 0x2 ++ ONLRET = 0x20 ++ ONOCR = 0x10 ++ OPOST = 0x1 ++ O_ACCMODE = 0x3 ++ O_APPEND = 0x8 ++ O_ASYNC = 0x2000 ++ O_CLOEXEC = 0x200000 ++ O_CREAT = 0x200 ++ O_DIRECT = 0x80000 ++ O_DIRECTORY = 0x8000 ++ O_DSYNC = 0x4000 ++ O_EXCL = 0x800 ++ O_FSYNC = 0x404000 ++ O_LARGEFILE = 0x0 ++ O_NDELAY = 0x4 ++ O_NOATIME = 0x100000 ++ O_NOCTTY = 0x1000 ++ O_NOFOLLOW = 0x10000 ++ O_NONBLOCK = 0x4 ++ O_PATH = 0x800000 ++ O_RDONLY = 0x0 ++ O_RDWR = 0x2 ++ O_RSYNC = 0x404000 ++ O_SYNC = 0x404000 ++ O_TMPFILE = 0x1008000 ++ 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 = 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 ++ 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_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_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_SEIZE = 0x4206 ++ PTRACE_SETFPREGS = 0xf ++ 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 = 0x7 ++ RLIMIT_CORE = 0x4 ++ RLIMIT_CPU = 0x0 ++ RLIMIT_DATA = 0x2 ++ RLIMIT_FSIZE = 0x1 ++ RLIMIT_NOFILE = 0x6 ++ RLIMIT_STACK = 0x3 ++ RLIMIT_RSS = 0x5 ++ RLIMIT_NPROC = 0x6 ++ RLIMIT_MEMLOCK = 0x9 ++ RLIMIT_LOCKS = 0xa ++ RLIMIT_SIGPENDING = 0xb ++ RLIMIT_MSGQUEUE = 0xc ++ RLIMIT_NICE = 0xd ++ RLIMIT_RTPRIO = 0xe ++ RLIMIT_RTTIME = 0xf ++ RLIM_INFINITY = 0x7fffffffffffffff ++ 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 ++ RTC_SET_TIME = 0x8024700a ++ RTC_RD_TIME = 0x40247009 ++ 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 = 0x40047307 ++ 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 = 0x40047309 ++ 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 = 0x80047308 ++ SIOCSRARP = 0x8962 ++ SIOCWANDEV = 0x894a ++ SOCK_CLOEXEC = 0x200000 ++ SOCK_DCCP = 0x6 ++ SOCK_DGRAM = 0x2 ++ SOCK_NONBLOCK = 0x40000000 ++ SOCK_PACKET = 0xa ++ SOCK_RAW = 0x3 ++ SOCK_RDM = 0x4 ++ SOCK_SEQPACKET = 0x5 ++ SOCK_STREAM = 0x1 ++ 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 = 0x1014 ++ 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 = 0x100b ++ SO_RCVLOWAT = 0x1010 ++ SO_RCVTIMEO = 0x1012 ++ SO_REUSEADDR = 0x4 ++ SO_REUSEPORT = 0x200 ++ SO_RXQ_OVFL = 0x28 ++ SO_SECURITY_AUTHENTICATION = 0x13 ++ SO_SECURITY_ENCRYPTION_NETWORK = 0x15 ++ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x14 ++ SO_SELECT_ERR_QUEUE = 0x2d ++ SO_SNDBUF = 0x1001 ++ SO_SNDBUFFORCE = 0x100a ++ SO_SNDLOWAT = 0x1011 ++ SO_SNDTIMEO = 0x1013 ++ 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 ++ 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 = 0x2000741f ++ TCGETA = 0x40127417 ++ TCGETS = 0x402c7413 ++ TCIFLUSH = 0x0 ++ TCIOFLUSH = 0x2 ++ TCOFLUSH = 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 ++ TCSETA = 0x80127418 ++ TCSETAF = 0x8012741c ++ TCSETAW = 0x80127419 ++ TCSETS = 0x802c7414 ++ TCSETSF = 0x802c7416 ++ TCSETSW = 0x802c7415 ++ TIOCCBRK = 0x5428 ++ TIOCCONS = 0x541d ++ TIOCEXCL = 0x540c ++ TIOCGDEV = 0x40045432 ++ TIOCGETD = 0x5424 ++ TIOCGEXCL = 0x40045440 ++ TIOCGICOUNT = 0x545d ++ TIOCGLCKTRMIOS = 0x5456 ++ TIOCGPGRP = 0x40047477 ++ TIOCGPKT = 0x40045438 ++ TIOCGPTLCK = 0x40045439 ++ TIOCGPTN = 0x40045430 ++ TIOCGSERIAL = 0x541e ++ TIOCGSID = 0x5429 ++ TIOCGSOFTCAR = 0x5419 ++ 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 ++ TIOCSETD = 0x5423 ++ TIOCSIG = 0x80045436 ++ TIOCSLCKTRMIOS = 0x5457 ++ TIOCSPGRP = 0x80047476 ++ TIOCSPTLCK = 0x80045431 ++ TIOCSSERIAL = 0x541f ++ TIOCSSOFTCAR = 0x541a ++ TIOCSTART = 0x2000746e ++ TIOCSTI = 0x5412 ++ TIOCSTOP = 0x2000746f ++ TIOCVHANGUP = 0x5437 ++ TIPC_SERVICE_ADDR = 0x2 ++ TIPC_SERVICE_RANGE = 0x1 ++ TIPC_SOCKET_ADDR = 0x3 ++ TOSTOP = 0x400000 ++ 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 = 0xf ++ VEOF = 0x0 ++ VEOL = 0x1 ++ VEOL2 = 0x2 ++ VERASE = 0x3 ++ VINTR = 0x8 ++ VKILL = 0x5 ++ VLNEXT = 0xe ++ VMADDR_PORT_ANY = 0xffffffff ++ VMIN = 0x10 ++ VQUIT = 0x9 ++ VREPRINT = 0x6 ++ VSTART = 0xc ++ VSTOP = 0xd ++ VSUSP = 0xa ++ VSWTC = 0x7 ++ VT0 = 0x0 ++ VT1 = 0x10000 ++ VTDLY = 0x10000 ++ VTIME = 0x11 ++ VWERASE = 0x4 ++ 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(0x30) ++ EADDRNOTAVAIL = syscall.Errno(0x31) ++ EADV = syscall.Errno(0x6b) ++ EAFNOSUPPORT = syscall.Errno(0x2f) ++ EAGAIN = syscall.Errno(0x23) ++ EALREADY = syscall.Errno(0x25) ++ EBADE = syscall.Errno(0x61) ++ EBADF = syscall.Errno(0x9) ++ EBADFD = syscall.Errno(0x72) ++ EBADMSG = syscall.Errno(0x54) ++ EBADR = syscall.Errno(0x62) ++ EBADRQC = syscall.Errno(0x65) ++ EBADSLT = syscall.Errno(0x66) ++ EBFONT = syscall.Errno(0x68) ++ EBUSY = syscall.Errno(0x10) ++ ECANCELED = syscall.Errno(0x83) ++ ECHILD = syscall.Errno(0xa) ++ ECHRNG = syscall.Errno(0x58) ++ ECOMM = syscall.Errno(0x6d) ++ ECONNABORTED = syscall.Errno(0x35) ++ ECONNREFUSED = syscall.Errno(0x3d) ++ ECONNRESET = syscall.Errno(0x36) ++ EDEADLK = syscall.Errno(0xb) ++ EDEADLOCK = syscall.Errno(0xb) ++ EDESTADDRREQ = syscall.Errno(0x27) ++ EDOM = syscall.Errno(0x21) ++ EDOTDOT = syscall.Errno(0x6f) ++ 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(0x8b) ++ EIDRM = syscall.Errno(0x51) ++ EILSEQ = syscall.Errno(0x74) ++ 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(0x85) ++ EKEYREJECTED = syscall.Errno(0x87) ++ EKEYREVOKED = syscall.Errno(0x86) ++ EL2HLT = syscall.Errno(0x60) ++ EL2NSYNC = syscall.Errno(0x59) ++ EL3HLT = syscall.Errno(0x5a) ++ EL3RST = syscall.Errno(0x5b) ++ ELIBACC = syscall.Errno(0x7a) ++ ELIBBAD = syscall.Errno(0x7b) ++ ELIBEXEC = syscall.Errno(0x7e) ++ ELIBMAX = syscall.Errno(0x7d) ++ ELIBSCN = syscall.Errno(0x7c) ++ ELNRNG = syscall.Errno(0x5d) ++ ELOOP = syscall.Errno(0x3e) ++ EMEDIUMTYPE = syscall.Errno(0x82) ++ EMFILE = syscall.Errno(0x18) ++ EMLINK = syscall.Errno(0x1f) ++ EMSGSIZE = syscall.Errno(0x28) ++ EMULTIHOP = syscall.Errno(0x6e) ++ 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(0x64) ++ ENOBUFS = syscall.Errno(0x37) ++ ENOCSI = syscall.Errno(0x5f) ++ ENODATA = syscall.Errno(0x56) ++ ENODEV = syscall.Errno(0x13) ++ ENOENT = syscall.Errno(0x2) ++ ENOEXEC = syscall.Errno(0x8) ++ ENOKEY = syscall.Errno(0x84) ++ ENOLCK = syscall.Errno(0x4d) ++ ENOLINK = syscall.Errno(0x6a) ++ ENOMEDIUM = syscall.Errno(0x81) ++ ENOMEM = syscall.Errno(0xc) ++ ENOMSG = syscall.Errno(0x50) ++ ENONET = syscall.Errno(0x69) ++ ENOPKG = syscall.Errno(0x5c) ++ ENOPROTOOPT = syscall.Errno(0x2a) ++ ENOSPC = syscall.Errno(0x1c) ++ ENOSR = syscall.Errno(0x52) ++ ENOSTR = syscall.Errno(0x57) ++ ENOSYS = syscall.Errno(0x4e) ++ ENOTBLK = syscall.Errno(0xf) ++ ENOTCONN = syscall.Errno(0x39) ++ ENOTDIR = syscall.Errno(0x14) ++ ENOTEMPTY = syscall.Errno(0x42) ++ ENOTNAM = syscall.Errno(0x76) ++ ENOTRECOVERABLE = syscall.Errno(0x89) ++ ENOTSOCK = syscall.Errno(0x26) ++ ENOTSUP = syscall.Errno(0x2d) ++ ENOTTY = syscall.Errno(0x19) ++ ENOTUNIQ = syscall.Errno(0x71) ++ ENXIO = syscall.Errno(0x6) ++ EOPNOTSUPP = syscall.Errno(0x2d) ++ EOVERFLOW = syscall.Errno(0x70) ++ EOWNERDEAD = syscall.Errno(0x88) ++ EPERM = syscall.Errno(0x1) ++ EPFNOSUPPORT = syscall.Errno(0x2e) ++ EPIPE = syscall.Errno(0x20) ++ EPROTO = syscall.Errno(0x55) ++ EPROTONOSUPPORT = syscall.Errno(0x2b) ++ EPROTOTYPE = syscall.Errno(0x29) ++ ERANGE = syscall.Errno(0x22) ++ EREMCHG = syscall.Errno(0x73) ++ EREMOTE = syscall.Errno(0x47) ++ EREMOTEIO = syscall.Errno(0x79) ++ ERESTART = syscall.Errno(0x7f) ++ ERFKILL = syscall.Errno(0x8a) ++ EROFS = syscall.Errno(0x1e) ++ ESHUTDOWN = syscall.Errno(0x3a) ++ ESOCKTNOSUPPORT = syscall.Errno(0x2c) ++ ESPIPE = syscall.Errno(0x1d) ++ ESRCH = syscall.Errno(0x3) ++ ESRMNT = syscall.Errno(0x6c) ++ ESTALE = syscall.Errno(0x46) ++ ESTRPIPE = syscall.Errno(0x80) ++ ETIME = syscall.Errno(0x53) ++ ETIMEDOUT = syscall.Errno(0x3c) ++ ETOOMANYREFS = syscall.Errno(0x3b) ++ ETXTBSY = syscall.Errno(0x1a) ++ EUCLEAN = syscall.Errno(0x75) ++ EUNATCH = syscall.Errno(0x5e) ++ EUSERS = syscall.Errno(0x44) ++ EWOULDBLOCK = syscall.Errno(0x23) ++ EXDEV = syscall.Errno(0x12) ++ EXFULL = syscall.Errno(0x63) ++) ++ ++// 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) ++ SIGINFO = syscall.Signal(0x1d) ++ SIGINT = syscall.Signal(0x2) ++ SIGIO = syscall.Signal(0x17) ++ SIGIOT = syscall.Signal(0x6) ++ SIGKILL = syscall.Signal(0x9) ++ 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 deadlock avoided", ++ 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 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", ++ 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", ++ 68: "too many users", ++ 69: "disk quota exceeded", ++ 70: "stale file handle", ++ 71: "object is remote", ++ 77: "no locks available", ++ 78: "function not implemented", ++ 80: "no message of desired type", ++ 81: "identifier removed", ++ 82: "out of streams resources", ++ 83: "timer expired", ++ 84: "bad message", ++ 85: "protocol error", ++ 86: "no data available", ++ 87: "device not a stream", ++ 88: "channel number out of range", ++ 89: "level 2 not synchronized", ++ 90: "level 3 halted", ++ 91: "level 3 reset", ++ 92: "package not installed", ++ 93: "link number out of range", ++ 94: "protocol driver not attached", ++ 95: "no CSI structure available", ++ 96: "level 2 halted", ++ 97: "invalid exchange", ++ 98: "invalid request descriptor", ++ 99: "exchange full", ++ 100: "no anode", ++ 101: "invalid request code", ++ 102: "invalid slot", ++ 104: "bad font file format", ++ 105: "machine is not on the network", ++ 106: "link has been severed", ++ 107: "advertise error", ++ 108: "srmount error", ++ 109: "communication error on send", ++ 110: "multihop attempted", ++ 111: "RFS specific error", ++ 112: "value too large for defined data type", ++ 113: "name not unique on network", ++ 114: "file descriptor in bad state", ++ 115: "remote address changed", ++ 116: "invalid or incomplete multibyte or wide character", ++ 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: "can not access a needed shared library", ++ 123: "accessing a corrupted shared library", ++ 124: ".lib section in a.out corrupted", ++ 125: "attempting to link in too many shared libraries", ++ 126: "cannot exec a shared library directly", ++ 127: "interrupted system call should be restarted", ++ 128: "streams pipe error", ++ 129: "no medium found", ++ 130: "wrong medium type", ++ 131: "operation canceled", ++ 132: "required key not available", ++ 133: "key has expired", ++ 134: "key has been revoked", ++ 135: "key was rejected by service", ++ 136: "owner died", ++ 137: "state not recoverable", ++ 138: "operation not possible due to RF-kill", ++ 139: "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: "information request", ++ 30: "user defined signal 1", ++ 31: "user defined signal 2", ++} ++// 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, "ENOMSG", "no message of desired type"}, ++ {36, "EIDRM", "identifier removed"}, ++ {37, "ECHRNG", "channel number out of range"}, ++ {38, "EL2NSYNC", "level 2 not synchronized"}, ++ {39, "EL3HLT", "level 3 halted"}, ++ {40, "EL3RST", "level 3 reset"}, ++ {41, "ELNRNG", "link number out of range"}, ++ {42, "EUNATCH", "protocol driver not attached"}, ++ {43, "ENOCSI", "no CSI structure available"}, ++ {44, "EL2HLT", "level 2 halted"}, ++ {45, "EDEADLK", "resource deadlock avoided"}, ++ {46, "ENOLCK", "no locks available"}, ++ {50, "EBADE", "invalid exchange"}, ++ {51, "EBADR", "invalid request descriptor"}, ++ {52, "EXFULL", "exchange full"}, ++ {53, "ENOANO", "no anode"}, ++ {54, "EBADRQC", "invalid request code"}, ++ {55, "EBADSLT", "invalid slot"}, ++ {56, "EDEADLOCK", "file locking deadlock error"}, ++ {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"}, ++ {73, "EDOTDOT", "RFS specific error"}, ++ {74, "EMULTIHOP", "multihop attempted"}, ++ {77, "EBADMSG", "bad message"}, ++ {78, "ENAMETOOLONG", "file name too long"}, ++ {79, "EOVERFLOW", "value too large for defined data type"}, ++ {80, "ENOTUNIQ", "name not unique on network"}, ++ {81, "EBADFD", "file descriptor in bad state"}, ++ {82, "EREMCHG", "remote address changed"}, ++ {83, "ELIBACC", "can not access a needed shared library"}, ++ {84, "ELIBBAD", "accessing a corrupted shared library"}, ++ {85, "ELIBSCN", ".lib section in a.out corrupted"}, ++ {86, "ELIBMAX", "attempting to link in too many shared libraries"}, ++ {87, "ELIBEXEC", "cannot exec a shared library directly"}, ++ {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, ++ {89, "ENOSYS", "function not implemented"}, ++ {90, "ELOOP", "too many levels of symbolic links"}, ++ {91, "ERESTART", "interrupted system call should be restarted"}, ++ {92, "ESTRPIPE", "streams pipe error"}, ++ {93, "ENOTEMPTY", "directory not empty"}, ++ {94, "EUSERS", "too many users"}, ++ {95, "ENOTSOCK", "socket operation on non-socket"}, ++ {96, "EDESTADDRREQ", "destination address required"}, ++ {97, "EMSGSIZE", "message too long"}, ++ {98, "EPROTOTYPE", "protocol wrong type for socket"}, ++ {99, "ENOPROTOOPT", "protocol not available"}, ++ {120, "EPROTONOSUPPORT", "protocol not supported"}, ++ {121, "ESOCKTNOSUPPORT", "socket type not supported"}, ++ {122, "ENOTSUP", "operation not supported"}, ++ {123, "EPFNOSUPPORT", "protocol family not supported"}, ++ {124, "EAFNOSUPPORT", "address family not supported by protocol"}, ++ {125, "EADDRINUSE", "address already in use"}, ++ {126, "EADDRNOTAVAIL", "cannot assign requested address"}, ++ {127, "ENETDOWN", "network is down"}, ++ {128, "ENETUNREACH", "network is unreachable"}, ++ {129, "ENETRESET", "network dropped connection on reset"}, ++ {130, "ECONNABORTED", "software caused connection abort"}, ++ {131, "ECONNRESET", "connection reset by peer"}, ++ {132, "ENOBUFS", "no buffer space available"}, ++ {133, "EISCONN", "transport endpoint is already connected"}, ++ {134, "ENOTCONN", "transport endpoint is not connected"}, ++ {135, "EUCLEAN", "structure needs cleaning"}, ++ {137, "ENOTNAM", "not a XENIX named type file"}, ++ {138, "ENAVAIL", "no XENIX semaphores available"}, ++ {139, "EISNAM", "is a named type file"}, ++ {140, "EREMOTEIO", "remote I/O error"}, ++ {141, "EINIT", "unknown error 141"}, ++ {142, "EREMDEV", "unknown error 142"}, ++ {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, ++ {144, "ETOOMANYREFS", "too many references: cannot splice"}, ++ {145, "ETIMEDOUT", "connection timed out"}, ++ {146, "ECONNREFUSED", "connection refused"}, ++ {147, "EHOSTDOWN", "host is down"}, ++ {148, "EHOSTUNREACH", "no route to host"}, ++ {149, "EALREADY", "operation already in progress"}, ++ {150, "EINPROGRESS", "operation now in progress"}, ++ {151, "ESTALE", "stale file handle"}, ++ {158, "ECANCELED", "operation canceled"}, ++ {159, "ENOMEDIUM", "no medium found"}, ++ {160, "EMEDIUMTYPE", "wrong medium type"}, ++ {161, "ENOKEY", "required key not available"}, ++ {162, "EKEYEXPIRED", "key has expired"}, ++ {163, "EKEYREVOKED", "key has been revoked"}, ++ {164, "EKEYREJECTED", "key was rejected by service"}, ++ {165, "EOWNERDEAD", "owner died"}, ++ {166, "ENOTRECOVERABLE", "state not recoverable"}, ++ {167, "ERFKILL", "operation not possible due to RF-kill"}, ++ {168, "EHWPOISON", "memory page has hardware error"}, ++ {1133, "EDQUOT", "disk quota exceeded"}, ++} ++ ++// 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, "SIGEMT", "EMT trap"}, ++ {8, "SIGFPE", "floating point exception"}, ++ {9, "SIGKILL", "killed"}, ++ {10, "SIGBUS", "bus error"}, ++ {11, "SIGSEGV", "segmentation fault"}, ++ {12, "SIGSYS", "bad system call"}, ++ {13, "SIGPIPE", "broken pipe"}, ++ {14, "SIGALRM", "alarm clock"}, ++ {15, "SIGTERM", "terminated"}, ++ {16, "SIGURG", "urgent I/O condition"}, ++ {17, "SIGSTOP", "stopped (signal)"}, ++ {18, "SIGTSTP", "stopped"}, ++ {19, "SIGCONT", "continued"}, ++ {20, "SIGCHLD", "child exited"}, ++ {21, "SIGTTIN", "stopped (tty input)"}, ++ {22, "SIGTTOU", "stopped (tty output)"}, ++ {23, "SIGIO", "I/O possible"}, ++ {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, "SIGINFO", "power failure"}, ++ {30, "SIGUSR1", "user defined signal 1"}, ++ {31, "SIGUSR2", "user defined signal 2"}, ++} +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_sw64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sw64.go +new file mode 100644 +index 0000000..dbbd5be +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sw64.go +@@ -0,0 +1,2271 @@ ++// mksyscall.pl -tags linux,sw64 syscall_linux.go syscall_linux_sw64.go ++// Code generated by the command above; see README.md. DO NOT EDIT. ++ ++// +build linux,sw64 ++ ++package unix ++ ++import ( ++ "syscall" ++ "unsafe" ++) ++ ++var _ syscall.Errno ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func fchmodat(dirfd int, path string, mode uint32) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_FCHMODAT, 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 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 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 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 string, times *[2]Timeval) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), 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 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 keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(keyType) ++ if err != nil { ++ return ++ } ++ var _p1 *byte ++ _p1, err = BytePtrFromString(restriction) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), 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 keyctlRestrictKeyring(cmd int, arg2 int) (err error) { ++ _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 0) ++ 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 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 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 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 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 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 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 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 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 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 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 signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { ++ r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) ++ newfd = int(r0) ++ 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 readv(fd int, iovs []Iovec) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall(SYS_READV, uintptr(fd), uintptr(_p0), uintptr(len(iovs))) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func writev(fd int, iovs []Iovec) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall(SYS_WRITEV, uintptr(fd), uintptr(_p0), uintptr(len(iovs))) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func preadv(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PREADV, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 pwritev(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PWRITEV, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 preadv2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PREADV2, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 pwritev2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PWRITEV2, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 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 faccessat(dirfd int, path string, mode uint32) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_FACCESSAT, 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 nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(pathname) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { ++ r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) ++ fd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getxpid() (pid int, ppid int) { ++ r0, r1, _ := RawSyscall(SYS_GETXPID, 0, 0, 0) ++ pid = int(r0) ++ ppid = int(r1) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fstat64(fd int, st *Stat_t) (err error) { ++ _, _, e1 := Syscall(SYS_FSTAT64, 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 Lstat64(path string, st *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(st)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Stat64(path string, st *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(st)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getxuid() (uid int, euid int) { ++ r0, r1, _ := Syscall(SYS_GETXUID, 0, 0, 0) ++ uid = int(r0) ++ euid = int(r1) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getxgid() (gid int, egid int) { ++ r0, r1, _ := Syscall(SYS_GETXGID, 0, 0, 0) ++ gid = int(r0) ++ egid = int(r1) ++ 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 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 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 := 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 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 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 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 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 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 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 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 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 ++} ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++/* ++func Faccessat(dirfd int, path string, mode uint32) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_FACCESSAT, 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 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 ++} ++ +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sw64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sw64.go +new file mode 100644 +index 0000000..ae66436 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sw64.go +@@ -0,0 +1,447 @@ ++// mksysnum_linux.pl /usr/sw/swgcc530-sw6-cross/usr/include/asm/unistd.h ++// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT ++ ++// +build sw64,linux ++ ++package unix ++ ++const ( ++ SYS_OSF_SYSCALL = 0 ++ SYS_EXIT = 1 ++ SYS_FORK = 2 ++ SYS_READ = 3 ++ SYS_WRITE = 4 ++ SYS_OSF_OLD_OPEN = 5 ++ SYS_CLOSE = 6 ++ SYS_OSF_WAIT4 = 7 ++ SYS_OSF_OLD_CREAT = 8 ++ SYS_LINK = 9 ++ SYS_UNLINK = 10 ++ SYS_OSF_EXECVE = 11 ++ SYS_CHDIR = 12 ++ SYS_FCHDIR = 13 ++ SYS_MKNOD = 14 ++ SYS_CHMOD = 15 ++ SYS_CHOWN = 16 ++ SYS_BRK = 17 ++ SYS_OSF_GETFSSTAT = 18 ++ SYS_LSEEK = 19 ++ SYS_GETXPID = 20 ++ SYS_OSF_MOUNT = 21 ++ SYS_UMOUNT = 22 ++ SYS_SETUID = 23 ++ SYS_GETXUID = 24 ++ SYS_EXEC_WITH_LOADER = 25 ++ SYS_PTRACE = 26 ++ SYS_OSF_NRECVMSG = 27 ++ SYS_OSF_NSENDMSG = 28 ++ SYS_OSF_NRECVFROM = 29 ++ SYS_OSF_NACCEPT = 30 ++ SYS_OSF_NGETPEERNAME = 31 ++ SYS_OSF_NGETSOCKNAME = 32 ++ SYS_ACCESS = 33 ++ SYS_OSF_CHFLAGS = 34 ++ SYS_OSF_FCHFLAGS = 35 ++ SYS_SYNC = 36 ++ SYS_KILL = 37 ++ SYS_OSF_OLD_STAT = 38 ++ SYS_SETPGID = 39 ++ SYS_OSF_OLD_LSTAT = 40 ++ SYS_DUP = 41 ++ SYS_PIPE = 42 ++ SYS_OSF_SET_PROGRAM_ATTRIBUTES = 43 ++ SYS_OSF_PROFIL = 44 ++ SYS_OPEN = 45 ++ SYS_OSF_OLD_SIGACTION = 46 ++ SYS_GETXGID = 47 ++ SYS_OSF_SIGPROCMASK = 48 ++ SYS_OSF_GETLOGIN = 49 ++ SYS_OSF_SETLOGIN = 50 ++ SYS_ACCT = 51 ++ SYS_SIGPENDING = 52 ++ SYS_IOCTL = 54 ++ SYS_OSF_REBOOT = 55 ++ SYS_OSF_REVOKE = 56 ++ SYS_SYMLINK = 57 ++ SYS_READLINK = 58 ++ SYS_EXECVE = 59 ++ SYS_UMASK = 60 ++ SYS_CHROOT = 61 ++ SYS_OSF_OLD_FSTAT = 62 ++ SYS_GETPGRP = 63 ++ SYS_GETPAGESIZE = 64 ++ SYS_OSF_MREMAP = 65 ++ SYS_VFORK = 66 ++ SYS_STAT = 67 ++ SYS_LSTAT = 68 ++ SYS_OSF_SBRK = 69 ++ SYS_OSF_SSTK = 70 ++ SYS_MMAP = 71 ++ SYS_OSF_OLD_VADVISE = 72 ++ SYS_MUNMAP = 73 ++ SYS_MPROTECT = 74 ++ SYS_MADVISE = 75 ++ SYS_VHANGUP = 76 ++ SYS_OSF_KMODCALL = 77 ++ SYS_OSF_MINCORE = 78 ++ SYS_GETGROUPS = 79 ++ SYS_SETGROUPS = 80 ++ SYS_OSF_OLD_GETPGRP = 81 ++ SYS_SETPGRP = 82 ++ SYS_OSF_SETITIMER = 83 ++ SYS_OSF_OLD_WAIT = 84 ++ SYS_OSF_TABLE = 85 ++ SYS_OSF_GETITIMER = 86 ++ SYS_GETHOSTNAME = 87 ++ SYS_SETHOSTNAME = 88 ++ SYS_GETDTABLESIZE = 89 ++ SYS_DUP2 = 90 ++ SYS_FSTAT = 91 ++ SYS_FCNTL = 92 ++ SYS_OSF_SELECT = 93 ++ SYS_POLL = 94 ++ SYS_FSYNC = 95 ++ SYS_SETPRIORITY = 96 ++ SYS_SOCKET = 97 ++ SYS_CONNECT = 98 ++ SYS_ACCEPT = 99 ++ SYS_GETPRIORITY = 100 ++ SYS_SEND = 101 ++ SYS_RECV = 102 ++ SYS_SIGRETURN = 103 ++ SYS_BIND = 104 ++ SYS_SETSOCKOPT = 105 ++ SYS_LISTEN = 106 ++ SYS_OSF_PLOCK = 107 ++ SYS_OSF_OLD_SIGVEC = 108 ++ SYS_OSF_OLD_SIGBLOCK = 109 ++ SYS_OSF_OLD_SIGSETMASK = 110 ++ SYS_SIGSUSPEND = 111 ++ SYS_OSF_SIGSTACK = 112 ++ SYS_RECVMSG = 113 ++ SYS_SENDMSG = 114 ++ SYS_OSF_OLD_VTRACE = 115 ++ SYS_OSF_GETTIMEOFDAY = 116 ++ SYS_OSF_GETRUSAGE = 117 ++ SYS_GETSOCKOPT = 118 ++ SYS_READV = 120 ++ SYS_WRITEV = 121 ++ SYS_OSF_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_SETGID = 132 ++ SYS_SENDTO = 133 ++ SYS_SHUTDOWN = 134 ++ SYS_SOCKETPAIR = 135 ++ SYS_MKDIR = 136 ++ SYS_RMDIR = 137 ++ SYS_OSF_UTIMES = 138 ++ SYS_OSF_OLD_SIGRETURN = 139 ++ SYS_OSF_ADJTIME = 140 ++ SYS_GETPEERNAME = 141 ++ SYS_OSF_GETHOSTID = 142 ++ SYS_OSF_SETHOSTID = 143 ++ SYS_GETRLIMIT = 144 ++ SYS_SETRLIMIT = 145 ++ SYS_OSF_OLD_KILLPG = 146 ++ SYS_SETSID = 147 ++ SYS_QUOTACTL = 148 ++ SYS_OSF_OLDQUOTA = 149 ++ SYS_GETSOCKNAME = 150 ++ SYS_OSF_PID_BLOCK = 153 ++ SYS_OSF_PID_UNBLOCK = 154 ++ SYS_SIGACTION = 156 ++ SYS_OSF_SIGWAITPRIM = 157 ++ SYS_OSF_NFSSVC = 158 ++ SYS_OSF_GETDIRENTRIES = 159 ++ SYS_OSF_STATFS = 160 ++ SYS_OSF_FSTATFS = 161 ++ SYS_OSF_ASYNCH_DAEMON = 163 ++ SYS_OSF_GETFH = 164 ++ SYS_OSF_GETDOMAINNAME = 165 ++ SYS_SETDOMAINNAME = 166 ++ SYS_OSF_EXPORTFS = 169 ++ SYS_BPF = 170 ++ SYS_OSF_ALT_PLOCK = 181 ++ SYS_OSF_GETMNT = 184 ++ SYS_OSF_ALT_SIGPENDING = 187 ++ SYS_OSF_ALT_SETSID = 188 ++ SYS_OSF_SWAPON = 199 ++ SYS_MSGCTL = 200 ++ SYS_MSGGET = 201 ++ SYS_MSGRCV = 202 ++ SYS_MSGSND = 203 ++ SYS_SEMCTL = 204 ++ SYS_SEMGET = 205 ++ SYS_SEMOP = 206 ++ SYS_OSF_UTSNAME = 207 ++ SYS_LCHOWN = 208 ++ SYS_OSF_SHMAT = 209 ++ SYS_SHMCTL = 210 ++ SYS_SHMDT = 211 ++ SYS_SHMGET = 212 ++ SYS_OSF_MVALID = 213 ++ SYS_OSF_GETADDRESSCONF = 214 ++ SYS_OSF_MSLEEP = 215 ++ SYS_OSF_MWAKEUP = 216 ++ SYS_MSYNC = 217 ++ SYS_OSF_SIGNAL = 218 ++ SYS_OSF_UTC_GETTIME = 219 ++ SYS_OSF_UTC_ADJTIME = 220 ++ SYS_OSF_SECURITY = 222 ++ SYS_OSF_KLOADCALL = 223 ++ SYS_OSF_STAT = 224 ++ SYS_OSF_LSTAT = 225 ++ SYS_OSF_FSTAT = 226 ++ SYS_OSF_STATFS64 = 227 ++ SYS_OSF_FSTATFS64 = 228 ++ SYS_GETPGID = 233 ++ SYS_GETSID = 234 ++ SYS_SIGALTSTACK = 235 ++ SYS_OSF_WAITID = 236 ++ SYS_OSF_PRIOCNTLSET = 237 ++ SYS_OSF_SIGSENDSET = 238 ++ SYS_OSF_SET_SPECULATIVE = 239 ++ SYS_OSF_MSFS_SYSCALL = 240 ++ SYS_OSF_SYSINFO = 241 ++ SYS_OSF_UADMIN = 242 ++ SYS_OSF_FUSER = 243 ++ SYS_OSF_PROPLIST_SYSCALL = 244 ++ SYS_OSF_NTP_ADJTIME = 245 ++ SYS_OSF_NTP_GETTIME = 246 ++ SYS_OSF_PATHCONF = 247 ++ SYS_OSF_FPATHCONF = 248 ++ SYS_OSF_USWITCH = 250 ++ SYS_OSF_USLEEP_THREAD = 251 ++ SYS_OSF_AUDCNTL = 252 ++ SYS_OSF_AUDGEN = 253 ++ SYS_SYSFS = 254 ++ SYS_OSF_SUBSYS_INFO = 255 ++ SYS_OSF_GETSYSINFO = 256 ++ SYS_OSF_SETSYSINFO = 257 ++ SYS_OSF_AFS_SYSCALL = 258 ++ SYS_OSF_SWAPCTL = 259 ++ SYS_OSF_MEMCNTL = 260 ++ SYS_OSF_FDATASYNC = 261 ++ SYS_BDFLUSH = 300 ++ SYS_SETHAE = 301 ++ SYS_MOUNT = 302 ++ SYS_OLD_ADJTIMEX = 303 ++ SYS_SWAPOFF = 304 ++ SYS_GETDENTS = 305 ++ SYS_CREATE_MODULE = 306 ++ SYS_INIT_MODULE = 307 ++ SYS_DELETE_MODULE = 308 ++ SYS_GET_KERNEL_SYMS = 309 ++ SYS_SYSLOG = 310 ++ SYS_REBOOT = 311 ++ SYS_CLONE = 312 ++ SYS_USELIB = 313 ++ SYS_MLOCK = 314 ++ SYS_MUNLOCK = 315 ++ SYS_MLOCKALL = 316 ++ SYS_MUNLOCKALL = 317 ++ SYS_SYSINFO = 318 ++ SYS__SYSCTL = 319 ++ SYS_OLDUMOUNT = 321 ++ SYS_SWAPON = 322 ++ SYS_TIMES = 323 ++ SYS_PERSONALITY = 324 ++ SYS_SETFSUID = 325 ++ SYS_SETFSGID = 326 ++ SYS_USTAT = 327 ++ SYS_STATFS = 328 ++ SYS_FSTATFS = 329 ++ SYS_SCHED_SETPARAM = 330 ++ SYS_SCHED_GETPARAM = 331 ++ SYS_SCHED_SETSCHEDULER = 332 ++ SYS_SCHED_GETSCHEDULER = 333 ++ SYS_SCHED_YIELD = 334 ++ SYS_SCHED_GET_PRIORITY_MAX = 335 ++ SYS_SCHED_GET_PRIORITY_MIN = 336 ++ SYS_SCHED_RR_GET_INTERVAL = 337 ++ SYS_AFS_SYSCALL = 338 ++ SYS_UNAME = 339 ++ SYS_NANOSLEEP = 340 ++ SYS_MREMAP = 341 ++ SYS_NFSSERVCTL = 342 ++ SYS_SETRESUID = 343 ++ SYS_GETRESUID = 344 ++ SYS_PCICONFIG_READ = 345 ++ SYS_PCICONFIG_WRITE = 346 ++ SYS_QUERY_MODULE = 347 ++ SYS_PRCTL = 348 ++ SYS_PREAD64 = 349 ++ SYS_PWRITE64 = 350 ++ SYS_RT_SIGRETURN = 351 ++ SYS_RT_SIGACTION = 352 ++ SYS_RT_SIGPROCMASK = 353 ++ SYS_RT_SIGPENDING = 354 ++ SYS_RT_SIGTIMEDWAIT = 355 ++ SYS_RT_SIGQUEUEINFO = 356 ++ SYS_RT_SIGSUSPEND = 357 ++ SYS_SELECT = 358 ++ SYS_GETTIMEOFDAY = 359 ++ SYS_SETTIMEOFDAY = 360 ++ SYS_GETITIMER = 361 ++ SYS_SETITIMER = 362 ++ SYS_UTIMES = 363 ++ SYS_GETRUSAGE = 364 ++ SYS_WAIT4 = 365 ++ SYS_ADJTIMEX = 366 ++ SYS_GETCWD = 367 ++ SYS_CAPGET = 368 ++ SYS_CAPSET = 369 ++ SYS_SENDFILE = 370 ++ SYS_SETRESGID = 371 ++ SYS_GETRESGID = 372 ++ SYS_DIPC = 373 ++ SYS_PIVOT_ROOT = 374 ++ SYS_MINCORE = 375 ++ SYS_PCICONFIG_IOBASE = 376 ++ SYS_GETDENTS64 = 377 ++ SYS_GETTID = 378 ++ SYS_READAHEAD = 379 ++ SYS_TKILL = 381 ++ SYS_SETXATTR = 382 ++ SYS_LSETXATTR = 383 ++ SYS_FSETXATTR = 384 ++ SYS_GETXATTR = 385 ++ SYS_LGETXATTR = 386 ++ SYS_FGETXATTR = 387 ++ SYS_LISTXATTR = 388 ++ SYS_LLISTXATTR = 389 ++ SYS_FLISTXATTR = 390 ++ SYS_REMOVEXATTR = 391 ++ SYS_LREMOVEXATTR = 392 ++ SYS_FREMOVEXATTR = 393 ++ SYS_FUTEX = 394 ++ SYS_SCHED_SETAFFINITY = 395 ++ SYS_SCHED_GETAFFINITY = 396 ++ SYS_TUXCALL = 397 ++ SYS_IO_SETUP = 398 ++ SYS_IO_DESTROY = 399 ++ SYS_IO_GETEVENTS = 400 ++ SYS_IO_SUBMIT = 401 ++ SYS_IO_CANCEL = 402 ++ SYS_EXIT_GROUP = 405 ++ SYS_LOOKUP_DCOOKIE = 406 ++ SYS_EPOLL_CREATE = 407 ++ SYS_EPOLL_CTL = 408 ++ SYS_EPOLL_WAIT = 409 ++ SYS_REMAP_FILE_PAGES = 410 ++ SYS_SET_TID_ADDRESS = 411 ++ SYS_RESTART_SYSCALL = 412 ++ SYS_FADVISE64 = 413 ++ SYS_TIMER_CREATE = 414 ++ SYS_TIMER_SETTIME = 415 ++ SYS_TIMER_GETTIME = 416 ++ SYS_TIMER_GETOVERRUN = 417 ++ SYS_TIMER_DELETE = 418 ++ SYS_CLOCK_SETTIME = 419 ++ SYS_CLOCK_GETTIME = 420 ++ SYS_CLOCK_GETRES = 421 ++ SYS_CLOCK_NANOSLEEP = 422 ++ SYS_SEMTIMEDOP = 423 ++ SYS_TGKILL = 424 ++ SYS_STAT64 = 425 ++ SYS_LSTAT64 = 426 ++ SYS_FSTAT64 = 427 ++ SYS_VSERVER = 428 ++ SYS_MBIND = 429 ++ SYS_GET_MEMPOLICY = 430 ++ SYS_SET_MEMPOLICY = 431 ++ SYS_MQ_OPEN = 432 ++ SYS_MQ_UNLINK = 433 ++ SYS_MQ_TIMEDSEND = 434 ++ SYS_MQ_TIMEDRECEIVE = 435 ++ SYS_MQ_NOTIFY = 436 ++ SYS_MQ_GETSETATTR = 437 ++ SYS_WAITID = 438 ++ SYS_ADD_KEY = 439 ++ SYS_REQUEST_KEY = 440 ++ SYS_KEYCTL = 441 ++ SYS_IOPRIO_SET = 442 ++ SYS_IOPRIO_GET = 443 ++ SYS_INOTIFY_INIT = 444 ++ SYS_INOTIFY_ADD_WATCH = 445 ++ SYS_INOTIFY_RM_WATCH = 446 ++ SYS_FDATASYNC = 447 ++ SYS_KEXEC_LOAD = 448 ++ SYS_MIGRATE_PAGES = 449 ++ SYS_OPENAT = 450 ++ SYS_MKDIRAT = 451 ++ SYS_MKNODAT = 452 ++ SYS_FCHOWNAT = 453 ++ SYS_FUTIMESAT = 454 ++ SYS_FSTATAT64 = 455 ++ SYS_FSTATAT = 455 ++ SYS_UNLINKAT = 456 ++ SYS_RENAMEAT = 457 ++ SYS_LINKAT = 458 ++ SYS_SYMLINKAT = 459 ++ SYS_READLINKAT = 460 ++ SYS_FCHMODAT = 461 ++ SYS_FACCESSAT = 462 ++ SYS_PSELECT6 = 463 ++ SYS_PPOLL = 464 ++ SYS_UNSHARE = 465 ++ SYS_SET_ROBUST_LIST = 466 ++ SYS_GET_ROBUST_LIST = 467 ++ SYS_SPLICE = 468 ++ SYS_SYNC_FILE_RANGE = 469 ++ SYS_TEE = 470 ++ SYS_VMSPLICE = 471 ++ SYS_MOVE_PAGES = 472 ++ SYS_GETCPU = 473 ++ SYS_EPOLL_PWAIT = 474 ++ SYS_UTIMENSAT = 475 ++ SYS_SIGNALFD = 476 ++ SYS_TIMERFD = 477 ++ SYS_EVENTFD = 478 ++ SYS_RECVMMSG = 479 ++ SYS_FALLOCATE = 480 ++ SYS_TIMERFD_CREATE = 481 ++ SYS_TIMERFD_SETTIME = 482 ++ SYS_TIMERFD_GETTIME = 483 ++ SYS_SIGNALFD4 = 484 ++ SYS_EVENTFD2 = 485 ++ SYS_EPOLL_CREATE1 = 486 ++ SYS_DUP3 = 487 ++ SYS_PIPE2 = 488 ++ SYS_INOTIFY_INIT1 = 489 ++ SYS_PREADV = 490 ++ SYS_PWRITEV = 491 ++ SYS_RT_TGSIGQUEUEINFO = 492 ++ SYS_PERF_EVENT_OPEN = 493 ++ SYS_FANOTIFY_INIT = 494 ++ SYS_FANOTIFY_MARK = 495 ++ SYS_PRLIMIT64 = 496 ++ SYS_NAME_TO_HANDLE_AT = 497 ++ SYS_OPEN_BY_HANDLE_AT = 498 ++ SYS_CLOCK_ADJTIME = 499 ++ SYS_SYNCFS = 500 ++ SYS_SETNS = 501 ++ SYS_ACCEPT4 = 502 ++ SYS_SENDMMSG = 503 ++ SYS_PROCESS_VM_READV = 504 ++ SYS_PROCESS_VM_WRITEV = 505 ++ SYS_KCMP = 506 ++ SYS_FINIT_MODULE = 507 ++ SYS_SCHED_SETATTR = 508 ++ SYS_SCHED_GETATTR = 509 ++ SYS_RENAMEAT2 = 510 ++ SYS_GETRANDOM = 511 ++ SYS_MEMFD_CREATE = 512 ++ SYS_EXECVEAT = 513 ++ SYS_PREADV2 = 516 ++ SYS_PWRITEV2 = 517 ++ SYS_STATX = 518 ++) +diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sw64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sw64.go +new file mode 100644 +index 0000000..74e47fd +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sw64.go +@@ -0,0 +1,2001 @@ ++// cgo -godefs linux/types.go ++ ++// +build sw64,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 ++ 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 ++ Rdev uint64 ++ Size int64 ++ Blocks int64 ++ Mode uint32 ++ Uid uint32 ++ Gid uint32 ++ Blksize uint32 ++ Nlink uint32 ++ X__pad2 int32 ++ Atim Timespec ++ Mtim Timespec ++ Ctim Timespec ++ X__glibc_reserved [3]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 ++} ++ ++type FscryptPolicy struct{} ++ ++type FscryptKey struct { ++ Mode uint32 ++ Raw [64]uint8 ++ Size uint32 ++} ++ ++type KeyctlDHParams struct{} ++ ++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 ++ SizeofSockaddrXDP = 0x10 ++ SizeofSockaddrPPPoX = 0x1e ++ SizeofSockaddrTIPC = 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 ++ SizeofSockaddrL2 = 0xe ++ SizeofSockaddrRFCOMM = 0xa ++ SizeofCanFilter = 0x8 ++) ++ ++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_GSO_MAX_SEGS =0x28 ++ IFLA_GSO_MAX_SIZE =0x29 ++ 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 ++ IFLA_EXT_MASK = 0x1d ++ IFLA_AF_SPEC = 0x1a ++ IFLA_VFINFO_LIST = 0x16 ++ IFLA_NET_NS_FD = 0x1c ++ IFLA_NUM_TX_QUEUES = 0x1f ++ IFLA_STATS64 = 0x17 ++ IFLA_XDP = 0x2b ++ IFLA_LINK_NETNSID = 0x25 ++ IFLA_NUM_RX_QUEUES = 0x20 ++ 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{} ++ ++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]byte ++ Nodename [65]byte ++ Release [65]byte ++ Version [65]byte ++ Machine [65]byte ++ Domainname [65]byte ++} ++ ++type Ustat_t struct { ++ Tfree int32 ++ Tinode uint32 ++ Fname [6]int8 ++ Fpack [6]int8 ++} ++ ++type EpollEvent struct { ++ Events uint32 ++ _ uint32 ++ Fd int32 ++ Pad int32 ++} ++ ++const ( ++ AT_FDCWD = -0x64 ++ AT_REMOVEDIR = 0x200 ++ AT_SYMLINK_FOLLOW = 0x400 ++ AT_SYMLINK_NOFOLLOW = 0x100 ++ AT_EMPTY_PATH = 0x1000 ++ AT_NO_AUTOMOUNT = 0x800 ++ AT_STATX_SYNC_AS_STAT = 0x0 ++ AT_STATX_FORCE_SYNC = 0x2000 ++ AT_STATX_DONT_SYNC = 0x4000 ++ 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 { ++ X__val [16]uint64 ++} ++ ++const _C__NSIG = 0x41 ++ ++const RNDGETENTCNT = 0x40045200 ++ ++const PERF_IOC_FLAG_GROUP = 0x1 ++ ++const _SC_PAGESIZE = 0x1e ++ ++type Termios struct { ++ Iflag uint32 ++ Oflag uint32 ++ Cflag uint32 ++ Lflag uint32 ++ Cc [19]uint8 ++ Line 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]int8 ++ 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 = 0x8000000000000000 ++ CBitFieldMaskBit1 = 0x4000000000000000 ++ CBitFieldMaskBit2 = 0x2000000000000000 ++ CBitFieldMaskBit3 = 0x1000000000000000 ++ CBitFieldMaskBit4 = 0x800000000000000 ++ CBitFieldMaskBit5 = 0x400000000000000 ++ CBitFieldMaskBit6 = 0x200000000000000 ++ CBitFieldMaskBit7 = 0x100000000000000 ++ CBitFieldMaskBit8 = 0x80000000000000 ++ CBitFieldMaskBit9 = 0x40000000000000 ++ CBitFieldMaskBit10 = 0x20000000000000 ++ CBitFieldMaskBit11 = 0x10000000000000 ++ CBitFieldMaskBit12 = 0x8000000000000 ++ CBitFieldMaskBit13 = 0x4000000000000 ++ CBitFieldMaskBit14 = 0x2000000000000 ++ CBitFieldMaskBit15 = 0x1000000000000 ++ CBitFieldMaskBit16 = 0x800000000000 ++ CBitFieldMaskBit17 = 0x400000000000 ++ CBitFieldMaskBit18 = 0x200000000000 ++ CBitFieldMaskBit19 = 0x100000000000 ++ CBitFieldMaskBit20 = 0x80000000000 ++ CBitFieldMaskBit21 = 0x40000000000 ++ CBitFieldMaskBit22 = 0x20000000000 ++ CBitFieldMaskBit23 = 0x10000000000 ++ CBitFieldMaskBit24 = 0x8000000000 ++ CBitFieldMaskBit25 = 0x4000000000 ++ CBitFieldMaskBit26 = 0x2000000000 ++ CBitFieldMaskBit27 = 0x1000000000 ++ CBitFieldMaskBit28 = 0x800000000 ++ CBitFieldMaskBit29 = 0x400000000 ++ CBitFieldMaskBit30 = 0x200000000 ++ CBitFieldMaskBit31 = 0x100000000 ++ CBitFieldMaskBit32 = 0x80000000 ++ CBitFieldMaskBit33 = 0x40000000 ++ CBitFieldMaskBit34 = 0x20000000 ++ CBitFieldMaskBit35 = 0x10000000 ++ CBitFieldMaskBit36 = 0x8000000 ++ CBitFieldMaskBit37 = 0x4000000 ++ CBitFieldMaskBit38 = 0x2000000 ++ CBitFieldMaskBit39 = 0x1000000 ++ CBitFieldMaskBit40 = 0x800000 ++ CBitFieldMaskBit41 = 0x400000 ++ CBitFieldMaskBit42 = 0x200000 ++ CBitFieldMaskBit43 = 0x100000 ++ CBitFieldMaskBit44 = 0x80000 ++ CBitFieldMaskBit45 = 0x40000 ++ CBitFieldMaskBit46 = 0x20000 ++ CBitFieldMaskBit47 = 0x10000 ++ CBitFieldMaskBit48 = 0x8000 ++ CBitFieldMaskBit49 = 0x4000 ++ CBitFieldMaskBit50 = 0x2000 ++ CBitFieldMaskBit51 = 0x1000 ++ CBitFieldMaskBit52 = 0x800 ++ CBitFieldMaskBit53 = 0x400 ++ CBitFieldMaskBit54 = 0x200 ++ CBitFieldMaskBit55 = 0x100 ++ CBitFieldMaskBit56 = 0x80 ++ CBitFieldMaskBit57 = 0x40 ++ CBitFieldMaskBit58 = 0x20 ++ CBitFieldMaskBit59 = 0x10 ++ CBitFieldMaskBit60 = 0x8 ++ CBitFieldMaskBit61 = 0x4 ++ CBitFieldMaskBit62 = 0x2 ++ CBitFieldMaskBit63 = 0x1 ++) ++ ++type SockaddrStorage struct { ++ Family uint16 ++ _ [118]int8 ++ _ 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 ++ Frsize int64 ++ Blocks int64 ++ Bfree uint64 ++ Files uint64 ++ Ffree uint64 ++ Bavail uint64 ++ Fsid Fsid ++ Namelen int64 ++ Flags int64 ++ Spare [5]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 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 = 0x20001269 ++ 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 ++} ++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 RawSockaddrXDP struct { ++ Family uint16 ++ Flags uint16 ++ Ifindex uint32 ++ Queue_id uint32 ++ Shared_umem_fd uint32 ++} ++ ++type RawSockaddrPPPoX [0x1e]byte ++ ++type RawSockaddrTIPC struct { ++ Family uint16 ++ Addrtype uint8 ++ Scope int8 ++ Addr [12]byte ++} ++ ++type PacketMreq struct { ++ Ifindex int32 ++ Type uint16 ++ Alen uint16 ++ Address [8]uint8 ++} ++type CanFilter struct { ++ Id uint32 ++ Mask uint32 ++} ++ ++type TIPCSocketAddr struct { ++ Ref uint32 ++ Node uint32 ++} ++ ++type TIPCServiceRange struct { ++ Type uint32 ++ Lower uint32 ++ Upper uint32 ++} ++ ++type TIPCServiceName struct { ++ Type uint32 ++ Instance uint32 ++ Domain uint32 ++} +-- +2.33.0 + diff --git a/agent/series.conf b/agent/series.conf index 8a1ad9e..2b667c9 100644 --- a/agent/series.conf +++ b/agent/series.conf @@ -21,3 +21,4 @@ 0022-kata-agent-delete-container-id-from-sandbox-struct.patch 0023-kata-agent-modify-log-level.patch 0024-kata-agent-fix-agent.debug_console-not-work-when-bui.patch +0025-kata-agent-sw64-add-sw64-architecture-support.patch diff --git a/kata-containers.spec b/kata-containers.spec index 1f2b71a..31248a8 100644 --- a/kata-containers.spec +++ b/kata-containers.spec @@ -2,7 +2,7 @@ %global debug_package %{nil} %define VERSION 1.11.1 -%define RELEASE 27 +%define RELEASE 28 Name: kata-containers Version: %{VERSION} @@ -98,6 +98,12 @@ install -p -m 640 -D ./runtime/cli/config/configuration-qemu.toml %{buildroot}/u %doc %changelog +* Tue Feb 11 2025 chenwang - 1.11.1-28 +- Type:enhancement +- CVE:NA +- SUG:NA +- DESC:add sw64 architecture support to kata-containers + * Tue Feb 11 2025 chenwang - 1.11.1-27 - Type:enhancement - CVE:NA diff --git a/proxy/patches/0004-kata-proxy-sw64-add-sw64-architecture-support.patch b/proxy/patches/0004-kata-proxy-sw64-add-sw64-architecture-support.patch new file mode 100644 index 0000000..505b953 --- /dev/null +++ b/proxy/patches/0004-kata-proxy-sw64-add-sw64-architecture-support.patch @@ -0,0 +1,7292 @@ +From 7bb8f1bad74dbac916aeb2701924da70e4dbf2d2 Mon Sep 17 00:00:00 2001 +From: chenwang +Date: Tue, 11 Feb 2025 17:34:09 +0000 +Subject: [PATCH] kata-proxy: sw64: add sw64 architecture support + +Signed-off-by: chenwang +--- + vendor/golang.org/x/sys/unix/asm_linux_sw64.s | 139 + + vendor/golang.org/x/sys/unix/endian_little.go | 2 +- + .../x/sys/unix/syscall_linux_sw64.go | 215 ++ + .../x/sys/unix/zerrors_linux_sw64.go | 2176 ++++++++++++++++ + .../x/sys/unix/zsyscall_linux_sw64.go | 2240 +++++++++++++++++ + .../x/sys/unix/zsysnum_linux_sw64.go | 447 ++++ + .../x/sys/unix/ztypes_linux_sw64.go | 2001 +++++++++++++++ + 7 files changed, 7219 insertions(+), 1 deletion(-) + create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_sw64.s + create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_sw64.go + create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_sw64.go + create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_sw64.go + create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_sw64.go + create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_sw64.go + +diff --git a/vendor/golang.org/x/sys/unix/asm_linux_sw64.s b/vendor/golang.org/x/sys/unix/asm_linux_sw64.s +new file mode 100644 +index 0000000..2b127be +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/asm_linux_sw64.s +@@ -0,0 +1,139 @@ ++// 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 linux ++// +build sw64 ++ ++#include "textflag.h" ++ ++// ++// System calls for sw64, Linux ++// ++ ++#define SYSCALL SYS_CALL_B $131 ++ ++//func Syscall(trap int64, a1, a2, a3 int64) (r1, r2, err int64); ++TEXT ·Syscall(SB), NOSPLIT, $0-56 ++ CALL runtime·entersyscall(SB) ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDI R19, ZERO ++ LDI R20, ZERO ++ LDI R21, ZERO ++ LDL R0, trap+0(FP) ++ SYSCALL ++ BEQ R19, ok ++ ++ LDI R1, $-1 ++ STL R1, r1+32(FP) ++ STL ZERO, r2+40(FP) ++ STL R0, err+48(FP) ++ CALL runtime·exitsyscall(SB) ++ RET ++ok: ++ STL R0, r1+32(FP) ++ STL R20, r2+40(FP) ++ STL ZERO, err+48(FP) ++ CALL runtime·exitsyscall(SB) ++ RET ++ ++//func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) ++TEXT ·Syscall6(SB), NOSPLIT, $0-80 ++ CALL runtime·entersyscall(SB) ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDL R19, a4+32(FP) ++ LDL R20, a5+40(FP) ++ LDL R21, a6+48(FP) ++ LDL R0, trap+0(FP) ++ SYSCALL ++ BEQ R19, ok ++ ++ LDI R1, $-1 ++ STL R1, r1+56(FP) ++ STL ZERO, r2+64(FP) ++ STL R0, err+72(FP) ++ CALL runtime·exitsyscall(SB) ++ RET ++ok: ++ STL R0, r1+56(FP) ++ STL R20, r2+64(FP) ++ STL ZERO, err+72(FP) ++ CALL runtime·exitsyscall(SB) ++ RET ++ ++TEXT ·RawSyscall(SB), NOSPLIT, $0-56 ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDI R19, ZERO ++ LDI R20, ZERO ++ LDI R21, ZERO ++ LDL R0, trap+0(FP) ++ SYSCALL ++ BEQ R19, ok ++ ++ LDI R1, $-1 ++ STL R1, r1+32(FP) ++ STL ZERO, r2+40(FP) ++ STL R0, err+48(FP) ++ RET ++ok: ++ STL R0, r1+32(FP) ++ STL R20, r2+40(FP) ++ STL ZERO, err+48(FP) ++ RET ++ ++TEXT ·RawSyscall6(SB),NOSPLIT, $0-80 ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDL R19, a4+32(FP) ++ LDL R20, a5+40(FP) ++ LDL R21, a6+48(FP) ++ LDL R0, trap+0(FP) ++ SYSCALL ++ BEQ R19, ok ++ ++ LDI R1, $-1 ++ STL R1, r1+56(FP) ++ STL ZERO, r2+64(FP) ++ STL R0, err+72(FP) ++ RET ++ok: ++ STL R0, r1+56(FP) ++ STL R20, r2+64(FP) ++ STL ZERO, err+72(FP) ++ RET ++ ++TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 ++ CALL runtime·entersyscall(SB) ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDI R19,ZERO ++ LDI R20, ZERO ++ LDI R21, ZERO ++ LDL R0, trap+0(FP) ++ SYSCALL ++ STL R0, r1+32(FP) ++ STL R20, r1+40(FP) ++ CALL runtime·exitsyscall(SB) ++ RET ++ ++ ++TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDI R19, ZERO ++ LDI R20, ZERO ++ LDI R21, ZERO ++ LDL R0, trap+0(FP) ++ SYSCALL ++ STL R0, r1+32(FP) ++ STL R20, r1+40(FP) ++ RET +diff --git a/vendor/golang.org/x/sys/unix/endian_little.go b/vendor/golang.org/x/sys/unix/endian_little.go +index 085df2d..497d683 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 mipsle mips64le ++// +build 386 amd64 amd64p32 arm arm64 ppc64le mipsle mips64le sw64 + + package unix + +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_sw64.go b/vendor/golang.org/x/sys/unix/syscall_linux_sw64.go +new file mode 100644 +index 0000000..e04dc64 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_sw64.go +@@ -0,0 +1,215 @@ ++// 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 sw64,linux ++ ++package unix ++ ++import ( ++ "syscall" ++) ++ ++const ( ++ //generate by handle ++ TIOCSWINSZ = 0x80087467 ++ TIOCGWINSZ = 0x40087468 ++ ++ //replace ztypes_linux_sw64.go with this ++// 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 ( ++ //ALL OF THIS constants are WORKAROUND, and should be removing ++ _SYS_dup = SYS_DUP2 ++ _SYS_setgroups = SYS_SETGROUPS ++ SYS_UMOUNT2 = SYS_UMOUNT ++ ++ SYS_GETPID = SYS_GETXPID ++ SYS_GETPPID = SYS_GETXPID ++ ++ SYS_COPY_FILE_RANGE = 0 ++ KEYCTL_DH_COMPUTE = -1 ++) ++ ++//sysnb getxpid() (pid int, ppid int) ++// currently manually remove the implements of Getpid and Getppid ++// in zsyscall_linux_sw64.go ++func Getpid() (pid int) { pid, _ = getxpid(); return } ++func Getppid() (ppid int) { _, ppid = getxpid(); return } ++ ++func Utime(path string, buf *Utimbuf) error { ++ tv := [2]Timeval{ ++ {Sec: buf.Actime}, ++ {Sec: buf.Modtime}, ++ } ++ return utimes(path, &tv) ++} ++ ++//sys Fstat64(fd int, st *Stat_t) (err error) ++//sys Lstat64(path string, st *Stat_t) (err error) ++//sys Stat64(path string, st *Stat_t) (err error) ++func Fstat(fd int, st *Stat_t) (err error) { return Fstat64(fd, st) } ++func Lstat(path string, st *Stat_t) (err error) { return Lstat64(path, st) } ++func Stat(path string, st *Stat_t) (err error) { return Stat64(path, st) } ++ ++//sys getxuid() (uid int, euid int) ++func Getuid() (uid int) { uid, _ = getxuid(); return } ++func Geteuid() (euid int) { _, euid = getxuid(); return } ++ ++//sys getxgid() (gid int, egid int) ++func Getgid() (gid int) { gid, _ = getxgid(); return } ++func Getegid() (egid int) { _, egid = getxgid(); return } ++ ++//sys Statfs(path string, buf *Statfs_t) (err error) ++//sys Fstatfs(fd int, buf *Statfs_t) (err error) ++//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) ++//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) ++//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 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 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 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) ++ ++type sigset_t struct { ++ X__val [16]uint64 ++} ++ ++//sys pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *sigset_t) (n int, err error) = SYS_PSELECT6 ++ ++func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { ++ ts := Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} ++ return pselect(nfd, r, w, e, &ts, nil) ++} ++ ++//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 ++} ++ ++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 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 ++} ++ ++// 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) ++} ++ ++func rawVforkSyscall(trap, a1 uintptr) (r1 uintptr, err syscall.Errno) { ++ panic("not implemented") ++} ++ ++//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) ++ ++//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/zerrors_linux_sw64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sw64.go +new file mode 100644 +index 0000000..f03af03 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sw64.go +@@ -0,0 +1,2176 @@ ++// mkerrors.sh ++// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT ++ ++// Created by cgo -godefs - DO NOT EDIT ++// cgo -godefs -- /tmp/_const.go ++ ++// +build sw64,linux ++ ++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 ++ AF_XDP = 0x2c ++ 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 ++ BLKGETSIZE64 = 40081272 ++ BPF_A = 0x10 ++ BPF_ABS = 0x20 ++ BPF_ADD = 0x0 ++ BPF_ALU = 0x4 ++ BPF_AND = 0x50 ++ BPF_B = 0x10 ++ BPF_DEVCG_ACC_MKNOD = 0x1 ++ BPF_DEVCG_ACC_READ = 0x2 ++ BPF_DEVCG_ACC_WRITE = 0x4 ++ BPF_DEVCG_DEV_BLOCK = 0x1 ++ BPF_DEVCG_DEV_CHAR = 0x2 ++ BPF_DIV = 0x30 ++ BPF_F_ALLOW_MULTI = 0x2 ++ 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_OBJ_NAME_LEN = 0x10 ++ BPF_OR = 0x40 ++ BPF_TAG_SIZE = 0x8 ++ 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 ++ CGROUP2_SUPER_MAGIC = 0x63677270 ++ CLOCAL = 0x8000 ++ CLONE_CHILD_CLEARTID = 0x200000 ++ CLONE_CHILD_SETTID = 0x1000000 ++ CLONE_DETACHED = 0x400000 ++ CLONE_FILES = 0x400 ++ CLONE_FS = 0x200 ++ CLONE_IO = 0x80000000 ++ CLONE_NEWCGROUP = 0x0200000 ++ 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 = 0x800 ++ 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 ++ EFD_CLOEXEC = 0x200000 ++ EFD_NONBLOCK = 0x4 ++ EFD_SEMAPHORE = 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 ++ 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 = 0x200000 ++ 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 = 0x10000000 ++ FD_CLOEXEC = 0x1 ++ FD_SETSIZE = 0x400 ++ FLUSHO = 0x800000 ++ F_DUPFD = 0x0 ++ F_DUPFD_CLOEXEC = 0x406 ++ F_EXLCK = 0x10 ++ F_GETFD = 0x1 ++ F_GETFL = 0x3 ++ F_GETLEASE = 0x401 ++ F_GETLK = 0x7 ++ F_GETLK64 = 0x7 ++ F_GETOWN = 0x6 ++ 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 = 0x5 ++ F_SETOWN_EX = 0xf ++ F_SETPIPE_SZ = 0x407 ++ F_SETSIG = 0xa ++ F_SHLCK = 0x20 ++ F_TEST = 0x3 ++ F_TLOCK = 0x2 ++ F_ULOCK = 0x0 ++ F_UNLCK = 0x8 ++ F_WRLCK = 0x2 ++ GRND_NONBLOCK = 0x1 ++ GRND_RANDOM = 0x2 ++ HUPCL = 0x4000 ++ 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_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 = 0x200000 ++ 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 = 0x4 ++ IN_ONESHOT = 0x80000000 ++ IN_ONLYDIR = 0x1000000 ++ IN_OPEN = 0x20 ++ IN_Q_OVERFLOW = 0x4000 ++ IN_UNMOUNT = 0x2000 ++ IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 ++ 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 = 0x80 ++ ISTRIP = 0x20 ++ IUTF8 = 0x4000 ++ IXANY = 0x800 ++ IXOFF = 0x400 ++ IXON = 0x200 ++ KEYCTL_ASSUME_AUTHORITY = 0x10 ++ KEYCTL_CHOWN = 0x4 ++ KEYCTL_CLEAR = 0x7 ++ KEYCTL_DESCRIBE = 0x6 ++ 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_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_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 = 0x6 ++ 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 = 0x10 ++ MAP_ANONYMOUS = 0x10 ++ MAP_DENYWRITE = 0x2000 ++ MAP_EXECUTABLE = 0x4000 ++ MAP_FILE = 0x0 ++ MAP_FIXED = 0x100 ++ MAP_GROWSDOWN = 0x1000 ++ MAP_HUGETLB = 0x100000 ++ MAP_HUGE_MASK = 0x3f ++ MAP_HUGE_SHIFT = 0x1a ++ MAP_LOCKED = 0x8000 ++ MAP_NONBLOCK = 0x40000 ++ MAP_NORESERVE = 0x10000 ++ MAP_POPULATE = 0x20000 ++ MAP_PRIVATE = 0x2 ++ MAP_SHARED = 0x1 ++ MAP_STACK = 0x80000 ++ MAP_TYPE = 0xf ++ MCL_CURRENT = 0x2000 ++ MCL_FUTURE = 0x4000 ++ MCL_ONFAULT = 0x8000 ++ 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_BORN = 0x20000000 ++ MS_DIRSYNC = 0x80 ++ MS_INVALIDATE = 0x4 ++ 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_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_SYNC = 0x2 ++ MS_SYNCHRONOUS = 0x10 ++ MS_UNBINDABLE = 0x20000 ++ MS_VERBOSE = 0x8000 ++ 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 ++ NFDBITS = 0x40 ++ 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 = 0x80000000 ++ OCRNL = 0x8 ++ OFDEL = 0x80 ++ OFILL = 0x40 ++ ONLCR = 0x2 ++ ONLRET = 0x20 ++ ONOCR = 0x10 ++ OPOST = 0x1 ++ O_ACCMODE = 0x3 ++ O_APPEND = 0x8 ++ O_ASYNC = 0x2000 ++ O_CLOEXEC = 0x200000 ++ O_CREAT = 0x200 ++ O_DIRECT = 0x80000 ++ O_DIRECTORY = 0x8000 ++ O_DSYNC = 0x4000 ++ O_EXCL = 0x800 ++ O_FSYNC = 0x404000 ++ O_LARGEFILE = 0x0 ++ O_NDELAY = 0x4 ++ O_NOATIME = 0x100000 ++ O_NOCTTY = 0x1000 ++ O_NOFOLLOW = 0x10000 ++ O_NONBLOCK = 0x4 ++ O_PATH = 0x800000 ++ O_RDONLY = 0x0 ++ O_RDWR = 0x2 ++ O_RSYNC = 0x404000 ++ O_SYNC = 0x404000 ++ O_TMPFILE = 0x1008000 ++ 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 = 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 ++ RLIMIT_MEMLOCK = 0x9 ++ 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_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_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_SEIZE = 0x4206 ++ PTRACE_SETFPREGS = 0xf ++ 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 = 0x7 ++ RLIMIT_CORE = 0x4 ++ RLIMIT_CPU = 0x0 ++ RLIMIT_DATA = 0x2 ++ RLIMIT_FSIZE = 0x1 ++ RLIMIT_NOFILE = 0x6 ++ RLIMIT_STACK = 0x3 ++ RLIM_INFINITY = 0x7fffffffffffffff ++ 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 ++ RTC_SET_TIME = 0x8024700a ++ RTC_RD_TIME = 0x40247009 ++ 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 = 0x40047307 ++ 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 = 0x40047309 ++ 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 = 0x80047308 ++ SIOCSRARP = 0x8962 ++ SIOCWANDEV = 0x894a ++ SOCK_CLOEXEC = 0x200000 ++ SOCK_DCCP = 0x6 ++ SOCK_DGRAM = 0x2 ++ SOCK_NONBLOCK = 0x40000000 ++ SOCK_PACKET = 0xa ++ SOCK_RAW = 0x3 ++ SOCK_RDM = 0x4 ++ SOCK_SEQPACKET = 0x5 ++ SOCK_STREAM = 0x1 ++ 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 = 0x1014 ++ 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 = 0x100b ++ SO_RCVLOWAT = 0x1010 ++ SO_RCVTIMEO = 0x1012 ++ SO_REUSEADDR = 0x4 ++ SO_REUSEPORT = 0x200 ++ SO_RXQ_OVFL = 0x28 ++ SO_SECURITY_AUTHENTICATION = 0x13 ++ SO_SECURITY_ENCRYPTION_NETWORK = 0x15 ++ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x14 ++ SO_SELECT_ERR_QUEUE = 0x2d ++ SO_SNDBUF = 0x1001 ++ SO_SNDBUFFORCE = 0x100a ++ SO_SNDLOWAT = 0x1011 ++ SO_SNDTIMEO = 0x1013 ++ 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 ++ 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 = 0x2000741f ++ TCGETA = 0x40127417 ++ TCGETS = 0x402c7413 ++ TCIFLUSH = 0x0 ++ TCIOFLUSH = 0x2 ++ TCOFLUSH = 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 ++ TCSETA = 0x80127418 ++ TCSETAF = 0x8012741c ++ TCSETAW = 0x80127419 ++ TCSETS = 0x802c7414 ++ TCSETSF = 0x802c7416 ++ TCSETSW = 0x802c7415 ++ TIOCCBRK = 0x5428 ++ TIOCCONS = 0x541d ++ TIOCEXCL = 0x540c ++ TIOCGDEV = 0x40045432 ++ TIOCGETD = 0x5424 ++ TIOCGEXCL = 0x40045440 ++ TIOCGICOUNT = 0x545d ++ TIOCGLCKTRMIOS = 0x5456 ++ TIOCGPGRP = 0x40047477 ++ TIOCGPKT = 0x40045438 ++ TIOCGPTLCK = 0x40045439 ++ TIOCGPTN = 0x40045430 ++ TIOCGSERIAL = 0x541e ++ TIOCGSID = 0x5429 ++ TIOCGSOFTCAR = 0x5419 ++ 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 ++ TIOCSETD = 0x5423 ++ TIOCSIG = 0x80045436 ++ TIOCSLCKTRMIOS = 0x5457 ++ TIOCSPGRP = 0x80047476 ++ TIOCSPTLCK = 0x80045431 ++ TIOCSSERIAL = 0x541f ++ TIOCSSOFTCAR = 0x541a ++ TIOCSTART = 0x2000746e ++ TIOCSTI = 0x5412 ++ TIOCSTOP = 0x2000746f ++ TIOCVHANGUP = 0x5437 ++ TIPC_SERVICE_ADDR = 0x2 ++ TIPC_SERVICE_RANGE = 0x1 ++ TIPC_SOCKET_ADDR = 0x3 ++ TOSTOP = 0x400000 ++ 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 = 0xf ++ VEOF = 0x0 ++ VEOL = 0x1 ++ VEOL2 = 0x2 ++ VERASE = 0x3 ++ VINTR = 0x8 ++ VKILL = 0x5 ++ VLNEXT = 0xe ++ VMADDR_PORT_ANY = 0xffffffff ++ VMIN = 0x10 ++ VQUIT = 0x9 ++ VREPRINT = 0x6 ++ VSTART = 0xc ++ VSTOP = 0xd ++ VSUSP = 0xa ++ VSWTC = 0x7 ++ VT0 = 0x0 ++ VT1 = 0x10000 ++ VTDLY = 0x10000 ++ VTIME = 0x11 ++ VWERASE = 0x4 ++ 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(0x30) ++ EADDRNOTAVAIL = syscall.Errno(0x31) ++ EADV = syscall.Errno(0x6b) ++ EAFNOSUPPORT = syscall.Errno(0x2f) ++ EAGAIN = syscall.Errno(0x23) ++ EALREADY = syscall.Errno(0x25) ++ EBADE = syscall.Errno(0x61) ++ EBADF = syscall.Errno(0x9) ++ EBADFD = syscall.Errno(0x72) ++ EBADMSG = syscall.Errno(0x54) ++ EBADR = syscall.Errno(0x62) ++ EBADRQC = syscall.Errno(0x65) ++ EBADSLT = syscall.Errno(0x66) ++ EBFONT = syscall.Errno(0x68) ++ EBUSY = syscall.Errno(0x10) ++ ECANCELED = syscall.Errno(0x83) ++ ECHILD = syscall.Errno(0xa) ++ ECHRNG = syscall.Errno(0x58) ++ ECOMM = syscall.Errno(0x6d) ++ ECONNABORTED = syscall.Errno(0x35) ++ ECONNREFUSED = syscall.Errno(0x3d) ++ ECONNRESET = syscall.Errno(0x36) ++ EDEADLK = syscall.Errno(0xb) ++ EDEADLOCK = syscall.Errno(0xb) ++ EDESTADDRREQ = syscall.Errno(0x27) ++ EDOM = syscall.Errno(0x21) ++ EDOTDOT = syscall.Errno(0x6f) ++ 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(0x8b) ++ EIDRM = syscall.Errno(0x51) ++ EILSEQ = syscall.Errno(0x74) ++ 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(0x85) ++ EKEYREJECTED = syscall.Errno(0x87) ++ EKEYREVOKED = syscall.Errno(0x86) ++ EL2HLT = syscall.Errno(0x60) ++ EL2NSYNC = syscall.Errno(0x59) ++ EL3HLT = syscall.Errno(0x5a) ++ EL3RST = syscall.Errno(0x5b) ++ ELIBACC = syscall.Errno(0x7a) ++ ELIBBAD = syscall.Errno(0x7b) ++ ELIBEXEC = syscall.Errno(0x7e) ++ ELIBMAX = syscall.Errno(0x7d) ++ ELIBSCN = syscall.Errno(0x7c) ++ ELNRNG = syscall.Errno(0x5d) ++ ELOOP = syscall.Errno(0x3e) ++ EMEDIUMTYPE = syscall.Errno(0x82) ++ EMFILE = syscall.Errno(0x18) ++ EMLINK = syscall.Errno(0x1f) ++ EMSGSIZE = syscall.Errno(0x28) ++ EMULTIHOP = syscall.Errno(0x6e) ++ 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(0x64) ++ ENOBUFS = syscall.Errno(0x37) ++ ENOCSI = syscall.Errno(0x5f) ++ ENODATA = syscall.Errno(0x56) ++ ENODEV = syscall.Errno(0x13) ++ ENOENT = syscall.Errno(0x2) ++ ENOEXEC = syscall.Errno(0x8) ++ ENOKEY = syscall.Errno(0x84) ++ ENOLCK = syscall.Errno(0x4d) ++ ENOLINK = syscall.Errno(0x6a) ++ ENOMEDIUM = syscall.Errno(0x81) ++ ENOMEM = syscall.Errno(0xc) ++ ENOMSG = syscall.Errno(0x50) ++ ENONET = syscall.Errno(0x69) ++ ENOPKG = syscall.Errno(0x5c) ++ ENOPROTOOPT = syscall.Errno(0x2a) ++ ENOSPC = syscall.Errno(0x1c) ++ ENOSR = syscall.Errno(0x52) ++ ENOSTR = syscall.Errno(0x57) ++ ENOSYS = syscall.Errno(0x4e) ++ ENOTBLK = syscall.Errno(0xf) ++ ENOTCONN = syscall.Errno(0x39) ++ ENOTDIR = syscall.Errno(0x14) ++ ENOTEMPTY = syscall.Errno(0x42) ++ ENOTNAM = syscall.Errno(0x76) ++ ENOTRECOVERABLE = syscall.Errno(0x89) ++ ENOTSOCK = syscall.Errno(0x26) ++ ENOTSUP = syscall.Errno(0x2d) ++ ENOTTY = syscall.Errno(0x19) ++ ENOTUNIQ = syscall.Errno(0x71) ++ ENXIO = syscall.Errno(0x6) ++ EOPNOTSUPP = syscall.Errno(0x2d) ++ EOVERFLOW = syscall.Errno(0x70) ++ EOWNERDEAD = syscall.Errno(0x88) ++ EPERM = syscall.Errno(0x1) ++ EPFNOSUPPORT = syscall.Errno(0x2e) ++ EPIPE = syscall.Errno(0x20) ++ EPROTO = syscall.Errno(0x55) ++ EPROTONOSUPPORT = syscall.Errno(0x2b) ++ EPROTOTYPE = syscall.Errno(0x29) ++ ERANGE = syscall.Errno(0x22) ++ EREMCHG = syscall.Errno(0x73) ++ EREMOTE = syscall.Errno(0x47) ++ EREMOTEIO = syscall.Errno(0x79) ++ ERESTART = syscall.Errno(0x7f) ++ ERFKILL = syscall.Errno(0x8a) ++ EROFS = syscall.Errno(0x1e) ++ ESHUTDOWN = syscall.Errno(0x3a) ++ ESOCKTNOSUPPORT = syscall.Errno(0x2c) ++ ESPIPE = syscall.Errno(0x1d) ++ ESRCH = syscall.Errno(0x3) ++ ESRMNT = syscall.Errno(0x6c) ++ ESTALE = syscall.Errno(0x46) ++ ESTRPIPE = syscall.Errno(0x80) ++ ETIME = syscall.Errno(0x53) ++ ETIMEDOUT = syscall.Errno(0x3c) ++ ETOOMANYREFS = syscall.Errno(0x3b) ++ ETXTBSY = syscall.Errno(0x1a) ++ EUCLEAN = syscall.Errno(0x75) ++ EUNATCH = syscall.Errno(0x5e) ++ EUSERS = syscall.Errno(0x44) ++ EWOULDBLOCK = syscall.Errno(0x23) ++ EXDEV = syscall.Errno(0x12) ++ EXFULL = syscall.Errno(0x63) ++) ++ ++// 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) ++ SIGINFO = syscall.Signal(0x1d) ++ SIGINT = syscall.Signal(0x2) ++ SIGIO = syscall.Signal(0x17) ++ SIGIOT = syscall.Signal(0x6) ++ SIGKILL = syscall.Signal(0x9) ++ 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 deadlock avoided", ++ 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 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", ++ 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", ++ 68: "too many users", ++ 69: "disk quota exceeded", ++ 70: "stale file handle", ++ 71: "object is remote", ++ 77: "no locks available", ++ 78: "function not implemented", ++ 80: "no message of desired type", ++ 81: "identifier removed", ++ 82: "out of streams resources", ++ 83: "timer expired", ++ 84: "bad message", ++ 85: "protocol error", ++ 86: "no data available", ++ 87: "device not a stream", ++ 88: "channel number out of range", ++ 89: "level 2 not synchronized", ++ 90: "level 3 halted", ++ 91: "level 3 reset", ++ 92: "package not installed", ++ 93: "link number out of range", ++ 94: "protocol driver not attached", ++ 95: "no CSI structure available", ++ 96: "level 2 halted", ++ 97: "invalid exchange", ++ 98: "invalid request descriptor", ++ 99: "exchange full", ++ 100: "no anode", ++ 101: "invalid request code", ++ 102: "invalid slot", ++ 104: "bad font file format", ++ 105: "machine is not on the network", ++ 106: "link has been severed", ++ 107: "advertise error", ++ 108: "srmount error", ++ 109: "communication error on send", ++ 110: "multihop attempted", ++ 111: "RFS specific error", ++ 112: "value too large for defined data type", ++ 113: "name not unique on network", ++ 114: "file descriptor in bad state", ++ 115: "remote address changed", ++ 116: "invalid or incomplete multibyte or wide character", ++ 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: "can not access a needed shared library", ++ 123: "accessing a corrupted shared library", ++ 124: ".lib section in a.out corrupted", ++ 125: "attempting to link in too many shared libraries", ++ 126: "cannot exec a shared library directly", ++ 127: "interrupted system call should be restarted", ++ 128: "streams pipe error", ++ 129: "no medium found", ++ 130: "wrong medium type", ++ 131: "operation canceled", ++ 132: "required key not available", ++ 133: "key has expired", ++ 134: "key has been revoked", ++ 135: "key was rejected by service", ++ 136: "owner died", ++ 137: "state not recoverable", ++ 138: "operation not possible due to RF-kill", ++ 139: "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: "information request", ++ 30: "user defined signal 1", ++ 31: "user defined signal 2", ++} ++// 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, "ENOMSG", "no message of desired type"}, ++ {36, "EIDRM", "identifier removed"}, ++ {37, "ECHRNG", "channel number out of range"}, ++ {38, "EL2NSYNC", "level 2 not synchronized"}, ++ {39, "EL3HLT", "level 3 halted"}, ++ {40, "EL3RST", "level 3 reset"}, ++ {41, "ELNRNG", "link number out of range"}, ++ {42, "EUNATCH", "protocol driver not attached"}, ++ {43, "ENOCSI", "no CSI structure available"}, ++ {44, "EL2HLT", "level 2 halted"}, ++ {45, "EDEADLK", "resource deadlock avoided"}, ++ {46, "ENOLCK", "no locks available"}, ++ {50, "EBADE", "invalid exchange"}, ++ {51, "EBADR", "invalid request descriptor"}, ++ {52, "EXFULL", "exchange full"}, ++ {53, "ENOANO", "no anode"}, ++ {54, "EBADRQC", "invalid request code"}, ++ {55, "EBADSLT", "invalid slot"}, ++ {56, "EDEADLOCK", "file locking deadlock error"}, ++ {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"}, ++ {73, "EDOTDOT", "RFS specific error"}, ++ {74, "EMULTIHOP", "multihop attempted"}, ++ {77, "EBADMSG", "bad message"}, ++ {78, "ENAMETOOLONG", "file name too long"}, ++ {79, "EOVERFLOW", "value too large for defined data type"}, ++ {80, "ENOTUNIQ", "name not unique on network"}, ++ {81, "EBADFD", "file descriptor in bad state"}, ++ {82, "EREMCHG", "remote address changed"}, ++ {83, "ELIBACC", "can not access a needed shared library"}, ++ {84, "ELIBBAD", "accessing a corrupted shared library"}, ++ {85, "ELIBSCN", ".lib section in a.out corrupted"}, ++ {86, "ELIBMAX", "attempting to link in too many shared libraries"}, ++ {87, "ELIBEXEC", "cannot exec a shared library directly"}, ++ {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, ++ {89, "ENOSYS", "function not implemented"}, ++ {90, "ELOOP", "too many levels of symbolic links"}, ++ {91, "ERESTART", "interrupted system call should be restarted"}, ++ {92, "ESTRPIPE", "streams pipe error"}, ++ {93, "ENOTEMPTY", "directory not empty"}, ++ {94, "EUSERS", "too many users"}, ++ {95, "ENOTSOCK", "socket operation on non-socket"}, ++ {96, "EDESTADDRREQ", "destination address required"}, ++ {97, "EMSGSIZE", "message too long"}, ++ {98, "EPROTOTYPE", "protocol wrong type for socket"}, ++ {99, "ENOPROTOOPT", "protocol not available"}, ++ {120, "EPROTONOSUPPORT", "protocol not supported"}, ++ {121, "ESOCKTNOSUPPORT", "socket type not supported"}, ++ {122, "ENOTSUP", "operation not supported"}, ++ {123, "EPFNOSUPPORT", "protocol family not supported"}, ++ {124, "EAFNOSUPPORT", "address family not supported by protocol"}, ++ {125, "EADDRINUSE", "address already in use"}, ++ {126, "EADDRNOTAVAIL", "cannot assign requested address"}, ++ {127, "ENETDOWN", "network is down"}, ++ {128, "ENETUNREACH", "network is unreachable"}, ++ {129, "ENETRESET", "network dropped connection on reset"}, ++ {130, "ECONNABORTED", "software caused connection abort"}, ++ {131, "ECONNRESET", "connection reset by peer"}, ++ {132, "ENOBUFS", "no buffer space available"}, ++ {133, "EISCONN", "transport endpoint is already connected"}, ++ {134, "ENOTCONN", "transport endpoint is not connected"}, ++ {135, "EUCLEAN", "structure needs cleaning"}, ++ {137, "ENOTNAM", "not a XENIX named type file"}, ++ {138, "ENAVAIL", "no XENIX semaphores available"}, ++ {139, "EISNAM", "is a named type file"}, ++ {140, "EREMOTEIO", "remote I/O error"}, ++ {141, "EINIT", "unknown error 141"}, ++ {142, "EREMDEV", "unknown error 142"}, ++ {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, ++ {144, "ETOOMANYREFS", "too many references: cannot splice"}, ++ {145, "ETIMEDOUT", "connection timed out"}, ++ {146, "ECONNREFUSED", "connection refused"}, ++ {147, "EHOSTDOWN", "host is down"}, ++ {148, "EHOSTUNREACH", "no route to host"}, ++ {149, "EALREADY", "operation already in progress"}, ++ {150, "EINPROGRESS", "operation now in progress"}, ++ {151, "ESTALE", "stale file handle"}, ++ {158, "ECANCELED", "operation canceled"}, ++ {159, "ENOMEDIUM", "no medium found"}, ++ {160, "EMEDIUMTYPE", "wrong medium type"}, ++ {161, "ENOKEY", "required key not available"}, ++ {162, "EKEYEXPIRED", "key has expired"}, ++ {163, "EKEYREVOKED", "key has been revoked"}, ++ {164, "EKEYREJECTED", "key was rejected by service"}, ++ {165, "EOWNERDEAD", "owner died"}, ++ {166, "ENOTRECOVERABLE", "state not recoverable"}, ++ {167, "ERFKILL", "operation not possible due to RF-kill"}, ++ {168, "EHWPOISON", "memory page has hardware error"}, ++ {1133, "EDQUOT", "disk quota exceeded"}, ++} ++ ++// 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, "SIGEMT", "EMT trap"}, ++ {8, "SIGFPE", "floating point exception"}, ++ {9, "SIGKILL", "killed"}, ++ {10, "SIGBUS", "bus error"}, ++ {11, "SIGSEGV", "segmentation fault"}, ++ {12, "SIGSYS", "bad system call"}, ++ {13, "SIGPIPE", "broken pipe"}, ++ {14, "SIGALRM", "alarm clock"}, ++ {15, "SIGTERM", "terminated"}, ++ {16, "SIGURG", "urgent I/O condition"}, ++ {17, "SIGSTOP", "stopped (signal)"}, ++ {18, "SIGTSTP", "stopped"}, ++ {19, "SIGCONT", "continued"}, ++ {20, "SIGCHLD", "child exited"}, ++ {21, "SIGTTIN", "stopped (tty input)"}, ++ {22, "SIGTTOU", "stopped (tty output)"}, ++ {23, "SIGIO", "I/O possible"}, ++ {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, "SIGINFO", "power failure"}, ++ {30, "SIGUSR1", "user defined signal 1"}, ++ {31, "SIGUSR2", "user defined signal 2"}, ++} +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_sw64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sw64.go +new file mode 100644 +index 0000000..c9a2590 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sw64.go +@@ -0,0 +1,2240 @@ ++// mksyscall.pl -tags linux,sw64 syscall_linux.go syscall_linux_sw64.go ++// Code generated by the command above; see README.md. DO NOT EDIT. ++ ++// +build linux,sw64 ++ ++package unix ++ ++import ( ++ "syscall" ++ "unsafe" ++) ++ ++var _ syscall.Errno ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func fchmodat(dirfd int, path string, mode uint32) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_FCHMODAT, 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 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 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 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 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 keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(keyType) ++ if err != nil { ++ return ++ } ++ var _p1 *byte ++ _p1, err = BytePtrFromString(restriction) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), 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 keyctlRestrictKeyring(cmd int, arg2 int) (err error) { ++ _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 0) ++ 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 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 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 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 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 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 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 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 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 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 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 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 signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { ++ r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) ++ newfd = int(r0) ++ 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 readv(fd int, iovs []Iovec) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall(SYS_READV, uintptr(fd), uintptr(_p0), uintptr(len(iovs))) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func writev(fd int, iovs []Iovec) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall(SYS_WRITEV, uintptr(fd), uintptr(_p0), uintptr(len(iovs))) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func preadv(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PREADV, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 pwritev(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PWRITEV, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 preadv2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PREADV2, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 pwritev2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PWRITEV2, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 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 faccessat(dirfd int, path string, mode uint32) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_FACCESSAT, 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 getxpid() (pid int, ppid int) { ++ r0, r1, _ := RawSyscall(SYS_GETXPID, 0, 0, 0) ++ pid = int(r0) ++ ppid = int(r1) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fstat64(fd int, st *Stat_t) (err error) { ++ _, _, e1 := Syscall(SYS_FSTAT64, 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 Lstat64(path string, st *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(st)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Stat64(path string, st *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(st)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getxuid() (uid int, euid int) { ++ r0, r1, _ := Syscall(SYS_GETXUID, 0, 0, 0) ++ uid = int(r0) ++ euid = int(r1) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getxgid() (gid int, egid int) { ++ r0, r1, _ := Syscall(SYS_GETXGID, 0, 0, 0) ++ gid = int(r0) ++ egid = int(r1) ++ 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 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 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 := 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 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 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 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 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 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 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 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 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 ++} ++ ++// 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 ++} ++ +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sw64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sw64.go +new file mode 100644 +index 0000000..ae66436 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sw64.go +@@ -0,0 +1,447 @@ ++// mksysnum_linux.pl /usr/sw/swgcc530-sw6-cross/usr/include/asm/unistd.h ++// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT ++ ++// +build sw64,linux ++ ++package unix ++ ++const ( ++ SYS_OSF_SYSCALL = 0 ++ SYS_EXIT = 1 ++ SYS_FORK = 2 ++ SYS_READ = 3 ++ SYS_WRITE = 4 ++ SYS_OSF_OLD_OPEN = 5 ++ SYS_CLOSE = 6 ++ SYS_OSF_WAIT4 = 7 ++ SYS_OSF_OLD_CREAT = 8 ++ SYS_LINK = 9 ++ SYS_UNLINK = 10 ++ SYS_OSF_EXECVE = 11 ++ SYS_CHDIR = 12 ++ SYS_FCHDIR = 13 ++ SYS_MKNOD = 14 ++ SYS_CHMOD = 15 ++ SYS_CHOWN = 16 ++ SYS_BRK = 17 ++ SYS_OSF_GETFSSTAT = 18 ++ SYS_LSEEK = 19 ++ SYS_GETXPID = 20 ++ SYS_OSF_MOUNT = 21 ++ SYS_UMOUNT = 22 ++ SYS_SETUID = 23 ++ SYS_GETXUID = 24 ++ SYS_EXEC_WITH_LOADER = 25 ++ SYS_PTRACE = 26 ++ SYS_OSF_NRECVMSG = 27 ++ SYS_OSF_NSENDMSG = 28 ++ SYS_OSF_NRECVFROM = 29 ++ SYS_OSF_NACCEPT = 30 ++ SYS_OSF_NGETPEERNAME = 31 ++ SYS_OSF_NGETSOCKNAME = 32 ++ SYS_ACCESS = 33 ++ SYS_OSF_CHFLAGS = 34 ++ SYS_OSF_FCHFLAGS = 35 ++ SYS_SYNC = 36 ++ SYS_KILL = 37 ++ SYS_OSF_OLD_STAT = 38 ++ SYS_SETPGID = 39 ++ SYS_OSF_OLD_LSTAT = 40 ++ SYS_DUP = 41 ++ SYS_PIPE = 42 ++ SYS_OSF_SET_PROGRAM_ATTRIBUTES = 43 ++ SYS_OSF_PROFIL = 44 ++ SYS_OPEN = 45 ++ SYS_OSF_OLD_SIGACTION = 46 ++ SYS_GETXGID = 47 ++ SYS_OSF_SIGPROCMASK = 48 ++ SYS_OSF_GETLOGIN = 49 ++ SYS_OSF_SETLOGIN = 50 ++ SYS_ACCT = 51 ++ SYS_SIGPENDING = 52 ++ SYS_IOCTL = 54 ++ SYS_OSF_REBOOT = 55 ++ SYS_OSF_REVOKE = 56 ++ SYS_SYMLINK = 57 ++ SYS_READLINK = 58 ++ SYS_EXECVE = 59 ++ SYS_UMASK = 60 ++ SYS_CHROOT = 61 ++ SYS_OSF_OLD_FSTAT = 62 ++ SYS_GETPGRP = 63 ++ SYS_GETPAGESIZE = 64 ++ SYS_OSF_MREMAP = 65 ++ SYS_VFORK = 66 ++ SYS_STAT = 67 ++ SYS_LSTAT = 68 ++ SYS_OSF_SBRK = 69 ++ SYS_OSF_SSTK = 70 ++ SYS_MMAP = 71 ++ SYS_OSF_OLD_VADVISE = 72 ++ SYS_MUNMAP = 73 ++ SYS_MPROTECT = 74 ++ SYS_MADVISE = 75 ++ SYS_VHANGUP = 76 ++ SYS_OSF_KMODCALL = 77 ++ SYS_OSF_MINCORE = 78 ++ SYS_GETGROUPS = 79 ++ SYS_SETGROUPS = 80 ++ SYS_OSF_OLD_GETPGRP = 81 ++ SYS_SETPGRP = 82 ++ SYS_OSF_SETITIMER = 83 ++ SYS_OSF_OLD_WAIT = 84 ++ SYS_OSF_TABLE = 85 ++ SYS_OSF_GETITIMER = 86 ++ SYS_GETHOSTNAME = 87 ++ SYS_SETHOSTNAME = 88 ++ SYS_GETDTABLESIZE = 89 ++ SYS_DUP2 = 90 ++ SYS_FSTAT = 91 ++ SYS_FCNTL = 92 ++ SYS_OSF_SELECT = 93 ++ SYS_POLL = 94 ++ SYS_FSYNC = 95 ++ SYS_SETPRIORITY = 96 ++ SYS_SOCKET = 97 ++ SYS_CONNECT = 98 ++ SYS_ACCEPT = 99 ++ SYS_GETPRIORITY = 100 ++ SYS_SEND = 101 ++ SYS_RECV = 102 ++ SYS_SIGRETURN = 103 ++ SYS_BIND = 104 ++ SYS_SETSOCKOPT = 105 ++ SYS_LISTEN = 106 ++ SYS_OSF_PLOCK = 107 ++ SYS_OSF_OLD_SIGVEC = 108 ++ SYS_OSF_OLD_SIGBLOCK = 109 ++ SYS_OSF_OLD_SIGSETMASK = 110 ++ SYS_SIGSUSPEND = 111 ++ SYS_OSF_SIGSTACK = 112 ++ SYS_RECVMSG = 113 ++ SYS_SENDMSG = 114 ++ SYS_OSF_OLD_VTRACE = 115 ++ SYS_OSF_GETTIMEOFDAY = 116 ++ SYS_OSF_GETRUSAGE = 117 ++ SYS_GETSOCKOPT = 118 ++ SYS_READV = 120 ++ SYS_WRITEV = 121 ++ SYS_OSF_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_SETGID = 132 ++ SYS_SENDTO = 133 ++ SYS_SHUTDOWN = 134 ++ SYS_SOCKETPAIR = 135 ++ SYS_MKDIR = 136 ++ SYS_RMDIR = 137 ++ SYS_OSF_UTIMES = 138 ++ SYS_OSF_OLD_SIGRETURN = 139 ++ SYS_OSF_ADJTIME = 140 ++ SYS_GETPEERNAME = 141 ++ SYS_OSF_GETHOSTID = 142 ++ SYS_OSF_SETHOSTID = 143 ++ SYS_GETRLIMIT = 144 ++ SYS_SETRLIMIT = 145 ++ SYS_OSF_OLD_KILLPG = 146 ++ SYS_SETSID = 147 ++ SYS_QUOTACTL = 148 ++ SYS_OSF_OLDQUOTA = 149 ++ SYS_GETSOCKNAME = 150 ++ SYS_OSF_PID_BLOCK = 153 ++ SYS_OSF_PID_UNBLOCK = 154 ++ SYS_SIGACTION = 156 ++ SYS_OSF_SIGWAITPRIM = 157 ++ SYS_OSF_NFSSVC = 158 ++ SYS_OSF_GETDIRENTRIES = 159 ++ SYS_OSF_STATFS = 160 ++ SYS_OSF_FSTATFS = 161 ++ SYS_OSF_ASYNCH_DAEMON = 163 ++ SYS_OSF_GETFH = 164 ++ SYS_OSF_GETDOMAINNAME = 165 ++ SYS_SETDOMAINNAME = 166 ++ SYS_OSF_EXPORTFS = 169 ++ SYS_BPF = 170 ++ SYS_OSF_ALT_PLOCK = 181 ++ SYS_OSF_GETMNT = 184 ++ SYS_OSF_ALT_SIGPENDING = 187 ++ SYS_OSF_ALT_SETSID = 188 ++ SYS_OSF_SWAPON = 199 ++ SYS_MSGCTL = 200 ++ SYS_MSGGET = 201 ++ SYS_MSGRCV = 202 ++ SYS_MSGSND = 203 ++ SYS_SEMCTL = 204 ++ SYS_SEMGET = 205 ++ SYS_SEMOP = 206 ++ SYS_OSF_UTSNAME = 207 ++ SYS_LCHOWN = 208 ++ SYS_OSF_SHMAT = 209 ++ SYS_SHMCTL = 210 ++ SYS_SHMDT = 211 ++ SYS_SHMGET = 212 ++ SYS_OSF_MVALID = 213 ++ SYS_OSF_GETADDRESSCONF = 214 ++ SYS_OSF_MSLEEP = 215 ++ SYS_OSF_MWAKEUP = 216 ++ SYS_MSYNC = 217 ++ SYS_OSF_SIGNAL = 218 ++ SYS_OSF_UTC_GETTIME = 219 ++ SYS_OSF_UTC_ADJTIME = 220 ++ SYS_OSF_SECURITY = 222 ++ SYS_OSF_KLOADCALL = 223 ++ SYS_OSF_STAT = 224 ++ SYS_OSF_LSTAT = 225 ++ SYS_OSF_FSTAT = 226 ++ SYS_OSF_STATFS64 = 227 ++ SYS_OSF_FSTATFS64 = 228 ++ SYS_GETPGID = 233 ++ SYS_GETSID = 234 ++ SYS_SIGALTSTACK = 235 ++ SYS_OSF_WAITID = 236 ++ SYS_OSF_PRIOCNTLSET = 237 ++ SYS_OSF_SIGSENDSET = 238 ++ SYS_OSF_SET_SPECULATIVE = 239 ++ SYS_OSF_MSFS_SYSCALL = 240 ++ SYS_OSF_SYSINFO = 241 ++ SYS_OSF_UADMIN = 242 ++ SYS_OSF_FUSER = 243 ++ SYS_OSF_PROPLIST_SYSCALL = 244 ++ SYS_OSF_NTP_ADJTIME = 245 ++ SYS_OSF_NTP_GETTIME = 246 ++ SYS_OSF_PATHCONF = 247 ++ SYS_OSF_FPATHCONF = 248 ++ SYS_OSF_USWITCH = 250 ++ SYS_OSF_USLEEP_THREAD = 251 ++ SYS_OSF_AUDCNTL = 252 ++ SYS_OSF_AUDGEN = 253 ++ SYS_SYSFS = 254 ++ SYS_OSF_SUBSYS_INFO = 255 ++ SYS_OSF_GETSYSINFO = 256 ++ SYS_OSF_SETSYSINFO = 257 ++ SYS_OSF_AFS_SYSCALL = 258 ++ SYS_OSF_SWAPCTL = 259 ++ SYS_OSF_MEMCNTL = 260 ++ SYS_OSF_FDATASYNC = 261 ++ SYS_BDFLUSH = 300 ++ SYS_SETHAE = 301 ++ SYS_MOUNT = 302 ++ SYS_OLD_ADJTIMEX = 303 ++ SYS_SWAPOFF = 304 ++ SYS_GETDENTS = 305 ++ SYS_CREATE_MODULE = 306 ++ SYS_INIT_MODULE = 307 ++ SYS_DELETE_MODULE = 308 ++ SYS_GET_KERNEL_SYMS = 309 ++ SYS_SYSLOG = 310 ++ SYS_REBOOT = 311 ++ SYS_CLONE = 312 ++ SYS_USELIB = 313 ++ SYS_MLOCK = 314 ++ SYS_MUNLOCK = 315 ++ SYS_MLOCKALL = 316 ++ SYS_MUNLOCKALL = 317 ++ SYS_SYSINFO = 318 ++ SYS__SYSCTL = 319 ++ SYS_OLDUMOUNT = 321 ++ SYS_SWAPON = 322 ++ SYS_TIMES = 323 ++ SYS_PERSONALITY = 324 ++ SYS_SETFSUID = 325 ++ SYS_SETFSGID = 326 ++ SYS_USTAT = 327 ++ SYS_STATFS = 328 ++ SYS_FSTATFS = 329 ++ SYS_SCHED_SETPARAM = 330 ++ SYS_SCHED_GETPARAM = 331 ++ SYS_SCHED_SETSCHEDULER = 332 ++ SYS_SCHED_GETSCHEDULER = 333 ++ SYS_SCHED_YIELD = 334 ++ SYS_SCHED_GET_PRIORITY_MAX = 335 ++ SYS_SCHED_GET_PRIORITY_MIN = 336 ++ SYS_SCHED_RR_GET_INTERVAL = 337 ++ SYS_AFS_SYSCALL = 338 ++ SYS_UNAME = 339 ++ SYS_NANOSLEEP = 340 ++ SYS_MREMAP = 341 ++ SYS_NFSSERVCTL = 342 ++ SYS_SETRESUID = 343 ++ SYS_GETRESUID = 344 ++ SYS_PCICONFIG_READ = 345 ++ SYS_PCICONFIG_WRITE = 346 ++ SYS_QUERY_MODULE = 347 ++ SYS_PRCTL = 348 ++ SYS_PREAD64 = 349 ++ SYS_PWRITE64 = 350 ++ SYS_RT_SIGRETURN = 351 ++ SYS_RT_SIGACTION = 352 ++ SYS_RT_SIGPROCMASK = 353 ++ SYS_RT_SIGPENDING = 354 ++ SYS_RT_SIGTIMEDWAIT = 355 ++ SYS_RT_SIGQUEUEINFO = 356 ++ SYS_RT_SIGSUSPEND = 357 ++ SYS_SELECT = 358 ++ SYS_GETTIMEOFDAY = 359 ++ SYS_SETTIMEOFDAY = 360 ++ SYS_GETITIMER = 361 ++ SYS_SETITIMER = 362 ++ SYS_UTIMES = 363 ++ SYS_GETRUSAGE = 364 ++ SYS_WAIT4 = 365 ++ SYS_ADJTIMEX = 366 ++ SYS_GETCWD = 367 ++ SYS_CAPGET = 368 ++ SYS_CAPSET = 369 ++ SYS_SENDFILE = 370 ++ SYS_SETRESGID = 371 ++ SYS_GETRESGID = 372 ++ SYS_DIPC = 373 ++ SYS_PIVOT_ROOT = 374 ++ SYS_MINCORE = 375 ++ SYS_PCICONFIG_IOBASE = 376 ++ SYS_GETDENTS64 = 377 ++ SYS_GETTID = 378 ++ SYS_READAHEAD = 379 ++ SYS_TKILL = 381 ++ SYS_SETXATTR = 382 ++ SYS_LSETXATTR = 383 ++ SYS_FSETXATTR = 384 ++ SYS_GETXATTR = 385 ++ SYS_LGETXATTR = 386 ++ SYS_FGETXATTR = 387 ++ SYS_LISTXATTR = 388 ++ SYS_LLISTXATTR = 389 ++ SYS_FLISTXATTR = 390 ++ SYS_REMOVEXATTR = 391 ++ SYS_LREMOVEXATTR = 392 ++ SYS_FREMOVEXATTR = 393 ++ SYS_FUTEX = 394 ++ SYS_SCHED_SETAFFINITY = 395 ++ SYS_SCHED_GETAFFINITY = 396 ++ SYS_TUXCALL = 397 ++ SYS_IO_SETUP = 398 ++ SYS_IO_DESTROY = 399 ++ SYS_IO_GETEVENTS = 400 ++ SYS_IO_SUBMIT = 401 ++ SYS_IO_CANCEL = 402 ++ SYS_EXIT_GROUP = 405 ++ SYS_LOOKUP_DCOOKIE = 406 ++ SYS_EPOLL_CREATE = 407 ++ SYS_EPOLL_CTL = 408 ++ SYS_EPOLL_WAIT = 409 ++ SYS_REMAP_FILE_PAGES = 410 ++ SYS_SET_TID_ADDRESS = 411 ++ SYS_RESTART_SYSCALL = 412 ++ SYS_FADVISE64 = 413 ++ SYS_TIMER_CREATE = 414 ++ SYS_TIMER_SETTIME = 415 ++ SYS_TIMER_GETTIME = 416 ++ SYS_TIMER_GETOVERRUN = 417 ++ SYS_TIMER_DELETE = 418 ++ SYS_CLOCK_SETTIME = 419 ++ SYS_CLOCK_GETTIME = 420 ++ SYS_CLOCK_GETRES = 421 ++ SYS_CLOCK_NANOSLEEP = 422 ++ SYS_SEMTIMEDOP = 423 ++ SYS_TGKILL = 424 ++ SYS_STAT64 = 425 ++ SYS_LSTAT64 = 426 ++ SYS_FSTAT64 = 427 ++ SYS_VSERVER = 428 ++ SYS_MBIND = 429 ++ SYS_GET_MEMPOLICY = 430 ++ SYS_SET_MEMPOLICY = 431 ++ SYS_MQ_OPEN = 432 ++ SYS_MQ_UNLINK = 433 ++ SYS_MQ_TIMEDSEND = 434 ++ SYS_MQ_TIMEDRECEIVE = 435 ++ SYS_MQ_NOTIFY = 436 ++ SYS_MQ_GETSETATTR = 437 ++ SYS_WAITID = 438 ++ SYS_ADD_KEY = 439 ++ SYS_REQUEST_KEY = 440 ++ SYS_KEYCTL = 441 ++ SYS_IOPRIO_SET = 442 ++ SYS_IOPRIO_GET = 443 ++ SYS_INOTIFY_INIT = 444 ++ SYS_INOTIFY_ADD_WATCH = 445 ++ SYS_INOTIFY_RM_WATCH = 446 ++ SYS_FDATASYNC = 447 ++ SYS_KEXEC_LOAD = 448 ++ SYS_MIGRATE_PAGES = 449 ++ SYS_OPENAT = 450 ++ SYS_MKDIRAT = 451 ++ SYS_MKNODAT = 452 ++ SYS_FCHOWNAT = 453 ++ SYS_FUTIMESAT = 454 ++ SYS_FSTATAT64 = 455 ++ SYS_FSTATAT = 455 ++ SYS_UNLINKAT = 456 ++ SYS_RENAMEAT = 457 ++ SYS_LINKAT = 458 ++ SYS_SYMLINKAT = 459 ++ SYS_READLINKAT = 460 ++ SYS_FCHMODAT = 461 ++ SYS_FACCESSAT = 462 ++ SYS_PSELECT6 = 463 ++ SYS_PPOLL = 464 ++ SYS_UNSHARE = 465 ++ SYS_SET_ROBUST_LIST = 466 ++ SYS_GET_ROBUST_LIST = 467 ++ SYS_SPLICE = 468 ++ SYS_SYNC_FILE_RANGE = 469 ++ SYS_TEE = 470 ++ SYS_VMSPLICE = 471 ++ SYS_MOVE_PAGES = 472 ++ SYS_GETCPU = 473 ++ SYS_EPOLL_PWAIT = 474 ++ SYS_UTIMENSAT = 475 ++ SYS_SIGNALFD = 476 ++ SYS_TIMERFD = 477 ++ SYS_EVENTFD = 478 ++ SYS_RECVMMSG = 479 ++ SYS_FALLOCATE = 480 ++ SYS_TIMERFD_CREATE = 481 ++ SYS_TIMERFD_SETTIME = 482 ++ SYS_TIMERFD_GETTIME = 483 ++ SYS_SIGNALFD4 = 484 ++ SYS_EVENTFD2 = 485 ++ SYS_EPOLL_CREATE1 = 486 ++ SYS_DUP3 = 487 ++ SYS_PIPE2 = 488 ++ SYS_INOTIFY_INIT1 = 489 ++ SYS_PREADV = 490 ++ SYS_PWRITEV = 491 ++ SYS_RT_TGSIGQUEUEINFO = 492 ++ SYS_PERF_EVENT_OPEN = 493 ++ SYS_FANOTIFY_INIT = 494 ++ SYS_FANOTIFY_MARK = 495 ++ SYS_PRLIMIT64 = 496 ++ SYS_NAME_TO_HANDLE_AT = 497 ++ SYS_OPEN_BY_HANDLE_AT = 498 ++ SYS_CLOCK_ADJTIME = 499 ++ SYS_SYNCFS = 500 ++ SYS_SETNS = 501 ++ SYS_ACCEPT4 = 502 ++ SYS_SENDMMSG = 503 ++ SYS_PROCESS_VM_READV = 504 ++ SYS_PROCESS_VM_WRITEV = 505 ++ SYS_KCMP = 506 ++ SYS_FINIT_MODULE = 507 ++ SYS_SCHED_SETATTR = 508 ++ SYS_SCHED_GETATTR = 509 ++ SYS_RENAMEAT2 = 510 ++ SYS_GETRANDOM = 511 ++ SYS_MEMFD_CREATE = 512 ++ SYS_EXECVEAT = 513 ++ SYS_PREADV2 = 516 ++ SYS_PWRITEV2 = 517 ++ SYS_STATX = 518 ++) +diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sw64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sw64.go +new file mode 100644 +index 0000000..f678270 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sw64.go +@@ -0,0 +1,2001 @@ ++// cgo -godefs linux/types.go ++ ++// +build sw64,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 ++ 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 ++ Rdev uint64 ++ Size int64 ++ Blocks int64 ++ Mode uint32 ++ Uid uint32 ++ Gid uint32 ++ Blksize uint32 ++ Nlink uint32 ++ X__pad2 int32 ++ Atim Timespec ++ Mtim Timespec ++ Ctim Timespec ++ X__glibc_reserved [3]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 ++} ++ ++type FscryptPolicy struct{} ++ ++type FscryptKey struct { ++ Mode uint32 ++ Raw [64]uint8 ++ Size uint32 ++} ++ ++type KeyctlDHParams struct{} ++ ++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 ++ SizeofSockaddrXDP = 0x10 ++ SizeofSockaddrPPPoX = 0x1e ++ SizeofSockaddrTIPC = 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 ++ SizeofSockaddrL2 = 0xe ++ SizeofSockaddrRFCOMM = 0xa ++ SizeofCanFilter = 0x8 ++) ++ ++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_GSO_MAX_SEGS =0x28 ++ IFLA_GSO_MAX_SIZE =0x29 ++ 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 ++ IFLA_EXT_MASK = 0x1d ++ IFLA_AF_SPEC = 0x1a ++ IFLA_VFINFO_LIST = 0x16 ++ IFLA_NET_NS_FD = 0x1c ++ IFLA_NUM_TX_QUEUES = 0x1f ++ IFLA_STATS64 = 0x17 ++ IFLA_XDP = 0x2b ++ IFLA_LINK_NETNSID = 0x25 ++ IFLA_NUM_RX_QUEUES = 0x20 ++ 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{} ++ ++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]byte ++ Nodename [65]byte ++ Release [65]byte ++ Version [65]byte ++ Machine [65]byte ++ Domainname [65]byte ++} ++ ++type Ustat_t struct { ++ Tfree int32 ++ Tinode uint32 ++ Fname [6]int8 ++ Fpack [6]int8 ++} ++ ++type EpollEvent struct { ++ Events uint32 ++ _ uint32 ++ Fd int32 ++ Pad int32 ++} ++ ++const ( ++ AT_FDCWD = -0x64 ++ AT_REMOVEDIR = 0x200 ++ AT_SYMLINK_FOLLOW = 0x400 ++ AT_SYMLINK_NOFOLLOW = 0x100 ++ AT_EMPTY_PATH = 0x1000 ++ AT_NO_AUTOMOUNT = 0x800 ++ AT_STATX_SYNC_AS_STAT = 0x0 ++ AT_STATX_FORCE_SYNC = 0x2000 ++ AT_STATX_DONT_SYNC = 0x4000 ++ 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 { ++ X__val [16]uint64 ++} ++ ++const _C__NSIG = 0x41 ++ ++const RNDGETENTCNT = 0x40045200 ++ ++const PERF_IOC_FLAG_GROUP = 0x1 ++ ++const _SC_PAGESIZE = 0x1e ++ ++type Termios struct { ++ Iflag uint32 ++ Oflag uint32 ++ Cflag uint32 ++ Lflag uint32 ++ Cc [19]uint8 ++ Line 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]int8 ++ 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 = 0x8000000000000000 ++ CBitFieldMaskBit1 = 0x4000000000000000 ++ CBitFieldMaskBit2 = 0x2000000000000000 ++ CBitFieldMaskBit3 = 0x1000000000000000 ++ CBitFieldMaskBit4 = 0x800000000000000 ++ CBitFieldMaskBit5 = 0x400000000000000 ++ CBitFieldMaskBit6 = 0x200000000000000 ++ CBitFieldMaskBit7 = 0x100000000000000 ++ CBitFieldMaskBit8 = 0x80000000000000 ++ CBitFieldMaskBit9 = 0x40000000000000 ++ CBitFieldMaskBit10 = 0x20000000000000 ++ CBitFieldMaskBit11 = 0x10000000000000 ++ CBitFieldMaskBit12 = 0x8000000000000 ++ CBitFieldMaskBit13 = 0x4000000000000 ++ CBitFieldMaskBit14 = 0x2000000000000 ++ CBitFieldMaskBit15 = 0x1000000000000 ++ CBitFieldMaskBit16 = 0x800000000000 ++ CBitFieldMaskBit17 = 0x400000000000 ++ CBitFieldMaskBit18 = 0x200000000000 ++ CBitFieldMaskBit19 = 0x100000000000 ++ CBitFieldMaskBit20 = 0x80000000000 ++ CBitFieldMaskBit21 = 0x40000000000 ++ CBitFieldMaskBit22 = 0x20000000000 ++ CBitFieldMaskBit23 = 0x10000000000 ++ CBitFieldMaskBit24 = 0x8000000000 ++ CBitFieldMaskBit25 = 0x4000000000 ++ CBitFieldMaskBit26 = 0x2000000000 ++ CBitFieldMaskBit27 = 0x1000000000 ++ CBitFieldMaskBit28 = 0x800000000 ++ CBitFieldMaskBit29 = 0x400000000 ++ CBitFieldMaskBit30 = 0x200000000 ++ CBitFieldMaskBit31 = 0x100000000 ++ CBitFieldMaskBit32 = 0x80000000 ++ CBitFieldMaskBit33 = 0x40000000 ++ CBitFieldMaskBit34 = 0x20000000 ++ CBitFieldMaskBit35 = 0x10000000 ++ CBitFieldMaskBit36 = 0x8000000 ++ CBitFieldMaskBit37 = 0x4000000 ++ CBitFieldMaskBit38 = 0x2000000 ++ CBitFieldMaskBit39 = 0x1000000 ++ CBitFieldMaskBit40 = 0x800000 ++ CBitFieldMaskBit41 = 0x400000 ++ CBitFieldMaskBit42 = 0x200000 ++ CBitFieldMaskBit43 = 0x100000 ++ CBitFieldMaskBit44 = 0x80000 ++ CBitFieldMaskBit45 = 0x40000 ++ CBitFieldMaskBit46 = 0x20000 ++ CBitFieldMaskBit47 = 0x10000 ++ CBitFieldMaskBit48 = 0x8000 ++ CBitFieldMaskBit49 = 0x4000 ++ CBitFieldMaskBit50 = 0x2000 ++ CBitFieldMaskBit51 = 0x1000 ++ CBitFieldMaskBit52 = 0x800 ++ CBitFieldMaskBit53 = 0x400 ++ CBitFieldMaskBit54 = 0x200 ++ CBitFieldMaskBit55 = 0x100 ++ CBitFieldMaskBit56 = 0x80 ++ CBitFieldMaskBit57 = 0x40 ++ CBitFieldMaskBit58 = 0x20 ++ CBitFieldMaskBit59 = 0x10 ++ CBitFieldMaskBit60 = 0x8 ++ CBitFieldMaskBit61 = 0x4 ++ CBitFieldMaskBit62 = 0x2 ++ CBitFieldMaskBit63 = 0x1 ++) ++ ++type SockaddrStorage struct { ++ Family uint16 ++ _ [118]int8 ++ _ 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 ++ Frsize int64 ++ Blocks int64 ++ Bfree uint64 ++ Files uint64 ++ Ffree uint64 ++ Bavail uint64 ++ Fsid Fsid ++ Namelen int64 ++ Flags int64 ++ Spare [5]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 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 = 0x20001269 ++ 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 ++} ++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 RawSockaddrXDP struct { ++ Family uint16 ++ Flags uint16 ++ Ifindex uint32 ++ Queue_id uint32 ++ Shared_umem_fd uint32 ++} ++ ++type RawSockaddrPPPoX [0x1e]byte ++ ++type RawSockaddrTIPC struct { ++ Family uint16 ++ Addrtype uint8 ++ Scope int8 ++ Addr [12]byte ++} ++ ++type PacketMreq struct { ++ Ifindex int32 ++ Type uint16 ++ Alen uint16 ++ Address [8]uint8 ++} ++type CanFilter struct { ++ Id uint32 ++ Mask uint32 ++} ++ ++type TIPCSocketAddr struct { ++ Ref uint32 ++ Node uint32 ++} ++ ++type TIPCServiceRange struct { ++ Type uint32 ++ Lower uint32 ++ Upper uint32 ++} ++ ++type TIPCServiceName struct { ++ Type uint32 ++ Instance uint32 ++ Domain uint32 ++} +-- +2.33.0 + diff --git a/proxy/series.conf b/proxy/series.conf index 669d8ca..de4f1f5 100644 --- a/proxy/series.conf +++ b/proxy/series.conf @@ -1,3 +1,4 @@ 0001-clock-synchronizes-clock-info-to-agent.patch 0002-kata-proxy-modify-make-flags.patch 0003-kata-proxy-add-linkmode-to-resolve-build-error.patch +0004-kata-proxy-sw64-add-sw64-architecture-support.patch diff --git a/runtime/patches/0099-kata-runtime-sw64-add-sw64-architecture-support.patch b/runtime/patches/0099-kata-runtime-sw64-add-sw64-architecture-support.patch new file mode 100644 index 0000000..f5914f0 --- /dev/null +++ b/runtime/patches/0099-kata-runtime-sw64-add-sw64-architecture-support.patch @@ -0,0 +1,8237 @@ +From 3977ab2d9d8ccb033d516d4aef405f5b293a3a21 Mon Sep 17 00:00:00 2001 +From: chenwang +Date: Tue, 11 Feb 2025 17:32:07 +0000 +Subject: [PATCH] kata-runtime: sw64: add sw64 architecture support + +Signed-off-by: chenwang +--- + Makefile | 3 + + arch/sw64-options.mk | 14 + + cli/kata-check_sw64.go | 132 + + cli/kill.go | 2 + + cli/kill_sw64.go | 195 ++ + pkg/signals/signals.go | 2 + + pkg/signals/signals_sw64.go | 128 + + .../containerd/fifo/handle_linux.go | 2 +- + .../containerd/fifo/handle_linux_sw64.go | 99 + + vendor/github.com/intel/govmm/qemu/qemu.go | 2 +- + .../libcontainer/system/syscall_linux_64.go | 2 +- + .../vishvananda/netns/netns_linux.go | 1 + + vendor/golang.org/x/sys/unix/asm_linux_sw64.s | 138 + + vendor/golang.org/x/sys/unix/endian_little.go | 2 +- + .../x/sys/unix/syscall_linux_sw64.go | 215 ++ + .../x/sys/unix/zerrors_linux_sw64.go | 2177 ++++++++++++++++ + .../x/sys/unix/zsyscall_linux_sw64.go | 2271 +++++++++++++++++ + .../x/sys/unix/zsysnum_linux_sw64.go | 447 ++++ + .../x/sys/unix/ztypes_linux_sw64.go | 2001 +++++++++++++++ + .../factory/template/sw64-options.mk | 14 + + .../factory/template/template_sw64.go | 16 + + virtcontainers/hypervisor.go | 2 +- + virtcontainers/qemu_arch_base.go | 4 + + virtcontainers/qemu_sw64.go | 98 + + virtcontainers/utils/utils_linux_generic.go | 2 +- + virtcontainers/utils/utils_linux_sw64.go | 18 + + 26 files changed, 7981 insertions(+), 6 deletions(-) + create mode 100644 arch/sw64-options.mk + create mode 100644 cli/kata-check_sw64.go + create mode 100644 cli/kill_sw64.go + create mode 100644 pkg/signals/signals_sw64.go + create mode 100644 vendor/github.com/containerd/fifo/handle_linux_sw64.go + create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_sw64.s + create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_sw64.go + create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_sw64.go + create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_sw64.go + create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_sw64.go + create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_sw64.go + create mode 100644 virtcontainers/factory/template/sw64-options.mk + create mode 100644 virtcontainers/factory/template/template_sw64.go + create mode 100644 virtcontainers/qemu_sw64.go + create mode 100644 virtcontainers/utils/utils_linux_sw64.go + +diff --git a/Makefile b/Makefile +index b71abbf..338afff 100644 +--- a/Makefile ++++ b/Makefile +@@ -29,6 +29,9 @@ else + ifeq ($(ARCH),aarch64) + ARCH = arm64 + endif ++ ifeq ($(ARCH),sw_64) ++ ARCH = sw64 ++ endif + endif + + ARCH_DIR = arch +diff --git a/arch/sw64-options.mk b/arch/sw64-options.mk +new file mode 100644 +index 0000000..b6559dd +--- /dev/null ++++ b/arch/sw64-options.mk +@@ -0,0 +1,14 @@ ++# Copyright (c) 2023 WXIAT ++# ++# SPDX-License-Identifier: Apache-2.0 ++# ++ ++# sw64 settings ++ ++MACHINETYPE := core4 ++KERNELPARAMS := ++MACHINEACCELERATORS := ++CPUFEATURES := pum=off ++ ++QEMUCMD := qemu-system-sw64 ++ +diff --git a/cli/kata-check_sw64.go b/cli/kata-check_sw64.go +new file mode 100644 +index 0000000..8368a44 +--- /dev/null ++++ b/cli/kata-check_sw64.go +@@ -0,0 +1,132 @@ ++// +build sw64 ++ ++// Copyright (c) 2023 ++// ++// SPDX-License-Identifier: Apache-2.0 ++// ++ ++package main ++ ++import ( ++ "fmt" ++ "strings" ++ ++ vc "github.com/kata-containers/runtime/virtcontainers" ++ "github.com/sirupsen/logrus" ++) ++ ++const ( ++ cpuFlagsTag = genericCPUFlagsTag ++ archCPUVendorField = genericCPUVendorField ++ // Example: ++ // processor 0: version = FF, identification = 3FEC87, machine = 2964 ++ archCPUModelField = "Model name" ++) ++ ++// archRequiredCPUFlags maps a CPU flag value to search for and a ++// human-readable description of that value. ++var archRequiredCPUFlags = map[string]string{} ++ ++// archRequiredCPUAttribs maps a CPU (non-CPU flag) attribute value to search for ++// and a human-readable description of that value. ++var archRequiredCPUAttribs = map[string]string{} ++ ++// archRequiredKernelModules maps a required module name to a human-readable ++// description of the modules functionality and an optional list of ++// required module parameters. ++var archRequiredKernelModules = map[string]kernelModule{ ++ "kvm": { ++ desc: "Kernel-based Virtual Machine", ++ required: true, ++ }, ++ "vhost_vsock": { ++ desc: "Host Support for Linux VM Sockets", ++ required: false, ++ }, ++} ++ ++func setCPUtype(hypervisorType vc.HypervisorType) error { ++ return nil ++} ++ ++// kvmIsUsable determines if it will be possible to create a full virtual machine ++// by creating a minimal VM and then deleting it. ++func kvmIsUsable() error { ++ return genericKvmIsUsable() ++} ++ ++func archHostCanCreateVMContainer(hypervisorType vc.HypervisorType) error { ++ return kvmIsUsable() ++} ++ ++// hostIsVMContainerCapable checks to see if the host is theoretically capable ++// of creating a VM container. ++func hostIsVMContainerCapable(details vmContainerCapableDetails) error { ++ ++ _, err := getCPUInfo(details.cpuInfoFile) ++ if err != nil { ++ return err ++ } ++ ++ count, err := checkKernelModules(details.requiredKernelModules, archKernelParamHandler) ++ if err != nil { ++ return err ++ } ++ ++ if count == 0 { ++ return nil ++ } ++ ++ return fmt.Errorf("ERROR: %s", failMessage) ++ ++} ++ ++func archKernelParamHandler(onVMM bool, fields logrus.Fields, msg string) bool { ++ return genericArchKernelParamHandler(onVMM, fields, msg) ++} ++ ++// getSW64CPUDetails returns the cpu information ++func getSwCPUDetails() (vendor, model string, err error) { ++ prefixModel := "model name" ++ cpuinfo, err := getCPUInfo(procCPUInfo) ++ if err != nil { ++ return "", "", err ++ } ++ ++ lines := strings.Split(cpuinfo, "\n") ++ ++ for _, line := range lines { ++ if archCPUVendorField != "" { ++ if strings.HasPrefix(line, archCPUVendorField) { ++ fields := strings.Split(line, ":") ++ if len(fields) > 1 { ++ vendor = strings.TrimSpace(fields[1]) ++ } ++ } ++ } ++ if archCPUModelField != "" { ++ if strings.HasPrefix(line, prefixModel) { ++ fields := strings.Split(strings.TrimSpace(line), ":") ++ cpuModel := strings.Split(fields[1], "CPU") ++ model = strings.TrimSpace(cpuModel[0]) ++ } ++ } ++ } ++ ++ if vendor == "" { ++ return "", "", fmt.Errorf("cannot find vendor field in file %v", procCPUInfo) ++ } ++ ++ if model == "" { ++ return "", "", fmt.Errorf("Error in parsing cpu model from %v", procCPUInfo) ++ } ++ ++ return vendor, model, nil ++} ++ ++func getCPUDetails() (vendor, model string, err error) { ++ if vendor, model, err := genericGetCPUDetails(); err == nil { ++ return vendor, model, nil ++ } ++ return getSwCPUDetails() ++} +diff --git a/cli/kill.go b/cli/kill.go +index b228205..cca936e 100644 +--- a/cli/kill.go ++++ b/cli/kill.go +@@ -1,3 +1,5 @@ ++// +build !sw64 ++ + // Copyright (c) 2014,2015,2016 Docker, Inc. + // Copyright (c) 2017 Intel Corporation + // +diff --git a/cli/kill_sw64.go b/cli/kill_sw64.go +new file mode 100644 +index 0000000..8980d64 +--- /dev/null ++++ b/cli/kill_sw64.go +@@ -0,0 +1,195 @@ ++// +build sw64 ++ ++// Copyright (c) 2014,2015,2016 Docker, Inc. ++// Copyright (c) 2017 ++// ++// SPDX-License-Identifier: Apache-2.0 ++// ++ ++package main ++ ++import ( ++ "context" ++ "fmt" ++ "strconv" ++ "syscall" ++ ++ "github.com/kata-containers/runtime/pkg/katautils" ++ vc "github.com/kata-containers/runtime/virtcontainers" ++ "github.com/kata-containers/runtime/virtcontainers/pkg/oci" ++ "github.com/kata-containers/runtime/virtcontainers/types" ++ "github.com/sirupsen/logrus" ++ "github.com/urfave/cli" ++) ++ ++var killCLICommand = cli.Command{ ++ Name: "kill", ++ Usage: "Kill sends signals to the container's init process", ++ ArgsUsage: ` [signal] ++ ++ is the name for the instance of the container ++ [signal] is the signal to be sent to the init process (default: SIGTERM) ++ ++EXAMPLE: ++ If the container id is "ubuntu01" the following will send a "KILL" signal ++ to the init process of the "ubuntu01" container: ++ ++ # ` + name + ` kill ubuntu01 KILL`, ++ Flags: []cli.Flag{ ++ cli.BoolFlag{ ++ Name: "all, a", ++ Usage: "send the specified signal to all processes inside the container", ++ }, ++ }, ++ Action: func(context *cli.Context) error { ++ ctx, err := cliContextToContext(context) ++ if err != nil { ++ return err ++ } ++ ++ args := context.Args() ++ if !args.Present() { ++ return fmt.Errorf("Missing container ID") ++ } ++ ++ // If signal is provided, it has to be the second argument. ++ signal := args.Get(1) ++ if signal == "" { ++ signal = "SIGTERM" ++ } ++ ++ return kill(ctx, args.First(), signal, context.Bool("all")) ++ }, ++} ++ ++var signalList = map[string]syscall.Signal{ ++ "SIGABRT": syscall.SIGABRT, ++ "SIGALRM": syscall.SIGALRM, ++ "SIGBUS": syscall.SIGBUS, ++ "SIGCHLD": syscall.SIGCHLD, ++ "SIGCLD": syscall.SIGCLD, ++ "SIGCONT": syscall.SIGCONT, ++ "SIGEMT": syscall.SIGEMT, ++ "SIGFPE": syscall.SIGFPE, ++ "SIGHUP": syscall.SIGHUP, ++ "SIGILL": syscall.SIGILL, ++ "SIGINFO": syscall.SIGINFO, ++ "SIGINT": syscall.SIGINT, ++ "SIGIO": syscall.SIGIO, ++ "SIGIOT": syscall.SIGIOT, ++ "SIGKILL": syscall.SIGKILL, ++ "SIGPIPE": syscall.SIGPIPE, ++ "SIGPOLL": syscall.SIGPOLL, ++ "SIGPROF": syscall.SIGPROF, ++ "SIGPWR": syscall.SIGPWR, ++ "SIGQUIT": syscall.SIGQUIT, ++ "SIGSEGV": syscall.SIGSEGV, ++ "SIGSTOP": syscall.SIGSTOP, ++ "SIGSYS": syscall.SIGSYS, ++ "SIGTERM": syscall.SIGTERM, ++ "SIGTRAP": syscall.SIGTRAP, ++ "SIGTSTP": syscall.SIGTSTP, ++ "SIGTTIN": syscall.SIGTTIN, ++ "SIGTTOU": syscall.SIGTTOU, ++ "SIGURG": syscall.SIGURG, ++ "SIGUSR1": syscall.SIGUSR1, ++ "SIGUSR2": syscall.SIGUSR2, ++ "SIGVTALRM": syscall.SIGVTALRM, ++ "SIGWINCH": syscall.SIGWINCH, ++ "SIGXCPU": syscall.SIGXCPU, ++ "SIGXFSZ": syscall.SIGXFSZ, ++} ++ ++func kill(ctx context.Context, containerID, signal string, all bool) error { ++ span, _ := katautils.Trace(ctx, "kill") ++ defer span.Finish() ++ ++ kataLog = kataLog.WithField("container", containerID) ++ setExternalLoggers(ctx, kataLog) ++ span.SetTag("container", containerID) ++ ++ // Checks the MUST and MUST NOT from OCI runtime specification ++ status, sandboxID, err := getExistingContainerInfo(ctx, containerID) ++ ++ if err != nil { ++ return err ++ } ++ ++ containerID = status.ID ++ ++ kataLog = kataLog.WithFields(logrus.Fields{ ++ "container": containerID, ++ "sandbox": sandboxID, ++ }) ++ ++ span.SetTag("container", containerID) ++ span.SetTag("sandbox", sandboxID) ++ ++ setExternalLoggers(ctx, kataLog) ++ ++ signum, err := processSignal(signal) ++ if err != nil { ++ return err ++ } ++ ++ kataLog.WithField("signal", signal).WithField("container state", status.State.State).Info("kill") ++ ++ // container MUST be created, running or paused ++ if status.State.State == types.StateReady || status.State.State == types.StateRunning || status.State.State == types.StatePaused { ++ if err := vci.KillContainer(ctx, sandboxID, containerID, signum, all); err != nil { ++ return err ++ } ++ } else if !all { ++ return fmt.Errorf("container not running") ++ } ++ ++ if signum != syscall.SIGKILL && signum != syscall.SIGTERM { ++ return nil ++ } ++ ++ containerType, err := oci.GetContainerType(status.Annotations) ++ if err != nil { ++ return err ++ } ++ ++ switch containerType { ++ case vc.PodSandbox: ++ _, err = vci.StopSandbox(ctx, sandboxID, signum == syscall.SIGKILL) ++ case vc.PodContainer: ++ _, err = vci.StopContainer(ctx, sandboxID, containerID) ++ default: ++ return fmt.Errorf("Invalid container type found") ++ } ++ ++ return err ++} ++ ++func processSignal(signal string) (syscall.Signal, error) { ++ signum, signalOk := signalList[signal] ++ if signalOk { ++ return signum, nil ++ } ++ ++ // Support for short name signals (INT) ++ signum, signalOk = signalList["SIG"+signal] ++ if signalOk { ++ return signum, nil ++ } ++ ++ // Support for numeric signals ++ s, err := strconv.Atoi(signal) ++ if err != nil { ++ return 0, fmt.Errorf("Failed to convert signal %s to int", signal) ++ } ++ ++ signum = syscall.Signal(s) ++ // Check whether signal is valid or not ++ for _, sig := range signalList { ++ if sig == signum { ++ // signal is a valid signal ++ return signum, nil ++ } ++ } ++ ++ return 0, fmt.Errorf("Signal %s is not supported", signal) ++} +diff --git a/pkg/signals/signals.go b/pkg/signals/signals.go +index a405ad0..1173ad3 100644 +--- a/pkg/signals/signals.go ++++ b/pkg/signals/signals.go +@@ -1,3 +1,5 @@ ++// +build !sw64 ++ + // Copyright 2018 Intel Corporation. + // + // SPDX-License-Identifier: Apache-2.0 +diff --git a/pkg/signals/signals_sw64.go b/pkg/signals/signals_sw64.go +new file mode 100644 +index 0000000..fc0b99e +--- /dev/null ++++ b/pkg/signals/signals_sw64.go +@@ -0,0 +1,128 @@ ++// +build sw64 ++ ++// Copyright 2018 Intel Corporation. ++// ++// SPDX-License-Identifier: Apache-2.0 ++// ++ ++package signals ++ ++import ( ++ "bytes" ++ "fmt" ++ "os" ++ "os/signal" ++ "runtime/pprof" ++ "strings" ++ "syscall" ++ ++ "github.com/sirupsen/logrus" ++) ++ ++var signalLog = logrus.WithField("default-signal-logger", true) ++ ++// CrashOnError causes a coredump to be produced when an internal error occurs ++// or a fatal signal is received. ++var CrashOnError = false ++ ++// List of handled signals. ++// ++// The value is true if receiving the signal should be fatal. ++var handledSignalsMap = map[syscall.Signal]bool{ ++ syscall.SIGABRT: true, ++ syscall.SIGBUS: true, ++ syscall.SIGILL: true, ++ syscall.SIGQUIT: true, ++ syscall.SIGSEGV: true, ++ syscall.SIGSYS: true, ++ syscall.SIGTRAP: true, ++ syscall.SIGUSR1: false, ++} ++ ++// DieCb is the callback function type that needs to be defined for every call ++// into the Die() function. This callback will be run as the first function of ++// the Die() implementation. ++type DieCb func() ++ ++// SetLogger sets the custom logger to be used by this package. If not called, ++// the package will create its own logger. ++func SetLogger(logger *logrus.Entry) { ++ signalLog = logger ++} ++ ++// HandlePanic writes a message to the logger and then calls Die(). ++func HandlePanic(dieCb DieCb) { ++ r := recover() ++ ++ if r != nil { ++ msg := fmt.Sprintf("%s", r) ++ signalLog.WithField("panic", msg).Error("fatal error") ++ ++ Die(dieCb) ++ } ++} ++ ++// Backtrace writes a multi-line backtrace to the logger. ++func Backtrace() { ++ profiles := pprof.Profiles() ++ ++ buf := &bytes.Buffer{} ++ ++ for _, p := range profiles { ++ // The magic number requests a full stacktrace. See ++ // https://golang.org/pkg/runtime/pprof/#Profile.WriteTo. ++ pprof.Lookup(p.Name()).WriteTo(buf, 2) ++ } ++ ++ for _, line := range strings.Split(buf.String(), "\n") { ++ signalLog.Error(line) ++ } ++} ++ ++// FatalSignal returns true if the specified signal should cause the program ++// to abort. ++func FatalSignal(sig syscall.Signal) bool { ++ s, exists := handledSignalsMap[sig] ++ if !exists { ++ return false ++ } ++ ++ return s ++} ++ ++// NonFatalSignal returns true if the specified signal should simply cause the ++// program to Backtrace() but continue running. ++func NonFatalSignal(sig syscall.Signal) bool { ++ s, exists := handledSignalsMap[sig] ++ if !exists { ++ return false ++ } ++ ++ return !s ++} ++ ++// HandledSignals returns a list of signals the package can deal with. ++func HandledSignals() []syscall.Signal { ++ var signals []syscall.Signal ++ ++ for sig := range handledSignalsMap { ++ signals = append(signals, sig) ++ } ++ ++ return signals ++} ++ ++// Die causes a backtrace to be produced. If CrashOnError is set a coredump ++// will be produced, else the program will exit. ++func Die(dieCb DieCb) { ++ dieCb() ++ ++ Backtrace() ++ ++ if CrashOnError { ++ signal.Reset(syscall.SIGABRT) ++ syscall.Kill(0, syscall.SIGABRT) ++ } ++ ++ os.Exit(1) ++} +diff --git a/vendor/github.com/containerd/fifo/handle_linux.go b/vendor/github.com/containerd/fifo/handle_linux.go +index 6ac89b6..5bd3f46 100644 +--- a/vendor/github.com/containerd/fifo/handle_linux.go ++++ b/vendor/github.com/containerd/fifo/handle_linux.go +@@ -1,4 +1,4 @@ +-// +build linux ++// +build linux,!sw64 + + /* + Copyright The containerd Authors. +diff --git a/vendor/github.com/containerd/fifo/handle_linux_sw64.go b/vendor/github.com/containerd/fifo/handle_linux_sw64.go +new file mode 100644 +index 0000000..6290d98 +--- /dev/null ++++ b/vendor/github.com/containerd/fifo/handle_linux_sw64.go +@@ -0,0 +1,99 @@ ++// +build sw64 ++ ++/* ++ Copyright The containerd Authors. ++ ++ 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. ++*/ ++ ++package fifo ++ ++import ( ++ "fmt" ++ "os" ++ "sync" ++ "syscall" ++ ++ "github.com/pkg/errors" ++) ++ ++// O_PATH is 040000000 in sw64 ++const O_PATH = 040000000 ++ ++type handle struct { ++ f *os.File ++ fd uintptr ++ dev uint64 ++ ino uint64 ++ closeOnce sync.Once ++ name string ++} ++ ++func getHandle(fn string) (*handle, error) { ++ f, err := os.OpenFile(fn, O_PATH, 0) ++ ++ if err != nil { ++ return nil, errors.Wrapf(err, "failed to open %v with O_PATH", fn) ++ } ++ ++ var ( ++ stat syscall.Stat_t ++ fd = f.Fd() ++ ) ++ if err := syscall.Fstat(int(fd), &stat); err != nil { ++ f.Close() ++ return nil, errors.Wrapf(err, "failed to stat handle %v", fd) ++ } ++ ++ h := &handle{ ++ f: f, ++ name: fn, ++ dev: uint64(stat.Dev), ++ ino: stat.Ino, ++ fd: fd, ++ } ++ ++ // check /proc just in case ++ if _, err := os.Stat(h.procPath()); err != nil { ++ f.Close() ++ return nil, errors.Wrapf(err, "couldn't stat %v", h.procPath()) ++ } ++ ++ return h, nil ++} ++ ++func (h *handle) procPath() string { ++ return fmt.Sprintf("/proc/self/fd/%d", h.fd) ++} ++ ++func (h *handle) Name() string { ++ return h.name ++} ++ ++func (h *handle) Path() (string, error) { ++ var stat syscall.Stat_t ++ if err := syscall.Stat(h.procPath(), &stat); err != nil { ++ return "", errors.Wrapf(err, "path %v could not be statted", h.procPath()) ++ } ++ if uint64(stat.Dev) != h.dev || stat.Ino != h.ino { ++ return "", errors.Errorf("failed to verify handle %v/%v %v/%v", stat.Dev, h.dev, stat.Ino, h.ino) ++ } ++ return h.procPath(), nil ++} ++ ++func (h *handle) Close() error { ++ h.closeOnce.Do(func() { ++ h.f.Close() ++ }) ++ return nil ++} +diff --git a/vendor/github.com/intel/govmm/qemu/qemu.go b/vendor/github.com/intel/govmm/qemu/qemu.go +index 8739b0d..e593456 100644 +--- a/vendor/github.com/intel/govmm/qemu/qemu.go ++++ b/vendor/github.com/intel/govmm/qemu/qemu.go +@@ -127,7 +127,7 @@ const ( + + func isDimmSupported(config *Config) bool { + switch runtime.GOARCH { +- case "amd64", "386", "arm64": ++ case "amd64", "386", "arm64", "sw64": + return true + default: + return false +diff --git a/vendor/github.com/opencontainers/runc/libcontainer/system/syscall_linux_64.go b/vendor/github.com/opencontainers/runc/libcontainer/system/syscall_linux_64.go +index e05e30a..433c8d0 100644 +--- a/vendor/github.com/opencontainers/runc/libcontainer/system/syscall_linux_64.go ++++ b/vendor/github.com/opencontainers/runc/libcontainer/system/syscall_linux_64.go +@@ -1,5 +1,5 @@ + // +build linux +-// +build arm64 amd64 mips mipsle mips64 mips64le ppc ppc64 ppc64le riscv64 s390x ++// +build arm64 amd64 mips mipsle mips64 mips64le ppc ppc64 ppc64le riscv64 s390x sw64 + + package system + +diff --git a/vendor/github.com/vishvananda/netns/netns_linux.go b/vendor/github.com/vishvananda/netns/netns_linux.go +index a267c71..9cb2ba5 100644 +--- a/vendor/github.com/vishvananda/netns/netns_linux.go ++++ b/vendor/github.com/vishvananda/netns/netns_linux.go +@@ -24,6 +24,7 @@ var SYS_SETNS = map[string]uintptr{ + "ppc64": 350, + "ppc64le": 350, + "s390x": 339, ++ "sw64": 501, + }[runtime.GOARCH] + + // Deprecated: use syscall pkg instead (go >= 1.5 needed). +diff --git a/vendor/golang.org/x/sys/unix/asm_linux_sw64.s b/vendor/golang.org/x/sys/unix/asm_linux_sw64.s +new file mode 100644 +index 0000000..487bb34 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/asm_linux_sw64.s +@@ -0,0 +1,138 @@ ++// 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 linux ++// +build sw64 ++ ++#include "textflag.h" ++ ++// ++// System calls for sw64, Linux ++// ++ ++#define SYSCALL SYS_CALL_B $131 ++ ++//func Syscall(trap int64, a1, a2, a3 int64) (r1, r2, err int64); ++TEXT ·Syscall(SB), NOSPLIT, $0-56 ++ CALL runtime·entersyscall(SB) ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDI R19, ZERO ++ LDI R20, ZERO ++ LDI R21, ZERO ++ LDL R0, trap+0(FP) ++ SYSCALL ++ BEQ R19, ok ++ ++ LDI R1, $-1 ++ STL R1, r1+32(FP) ++ STL ZERO, r2+40(FP) ++ STL R0, err+48(FP) ++ CALL runtime·exitsyscall(SB) ++ RET ++ok: ++ STL R0, r1+32(FP) ++ STL R20, r2+40(FP) ++ STL ZERO, err+48(FP) ++ CALL runtime·exitsyscall(SB) ++ RET ++ ++//func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) ++TEXT ·Syscall6(SB), NOSPLIT, $0-80 ++ CALL runtime·entersyscall(SB) ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDL R19, a4+32(FP) ++ LDL R20, a5+40(FP) ++ LDL R21, a6+48(FP) ++ LDL R0, trap+0(FP) ++ SYSCALL ++ BEQ R19, ok ++ ++ LDI R1, $-1 ++ STL R1, r1+56(FP) ++ STL ZERO, r2+64(FP) ++ STL R0, err+72(FP) ++ CALL runtime·exitsyscall(SB) ++ RET ++ok: ++ STL R0, r1+56(FP) ++ STL R20, r2+64(FP) ++ STL ZERO, err+72(FP) ++ CALL runtime·exitsyscall(SB) ++ RET ++ ++TEXT ·RawSyscall(SB), NOSPLIT, $0-56 ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDI R19, ZERO ++ LDI R20, ZERO ++ LDI R21, ZERO ++ LDL R0, trap+0(FP) ++ SYSCALL ++ BEQ R19, ok ++ ++ LDI R1, $-1 ++ STL R1, r1+32(FP) ++ STL ZERO, r2+40(FP) ++ STL R0, err+48(FP) ++ RET ++ok: ++ STL R0, r1+32(FP) ++ STL R20, r2+40(FP) ++ STL ZERO, err+48(FP) ++ RET ++ ++TEXT ·RawSyscall6(SB),NOSPLIT, $0-80 ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDL R19, a4+32(FP) ++ LDL R20, a5+40(FP) ++ LDL R21, a6+48(FP) ++ LDL R0, trap+0(FP) ++ SYSCALL ++ BEQ R19, ok ++ ++ LDI R1, $-1 ++ STL R1, r1+56(FP) ++ STL ZERO, r2+64(FP) ++ STL R0, err+72(FP) ++ RET ++ok: ++ STL R0, r1+56(FP) ++ STL R20, r2+64(FP) ++ STL ZERO, err+72(FP) ++ RET ++ ++TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 ++ CALL runtime·entersyscall(SB) ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDI R19,ZERO ++ LDI R20, ZERO ++ LDI R21, ZERO ++ LDL R0, trap+0(FP) ++ SYSCALL ++ STL R0, r1+32(FP) ++ STL R20, r1+40(FP) ++ CALL runtime·exitsyscall(SB) ++ RET ++ ++TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDI R19, ZERO ++ LDI R20, ZERO ++ LDI R21, ZERO ++ LDL R0, trap+0(FP) ++ SYSCALL ++ STL R0, r1+32(FP) ++ STL R20, r1+40(FP) ++ RET +diff --git a/vendor/golang.org/x/sys/unix/endian_little.go b/vendor/golang.org/x/sys/unix/endian_little.go +index bcdb5d3..af3cfc1 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 mipsle mips64le riscv64 ++// +build 386 amd64 amd64p32 arm arm64 ppc64le mipsle mips64le riscv64 sw64 + + package unix + +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_sw64.go b/vendor/golang.org/x/sys/unix/syscall_linux_sw64.go +new file mode 100644 +index 0000000..e04dc64 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_sw64.go +@@ -0,0 +1,215 @@ ++// 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 sw64,linux ++ ++package unix ++ ++import ( ++ "syscall" ++) ++ ++const ( ++ //generate by handle ++ TIOCSWINSZ = 0x80087467 ++ TIOCGWINSZ = 0x40087468 ++ ++ //replace ztypes_linux_sw64.go with this ++// 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 ( ++ //ALL OF THIS constants are WORKAROUND, and should be removing ++ _SYS_dup = SYS_DUP2 ++ _SYS_setgroups = SYS_SETGROUPS ++ SYS_UMOUNT2 = SYS_UMOUNT ++ ++ SYS_GETPID = SYS_GETXPID ++ SYS_GETPPID = SYS_GETXPID ++ ++ SYS_COPY_FILE_RANGE = 0 ++ KEYCTL_DH_COMPUTE = -1 ++) ++ ++//sysnb getxpid() (pid int, ppid int) ++// currently manually remove the implements of Getpid and Getppid ++// in zsyscall_linux_sw64.go ++func Getpid() (pid int) { pid, _ = getxpid(); return } ++func Getppid() (ppid int) { _, ppid = getxpid(); return } ++ ++func Utime(path string, buf *Utimbuf) error { ++ tv := [2]Timeval{ ++ {Sec: buf.Actime}, ++ {Sec: buf.Modtime}, ++ } ++ return utimes(path, &tv) ++} ++ ++//sys Fstat64(fd int, st *Stat_t) (err error) ++//sys Lstat64(path string, st *Stat_t) (err error) ++//sys Stat64(path string, st *Stat_t) (err error) ++func Fstat(fd int, st *Stat_t) (err error) { return Fstat64(fd, st) } ++func Lstat(path string, st *Stat_t) (err error) { return Lstat64(path, st) } ++func Stat(path string, st *Stat_t) (err error) { return Stat64(path, st) } ++ ++//sys getxuid() (uid int, euid int) ++func Getuid() (uid int) { uid, _ = getxuid(); return } ++func Geteuid() (euid int) { _, euid = getxuid(); return } ++ ++//sys getxgid() (gid int, egid int) ++func Getgid() (gid int) { gid, _ = getxgid(); return } ++func Getegid() (egid int) { _, egid = getxgid(); return } ++ ++//sys Statfs(path string, buf *Statfs_t) (err error) ++//sys Fstatfs(fd int, buf *Statfs_t) (err error) ++//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) ++//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) ++//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 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 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 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) ++ ++type sigset_t struct { ++ X__val [16]uint64 ++} ++ ++//sys pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *sigset_t) (n int, err error) = SYS_PSELECT6 ++ ++func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { ++ ts := Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} ++ return pselect(nfd, r, w, e, &ts, nil) ++} ++ ++//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 ++} ++ ++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 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 ++} ++ ++// 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) ++} ++ ++func rawVforkSyscall(trap, a1 uintptr) (r1 uintptr, err syscall.Errno) { ++ panic("not implemented") ++} ++ ++//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) ++ ++//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/zerrors_linux_sw64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sw64.go +new file mode 100644 +index 0000000..67317d4 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sw64.go +@@ -0,0 +1,2177 @@ ++// mkerrors.sh ++// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT ++ ++// Created by cgo -godefs - DO NOT EDIT ++// cgo -godefs -- /tmp/_const.go ++ ++// +build sw64,linux ++ ++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 ++ AF_XDP = 0x2c ++ 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 ++ BLKGETSIZE64 = 40081272 ++ BPF_A = 0x10 ++ BPF_ABS = 0x20 ++ BPF_ADD = 0x0 ++ BPF_ALU = 0x4 ++ BPF_AND = 0x50 ++ BPF_B = 0x10 ++ BPF_DEVCG_ACC_MKNOD = 0x1 ++ BPF_DEVCG_ACC_READ = 0x2 ++ BPF_DEVCG_ACC_WRITE = 0x4 ++ BPF_DEVCG_DEV_BLOCK = 0x1 ++ BPF_DEVCG_DEV_CHAR = 0x2 ++ BPF_DIV = 0x30 ++ BPF_F_ALLOW_MULTI = 0x2 ++ 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_OBJ_NAME_LEN = 0x10 ++ BPF_OR = 0x40 ++ BPF_TAG_SIZE = 0x8 ++ 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 ++ CGROUP2_SUPER_MAGIC = 0x63677270 ++ CLOCAL = 0x8000 ++ CLONE_CHILD_CLEARTID = 0x200000 ++ CLONE_CHILD_SETTID = 0x1000000 ++ CLONE_DETACHED = 0x400000 ++ CLONE_FILES = 0x400 ++ CLONE_FS = 0x200 ++ CLONE_IO = 0x80000000 ++ CLONE_NEWCGROUP = 0x0200000 ++ 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 = 0x800 ++ 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 ++ EFD_CLOEXEC = 0x200000 ++ EFD_NONBLOCK = 0x4 ++ EFD_SEMAPHORE = 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 ++ 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 = 0x200000 ++ 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 = 0x10000000 ++ FD_CLOEXEC = 0x1 ++ FD_SETSIZE = 0x400 ++ FLUSHO = 0x800000 ++ F_DUPFD = 0x0 ++ F_DUPFD_CLOEXEC = 0x406 ++ F_EXLCK = 0x10 ++ F_GETFD = 0x1 ++ F_GETFL = 0x3 ++ F_GETLEASE = 0x401 ++ F_GETLK = 0x7 ++ F_GETLK64 = 0x7 ++ F_GETOWN = 0x6 ++ 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 = 0x5 ++ F_SETOWN_EX = 0xf ++ F_SETPIPE_SZ = 0x407 ++ F_SETSIG = 0xa ++ F_SHLCK = 0x20 ++ F_TEST = 0x3 ++ F_TLOCK = 0x2 ++ F_ULOCK = 0x0 ++ F_UNLCK = 0x8 ++ F_WRLCK = 0x2 ++ GRND_NONBLOCK = 0x1 ++ GRND_RANDOM = 0x2 ++ HUPCL = 0x4000 ++ 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_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 = 0x200000 ++ 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 = 0x4 ++ IN_ONESHOT = 0x80000000 ++ IN_ONLYDIR = 0x1000000 ++ IN_OPEN = 0x20 ++ IN_Q_OVERFLOW = 0x4000 ++ IN_UNMOUNT = 0x2000 ++ IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 ++ 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 = 0x80 ++ ISTRIP = 0x20 ++ IUTF8 = 0x4000 ++ IXANY = 0x800 ++ IXOFF = 0x400 ++ IXON = 0x200 ++ KEYCTL_ASSUME_AUTHORITY = 0x10 ++ KEYCTL_CHOWN = 0x4 ++ KEYCTL_CLEAR = 0x7 ++ KEYCTL_DESCRIBE = 0x6 ++ 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_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_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 = 0x6 ++ 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 = 0x10 ++ MAP_ANONYMOUS = 0x10 ++ MAP_DENYWRITE = 0x2000 ++ MAP_EXECUTABLE = 0x4000 ++ MAP_FILE = 0x0 ++ MAP_FIXED = 0x100 ++ MAP_GROWSDOWN = 0x1000 ++ MAP_HUGETLB = 0x100000 ++ MAP_HUGE_MASK = 0x3f ++ MAP_HUGE_SHIFT = 0x1a ++ MAP_LOCKED = 0x8000 ++ MAP_NONBLOCK = 0x40000 ++ MAP_NORESERVE = 0x10000 ++ MAP_POPULATE = 0x20000 ++ MAP_PRIVATE = 0x2 ++ MAP_SHARED = 0x1 ++ MAP_STACK = 0x80000 ++ MAP_TYPE = 0xf ++ MCL_CURRENT = 0x2000 ++ MCL_FUTURE = 0x4000 ++ MCL_ONFAULT = 0x8000 ++ 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_BORN = 0x20000000 ++ MS_DIRSYNC = 0x80 ++ MS_INVALIDATE = 0x4 ++ 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_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_SYNC = 0x2 ++ MS_SYNCHRONOUS = 0x10 ++ MS_UNBINDABLE = 0x20000 ++ MS_VERBOSE = 0x8000 ++ 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 ++ NFDBITS = 0x40 ++ 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 = 0x80000000 ++ OCRNL = 0x8 ++ OFDEL = 0x80 ++ OFILL = 0x40 ++ ONLCR = 0x2 ++ ONLRET = 0x20 ++ ONOCR = 0x10 ++ OPOST = 0x1 ++ O_ACCMODE = 0x3 ++ O_APPEND = 0x8 ++ O_ASYNC = 0x2000 ++ O_CLOEXEC = 0x200000 ++ O_CREAT = 0x200 ++ O_DIRECT = 0x80000 ++ O_DIRECTORY = 0x8000 ++ O_DSYNC = 0x4000 ++ O_EXCL = 0x800 ++ O_FSYNC = 0x404000 ++ O_LARGEFILE = 0x0 ++ O_NDELAY = 0x4 ++ O_NOATIME = 0x100000 ++ O_NOCTTY = 0x1000 ++ O_NOFOLLOW = 0x10000 ++ O_NONBLOCK = 0x4 ++ O_PATH = 0x800000 ++ O_RDONLY = 0x0 ++ O_RDWR = 0x2 ++ O_RSYNC = 0x404000 ++ O_SYNC = 0x404000 ++ O_TMPFILE = 0x1008000 ++ 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 = 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 ++ RLIMIT_MEMLOCK = 0x9 ++ 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_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_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_SEIZE = 0x4206 ++ PTRACE_SETFPREGS = 0xf ++ 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 = 0x7 ++ RLIMIT_CORE = 0x4 ++ RLIMIT_CPU = 0x0 ++ RLIMIT_DATA = 0x2 ++ RLIMIT_FSIZE = 0x1 ++ RLIMIT_NOFILE = 0x6 ++ RLIMIT_STACK = 0x3 ++ RLIM_INFINITY = 0x7fffffffffffffff ++ 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 ++ RTC_SET_TIME = 0x8024700a ++ RTC_RD_TIME = 0x40247009 ++ 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 ++ SELINUX_MAGIC = 0xf97cff8c ++ SHUT_RD = 0x0 ++ SHUT_RDWR = 0x2 ++ SHUT_WR = 0x1 ++ SIOCADDDLCI = 0x8980 ++ SIOCADDMULTI = 0x8931 ++ SIOCADDRT = 0x890b ++ SIOCATMARK = 0x40047307 ++ 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 = 0x40047309 ++ 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 = 0x80047308 ++ SIOCSRARP = 0x8962 ++ SIOCWANDEV = 0x894a ++ SOCK_CLOEXEC = 0x200000 ++ SOCK_DCCP = 0x6 ++ SOCK_DGRAM = 0x2 ++ SOCK_NONBLOCK = 0x40000000 ++ SOCK_PACKET = 0xa ++ SOCK_RAW = 0x3 ++ SOCK_RDM = 0x4 ++ SOCK_SEQPACKET = 0x5 ++ SOCK_STREAM = 0x1 ++ 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 = 0x1014 ++ 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 = 0x100b ++ SO_RCVLOWAT = 0x1010 ++ SO_RCVTIMEO = 0x1012 ++ SO_REUSEADDR = 0x4 ++ SO_REUSEPORT = 0x200 ++ SO_RXQ_OVFL = 0x28 ++ SO_SECURITY_AUTHENTICATION = 0x13 ++ SO_SECURITY_ENCRYPTION_NETWORK = 0x15 ++ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x14 ++ SO_SELECT_ERR_QUEUE = 0x2d ++ SO_SNDBUF = 0x1001 ++ SO_SNDBUFFORCE = 0x100a ++ SO_SNDLOWAT = 0x1011 ++ SO_SNDTIMEO = 0x1013 ++ 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 ++ 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 = 0x2000741f ++ TCGETA = 0x40127417 ++ TCGETS = 0x402c7413 ++ TCIFLUSH = 0x0 ++ TCIOFLUSH = 0x2 ++ TCOFLUSH = 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 ++ TCSETA = 0x80127418 ++ TCSETAF = 0x8012741c ++ TCSETAW = 0x80127419 ++ TCSETS = 0x802c7414 ++ TCSETSF = 0x802c7416 ++ TCSETSW = 0x802c7415 ++ TIOCCBRK = 0x5428 ++ TIOCCONS = 0x541d ++ TIOCEXCL = 0x540c ++ TIOCGDEV = 0x40045432 ++ TIOCGETD = 0x5424 ++ TIOCGEXCL = 0x40045440 ++ TIOCGICOUNT = 0x545d ++ TIOCGLCKTRMIOS = 0x5456 ++ TIOCGPGRP = 0x40047477 ++ TIOCGPKT = 0x40045438 ++ TIOCGPTLCK = 0x40045439 ++ TIOCGPTN = 0x40045430 ++ TIOCGSERIAL = 0x541e ++ TIOCGSID = 0x5429 ++ TIOCGSOFTCAR = 0x5419 ++ 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 ++ TIOCSETD = 0x5423 ++ TIOCSIG = 0x80045436 ++ TIOCSLCKTRMIOS = 0x5457 ++ TIOCSPGRP = 0x80047476 ++ TIOCSPTLCK = 0x80045431 ++ TIOCSSERIAL = 0x541f ++ TIOCSSOFTCAR = 0x541a ++ TIOCSTART = 0x2000746e ++ TIOCSTI = 0x5412 ++ TIOCSTOP = 0x2000746f ++ TIOCVHANGUP = 0x5437 ++ TIPC_SERVICE_ADDR = 0x2 ++ TIPC_SERVICE_RANGE = 0x1 ++ TIPC_SOCKET_ADDR = 0x3 ++ TOSTOP = 0x400000 ++ 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 = 0xf ++ VEOF = 0x0 ++ VEOL = 0x1 ++ VEOL2 = 0x2 ++ VERASE = 0x3 ++ VINTR = 0x8 ++ VKILL = 0x5 ++ VLNEXT = 0xe ++ VMADDR_PORT_ANY = 0xffffffff ++ VMIN = 0x10 ++ VQUIT = 0x9 ++ VREPRINT = 0x6 ++ VSTART = 0xc ++ VSTOP = 0xd ++ VSUSP = 0xa ++ VSWTC = 0x7 ++ VT0 = 0x0 ++ VT1 = 0x10000 ++ VTDLY = 0x10000 ++ VTIME = 0x11 ++ VWERASE = 0x4 ++ 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(0x30) ++ EADDRNOTAVAIL = syscall.Errno(0x31) ++ EADV = syscall.Errno(0x6b) ++ EAFNOSUPPORT = syscall.Errno(0x2f) ++ EAGAIN = syscall.Errno(0x23) ++ EALREADY = syscall.Errno(0x25) ++ EBADE = syscall.Errno(0x61) ++ EBADF = syscall.Errno(0x9) ++ EBADFD = syscall.Errno(0x72) ++ EBADMSG = syscall.Errno(0x54) ++ EBADR = syscall.Errno(0x62) ++ EBADRQC = syscall.Errno(0x65) ++ EBADSLT = syscall.Errno(0x66) ++ EBFONT = syscall.Errno(0x68) ++ EBUSY = syscall.Errno(0x10) ++ ECANCELED = syscall.Errno(0x83) ++ ECHILD = syscall.Errno(0xa) ++ ECHRNG = syscall.Errno(0x58) ++ ECOMM = syscall.Errno(0x6d) ++ ECONNABORTED = syscall.Errno(0x35) ++ ECONNREFUSED = syscall.Errno(0x3d) ++ ECONNRESET = syscall.Errno(0x36) ++ EDEADLK = syscall.Errno(0xb) ++ EDEADLOCK = syscall.Errno(0xb) ++ EDESTADDRREQ = syscall.Errno(0x27) ++ EDOM = syscall.Errno(0x21) ++ EDOTDOT = syscall.Errno(0x6f) ++ 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(0x8b) ++ EIDRM = syscall.Errno(0x51) ++ EILSEQ = syscall.Errno(0x74) ++ 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(0x85) ++ EKEYREJECTED = syscall.Errno(0x87) ++ EKEYREVOKED = syscall.Errno(0x86) ++ EL2HLT = syscall.Errno(0x60) ++ EL2NSYNC = syscall.Errno(0x59) ++ EL3HLT = syscall.Errno(0x5a) ++ EL3RST = syscall.Errno(0x5b) ++ ELIBACC = syscall.Errno(0x7a) ++ ELIBBAD = syscall.Errno(0x7b) ++ ELIBEXEC = syscall.Errno(0x7e) ++ ELIBMAX = syscall.Errno(0x7d) ++ ELIBSCN = syscall.Errno(0x7c) ++ ELNRNG = syscall.Errno(0x5d) ++ ELOOP = syscall.Errno(0x3e) ++ EMEDIUMTYPE = syscall.Errno(0x82) ++ EMFILE = syscall.Errno(0x18) ++ EMLINK = syscall.Errno(0x1f) ++ EMSGSIZE = syscall.Errno(0x28) ++ EMULTIHOP = syscall.Errno(0x6e) ++ 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(0x64) ++ ENOBUFS = syscall.Errno(0x37) ++ ENOCSI = syscall.Errno(0x5f) ++ ENODATA = syscall.Errno(0x56) ++ ENODEV = syscall.Errno(0x13) ++ ENOENT = syscall.Errno(0x2) ++ ENOEXEC = syscall.Errno(0x8) ++ ENOKEY = syscall.Errno(0x84) ++ ENOLCK = syscall.Errno(0x4d) ++ ENOLINK = syscall.Errno(0x6a) ++ ENOMEDIUM = syscall.Errno(0x81) ++ ENOMEM = syscall.Errno(0xc) ++ ENOMSG = syscall.Errno(0x50) ++ ENONET = syscall.Errno(0x69) ++ ENOPKG = syscall.Errno(0x5c) ++ ENOPROTOOPT = syscall.Errno(0x2a) ++ ENOSPC = syscall.Errno(0x1c) ++ ENOSR = syscall.Errno(0x52) ++ ENOSTR = syscall.Errno(0x57) ++ ENOSYS = syscall.Errno(0x4e) ++ ENOTBLK = syscall.Errno(0xf) ++ ENOTCONN = syscall.Errno(0x39) ++ ENOTDIR = syscall.Errno(0x14) ++ ENOTEMPTY = syscall.Errno(0x42) ++ ENOTNAM = syscall.Errno(0x76) ++ ENOTRECOVERABLE = syscall.Errno(0x89) ++ ENOTSOCK = syscall.Errno(0x26) ++ ENOTSUP = syscall.Errno(0x2d) ++ ENOTTY = syscall.Errno(0x19) ++ ENOTUNIQ = syscall.Errno(0x71) ++ ENXIO = syscall.Errno(0x6) ++ EOPNOTSUPP = syscall.Errno(0x2d) ++ EOVERFLOW = syscall.Errno(0x70) ++ EOWNERDEAD = syscall.Errno(0x88) ++ EPERM = syscall.Errno(0x1) ++ EPFNOSUPPORT = syscall.Errno(0x2e) ++ EPIPE = syscall.Errno(0x20) ++ EPROTO = syscall.Errno(0x55) ++ EPROTONOSUPPORT = syscall.Errno(0x2b) ++ EPROTOTYPE = syscall.Errno(0x29) ++ ERANGE = syscall.Errno(0x22) ++ EREMCHG = syscall.Errno(0x73) ++ EREMOTE = syscall.Errno(0x47) ++ EREMOTEIO = syscall.Errno(0x79) ++ ERESTART = syscall.Errno(0x7f) ++ ERFKILL = syscall.Errno(0x8a) ++ EROFS = syscall.Errno(0x1e) ++ ESHUTDOWN = syscall.Errno(0x3a) ++ ESOCKTNOSUPPORT = syscall.Errno(0x2c) ++ ESPIPE = syscall.Errno(0x1d) ++ ESRCH = syscall.Errno(0x3) ++ ESRMNT = syscall.Errno(0x6c) ++ ESTALE = syscall.Errno(0x46) ++ ESTRPIPE = syscall.Errno(0x80) ++ ETIME = syscall.Errno(0x53) ++ ETIMEDOUT = syscall.Errno(0x3c) ++ ETOOMANYREFS = syscall.Errno(0x3b) ++ ETXTBSY = syscall.Errno(0x1a) ++ EUCLEAN = syscall.Errno(0x75) ++ EUNATCH = syscall.Errno(0x5e) ++ EUSERS = syscall.Errno(0x44) ++ EWOULDBLOCK = syscall.Errno(0x23) ++ EXDEV = syscall.Errno(0x12) ++ EXFULL = syscall.Errno(0x63) ++) ++ ++// 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) ++ SIGINFO = syscall.Signal(0x1d) ++ SIGINT = syscall.Signal(0x2) ++ SIGIO = syscall.Signal(0x17) ++ SIGIOT = syscall.Signal(0x6) ++ SIGKILL = syscall.Signal(0x9) ++ 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 deadlock avoided", ++ 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 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", ++ 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", ++ 68: "too many users", ++ 69: "disk quota exceeded", ++ 70: "stale file handle", ++ 71: "object is remote", ++ 77: "no locks available", ++ 78: "function not implemented", ++ 80: "no message of desired type", ++ 81: "identifier removed", ++ 82: "out of streams resources", ++ 83: "timer expired", ++ 84: "bad message", ++ 85: "protocol error", ++ 86: "no data available", ++ 87: "device not a stream", ++ 88: "channel number out of range", ++ 89: "level 2 not synchronized", ++ 90: "level 3 halted", ++ 91: "level 3 reset", ++ 92: "package not installed", ++ 93: "link number out of range", ++ 94: "protocol driver not attached", ++ 95: "no CSI structure available", ++ 96: "level 2 halted", ++ 97: "invalid exchange", ++ 98: "invalid request descriptor", ++ 99: "exchange full", ++ 100: "no anode", ++ 101: "invalid request code", ++ 102: "invalid slot", ++ 104: "bad font file format", ++ 105: "machine is not on the network", ++ 106: "link has been severed", ++ 107: "advertise error", ++ 108: "srmount error", ++ 109: "communication error on send", ++ 110: "multihop attempted", ++ 111: "RFS specific error", ++ 112: "value too large for defined data type", ++ 113: "name not unique on network", ++ 114: "file descriptor in bad state", ++ 115: "remote address changed", ++ 116: "invalid or incomplete multibyte or wide character", ++ 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: "can not access a needed shared library", ++ 123: "accessing a corrupted shared library", ++ 124: ".lib section in a.out corrupted", ++ 125: "attempting to link in too many shared libraries", ++ 126: "cannot exec a shared library directly", ++ 127: "interrupted system call should be restarted", ++ 128: "streams pipe error", ++ 129: "no medium found", ++ 130: "wrong medium type", ++ 131: "operation canceled", ++ 132: "required key not available", ++ 133: "key has expired", ++ 134: "key has been revoked", ++ 135: "key was rejected by service", ++ 136: "owner died", ++ 137: "state not recoverable", ++ 138: "operation not possible due to RF-kill", ++ 139: "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: "information request", ++ 30: "user defined signal 1", ++ 31: "user defined signal 2", ++} ++// 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, "ENOMSG", "no message of desired type"}, ++ {36, "EIDRM", "identifier removed"}, ++ {37, "ECHRNG", "channel number out of range"}, ++ {38, "EL2NSYNC", "level 2 not synchronized"}, ++ {39, "EL3HLT", "level 3 halted"}, ++ {40, "EL3RST", "level 3 reset"}, ++ {41, "ELNRNG", "link number out of range"}, ++ {42, "EUNATCH", "protocol driver not attached"}, ++ {43, "ENOCSI", "no CSI structure available"}, ++ {44, "EL2HLT", "level 2 halted"}, ++ {45, "EDEADLK", "resource deadlock avoided"}, ++ {46, "ENOLCK", "no locks available"}, ++ {50, "EBADE", "invalid exchange"}, ++ {51, "EBADR", "invalid request descriptor"}, ++ {52, "EXFULL", "exchange full"}, ++ {53, "ENOANO", "no anode"}, ++ {54, "EBADRQC", "invalid request code"}, ++ {55, "EBADSLT", "invalid slot"}, ++ {56, "EDEADLOCK", "file locking deadlock error"}, ++ {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"}, ++ {73, "EDOTDOT", "RFS specific error"}, ++ {74, "EMULTIHOP", "multihop attempted"}, ++ {77, "EBADMSG", "bad message"}, ++ {78, "ENAMETOOLONG", "file name too long"}, ++ {79, "EOVERFLOW", "value too large for defined data type"}, ++ {80, "ENOTUNIQ", "name not unique on network"}, ++ {81, "EBADFD", "file descriptor in bad state"}, ++ {82, "EREMCHG", "remote address changed"}, ++ {83, "ELIBACC", "can not access a needed shared library"}, ++ {84, "ELIBBAD", "accessing a corrupted shared library"}, ++ {85, "ELIBSCN", ".lib section in a.out corrupted"}, ++ {86, "ELIBMAX", "attempting to link in too many shared libraries"}, ++ {87, "ELIBEXEC", "cannot exec a shared library directly"}, ++ {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, ++ {89, "ENOSYS", "function not implemented"}, ++ {90, "ELOOP", "too many levels of symbolic links"}, ++ {91, "ERESTART", "interrupted system call should be restarted"}, ++ {92, "ESTRPIPE", "streams pipe error"}, ++ {93, "ENOTEMPTY", "directory not empty"}, ++ {94, "EUSERS", "too many users"}, ++ {95, "ENOTSOCK", "socket operation on non-socket"}, ++ {96, "EDESTADDRREQ", "destination address required"}, ++ {97, "EMSGSIZE", "message too long"}, ++ {98, "EPROTOTYPE", "protocol wrong type for socket"}, ++ {99, "ENOPROTOOPT", "protocol not available"}, ++ {120, "EPROTONOSUPPORT", "protocol not supported"}, ++ {121, "ESOCKTNOSUPPORT", "socket type not supported"}, ++ {122, "ENOTSUP", "operation not supported"}, ++ {123, "EPFNOSUPPORT", "protocol family not supported"}, ++ {124, "EAFNOSUPPORT", "address family not supported by protocol"}, ++ {125, "EADDRINUSE", "address already in use"}, ++ {126, "EADDRNOTAVAIL", "cannot assign requested address"}, ++ {127, "ENETDOWN", "network is down"}, ++ {128, "ENETUNREACH", "network is unreachable"}, ++ {129, "ENETRESET", "network dropped connection on reset"}, ++ {130, "ECONNABORTED", "software caused connection abort"}, ++ {131, "ECONNRESET", "connection reset by peer"}, ++ {132, "ENOBUFS", "no buffer space available"}, ++ {133, "EISCONN", "transport endpoint is already connected"}, ++ {134, "ENOTCONN", "transport endpoint is not connected"}, ++ {135, "EUCLEAN", "structure needs cleaning"}, ++ {137, "ENOTNAM", "not a XENIX named type file"}, ++ {138, "ENAVAIL", "no XENIX semaphores available"}, ++ {139, "EISNAM", "is a named type file"}, ++ {140, "EREMOTEIO", "remote I/O error"}, ++ {141, "EINIT", "unknown error 141"}, ++ {142, "EREMDEV", "unknown error 142"}, ++ {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, ++ {144, "ETOOMANYREFS", "too many references: cannot splice"}, ++ {145, "ETIMEDOUT", "connection timed out"}, ++ {146, "ECONNREFUSED", "connection refused"}, ++ {147, "EHOSTDOWN", "host is down"}, ++ {148, "EHOSTUNREACH", "no route to host"}, ++ {149, "EALREADY", "operation already in progress"}, ++ {150, "EINPROGRESS", "operation now in progress"}, ++ {151, "ESTALE", "stale file handle"}, ++ {158, "ECANCELED", "operation canceled"}, ++ {159, "ENOMEDIUM", "no medium found"}, ++ {160, "EMEDIUMTYPE", "wrong medium type"}, ++ {161, "ENOKEY", "required key not available"}, ++ {162, "EKEYEXPIRED", "key has expired"}, ++ {163, "EKEYREVOKED", "key has been revoked"}, ++ {164, "EKEYREJECTED", "key was rejected by service"}, ++ {165, "EOWNERDEAD", "owner died"}, ++ {166, "ENOTRECOVERABLE", "state not recoverable"}, ++ {167, "ERFKILL", "operation not possible due to RF-kill"}, ++ {168, "EHWPOISON", "memory page has hardware error"}, ++ {1133, "EDQUOT", "disk quota exceeded"}, ++} ++ ++// 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, "SIGEMT", "EMT trap"}, ++ {8, "SIGFPE", "floating point exception"}, ++ {9, "SIGKILL", "killed"}, ++ {10, "SIGBUS", "bus error"}, ++ {11, "SIGSEGV", "segmentation fault"}, ++ {12, "SIGSYS", "bad system call"}, ++ {13, "SIGPIPE", "broken pipe"}, ++ {14, "SIGALRM", "alarm clock"}, ++ {15, "SIGTERM", "terminated"}, ++ {16, "SIGURG", "urgent I/O condition"}, ++ {17, "SIGSTOP", "stopped (signal)"}, ++ {18, "SIGTSTP", "stopped"}, ++ {19, "SIGCONT", "continued"}, ++ {20, "SIGCHLD", "child exited"}, ++ {21, "SIGTTIN", "stopped (tty input)"}, ++ {22, "SIGTTOU", "stopped (tty output)"}, ++ {23, "SIGIO", "I/O possible"}, ++ {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, "SIGINFO", "power failure"}, ++ {30, "SIGUSR1", "user defined signal 1"}, ++ {31, "SIGUSR2", "user defined signal 2"}, ++} +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_sw64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sw64.go +new file mode 100644 +index 0000000..dbbd5be +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sw64.go +@@ -0,0 +1,2271 @@ ++// mksyscall.pl -tags linux,sw64 syscall_linux.go syscall_linux_sw64.go ++// Code generated by the command above; see README.md. DO NOT EDIT. ++ ++// +build linux,sw64 ++ ++package unix ++ ++import ( ++ "syscall" ++ "unsafe" ++) ++ ++var _ syscall.Errno ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func fchmodat(dirfd int, path string, mode uint32) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_FCHMODAT, 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 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 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 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 string, times *[2]Timeval) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_FUTIMESAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), 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 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 keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(keyType) ++ if err != nil { ++ return ++ } ++ var _p1 *byte ++ _p1, err = BytePtrFromString(restriction) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), 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 keyctlRestrictKeyring(cmd int, arg2 int) (err error) { ++ _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 0) ++ 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 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 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 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 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 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 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 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 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 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 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 signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { ++ r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) ++ newfd = int(r0) ++ 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 readv(fd int, iovs []Iovec) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall(SYS_READV, uintptr(fd), uintptr(_p0), uintptr(len(iovs))) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func writev(fd int, iovs []Iovec) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall(SYS_WRITEV, uintptr(fd), uintptr(_p0), uintptr(len(iovs))) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func preadv(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PREADV, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 pwritev(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PWRITEV, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 preadv2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PREADV2, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 pwritev2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PWRITEV2, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 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 faccessat(dirfd int, path string, mode uint32) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_FACCESSAT, 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 nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(pathname) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall6(SYS_NAME_TO_HANDLE_AT, uintptr(dirFD), uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(fh)), uintptr(unsafe.Pointer(mountID)), uintptr(flags), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) { ++ r0, _, e1 := Syscall(SYS_OPEN_BY_HANDLE_AT, uintptr(mountFD), uintptr(unsafe.Pointer(fh)), uintptr(flags)) ++ fd = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getxpid() (pid int, ppid int) { ++ r0, r1, _ := RawSyscall(SYS_GETXPID, 0, 0, 0) ++ pid = int(r0) ++ ppid = int(r1) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fstat64(fd int, st *Stat_t) (err error) { ++ _, _, e1 := Syscall(SYS_FSTAT64, 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 Lstat64(path string, st *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(st)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Stat64(path string, st *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(st)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getxuid() (uid int, euid int) { ++ r0, r1, _ := Syscall(SYS_GETXUID, 0, 0, 0) ++ uid = int(r0) ++ euid = int(r1) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getxgid() (gid int, egid int) { ++ r0, r1, _ := Syscall(SYS_GETXGID, 0, 0, 0) ++ gid = int(r0) ++ egid = int(r1) ++ 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 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 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 := 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 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 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 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 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 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 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 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 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 ++} ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++/* ++func Faccessat(dirfd int, path string, mode uint32) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_FACCESSAT, 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 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 ++} ++ +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sw64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sw64.go +new file mode 100644 +index 0000000..ae66436 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sw64.go +@@ -0,0 +1,447 @@ ++// mksysnum_linux.pl /usr/sw/swgcc530-sw6-cross/usr/include/asm/unistd.h ++// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT ++ ++// +build sw64,linux ++ ++package unix ++ ++const ( ++ SYS_OSF_SYSCALL = 0 ++ SYS_EXIT = 1 ++ SYS_FORK = 2 ++ SYS_READ = 3 ++ SYS_WRITE = 4 ++ SYS_OSF_OLD_OPEN = 5 ++ SYS_CLOSE = 6 ++ SYS_OSF_WAIT4 = 7 ++ SYS_OSF_OLD_CREAT = 8 ++ SYS_LINK = 9 ++ SYS_UNLINK = 10 ++ SYS_OSF_EXECVE = 11 ++ SYS_CHDIR = 12 ++ SYS_FCHDIR = 13 ++ SYS_MKNOD = 14 ++ SYS_CHMOD = 15 ++ SYS_CHOWN = 16 ++ SYS_BRK = 17 ++ SYS_OSF_GETFSSTAT = 18 ++ SYS_LSEEK = 19 ++ SYS_GETXPID = 20 ++ SYS_OSF_MOUNT = 21 ++ SYS_UMOUNT = 22 ++ SYS_SETUID = 23 ++ SYS_GETXUID = 24 ++ SYS_EXEC_WITH_LOADER = 25 ++ SYS_PTRACE = 26 ++ SYS_OSF_NRECVMSG = 27 ++ SYS_OSF_NSENDMSG = 28 ++ SYS_OSF_NRECVFROM = 29 ++ SYS_OSF_NACCEPT = 30 ++ SYS_OSF_NGETPEERNAME = 31 ++ SYS_OSF_NGETSOCKNAME = 32 ++ SYS_ACCESS = 33 ++ SYS_OSF_CHFLAGS = 34 ++ SYS_OSF_FCHFLAGS = 35 ++ SYS_SYNC = 36 ++ SYS_KILL = 37 ++ SYS_OSF_OLD_STAT = 38 ++ SYS_SETPGID = 39 ++ SYS_OSF_OLD_LSTAT = 40 ++ SYS_DUP = 41 ++ SYS_PIPE = 42 ++ SYS_OSF_SET_PROGRAM_ATTRIBUTES = 43 ++ SYS_OSF_PROFIL = 44 ++ SYS_OPEN = 45 ++ SYS_OSF_OLD_SIGACTION = 46 ++ SYS_GETXGID = 47 ++ SYS_OSF_SIGPROCMASK = 48 ++ SYS_OSF_GETLOGIN = 49 ++ SYS_OSF_SETLOGIN = 50 ++ SYS_ACCT = 51 ++ SYS_SIGPENDING = 52 ++ SYS_IOCTL = 54 ++ SYS_OSF_REBOOT = 55 ++ SYS_OSF_REVOKE = 56 ++ SYS_SYMLINK = 57 ++ SYS_READLINK = 58 ++ SYS_EXECVE = 59 ++ SYS_UMASK = 60 ++ SYS_CHROOT = 61 ++ SYS_OSF_OLD_FSTAT = 62 ++ SYS_GETPGRP = 63 ++ SYS_GETPAGESIZE = 64 ++ SYS_OSF_MREMAP = 65 ++ SYS_VFORK = 66 ++ SYS_STAT = 67 ++ SYS_LSTAT = 68 ++ SYS_OSF_SBRK = 69 ++ SYS_OSF_SSTK = 70 ++ SYS_MMAP = 71 ++ SYS_OSF_OLD_VADVISE = 72 ++ SYS_MUNMAP = 73 ++ SYS_MPROTECT = 74 ++ SYS_MADVISE = 75 ++ SYS_VHANGUP = 76 ++ SYS_OSF_KMODCALL = 77 ++ SYS_OSF_MINCORE = 78 ++ SYS_GETGROUPS = 79 ++ SYS_SETGROUPS = 80 ++ SYS_OSF_OLD_GETPGRP = 81 ++ SYS_SETPGRP = 82 ++ SYS_OSF_SETITIMER = 83 ++ SYS_OSF_OLD_WAIT = 84 ++ SYS_OSF_TABLE = 85 ++ SYS_OSF_GETITIMER = 86 ++ SYS_GETHOSTNAME = 87 ++ SYS_SETHOSTNAME = 88 ++ SYS_GETDTABLESIZE = 89 ++ SYS_DUP2 = 90 ++ SYS_FSTAT = 91 ++ SYS_FCNTL = 92 ++ SYS_OSF_SELECT = 93 ++ SYS_POLL = 94 ++ SYS_FSYNC = 95 ++ SYS_SETPRIORITY = 96 ++ SYS_SOCKET = 97 ++ SYS_CONNECT = 98 ++ SYS_ACCEPT = 99 ++ SYS_GETPRIORITY = 100 ++ SYS_SEND = 101 ++ SYS_RECV = 102 ++ SYS_SIGRETURN = 103 ++ SYS_BIND = 104 ++ SYS_SETSOCKOPT = 105 ++ SYS_LISTEN = 106 ++ SYS_OSF_PLOCK = 107 ++ SYS_OSF_OLD_SIGVEC = 108 ++ SYS_OSF_OLD_SIGBLOCK = 109 ++ SYS_OSF_OLD_SIGSETMASK = 110 ++ SYS_SIGSUSPEND = 111 ++ SYS_OSF_SIGSTACK = 112 ++ SYS_RECVMSG = 113 ++ SYS_SENDMSG = 114 ++ SYS_OSF_OLD_VTRACE = 115 ++ SYS_OSF_GETTIMEOFDAY = 116 ++ SYS_OSF_GETRUSAGE = 117 ++ SYS_GETSOCKOPT = 118 ++ SYS_READV = 120 ++ SYS_WRITEV = 121 ++ SYS_OSF_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_SETGID = 132 ++ SYS_SENDTO = 133 ++ SYS_SHUTDOWN = 134 ++ SYS_SOCKETPAIR = 135 ++ SYS_MKDIR = 136 ++ SYS_RMDIR = 137 ++ SYS_OSF_UTIMES = 138 ++ SYS_OSF_OLD_SIGRETURN = 139 ++ SYS_OSF_ADJTIME = 140 ++ SYS_GETPEERNAME = 141 ++ SYS_OSF_GETHOSTID = 142 ++ SYS_OSF_SETHOSTID = 143 ++ SYS_GETRLIMIT = 144 ++ SYS_SETRLIMIT = 145 ++ SYS_OSF_OLD_KILLPG = 146 ++ SYS_SETSID = 147 ++ SYS_QUOTACTL = 148 ++ SYS_OSF_OLDQUOTA = 149 ++ SYS_GETSOCKNAME = 150 ++ SYS_OSF_PID_BLOCK = 153 ++ SYS_OSF_PID_UNBLOCK = 154 ++ SYS_SIGACTION = 156 ++ SYS_OSF_SIGWAITPRIM = 157 ++ SYS_OSF_NFSSVC = 158 ++ SYS_OSF_GETDIRENTRIES = 159 ++ SYS_OSF_STATFS = 160 ++ SYS_OSF_FSTATFS = 161 ++ SYS_OSF_ASYNCH_DAEMON = 163 ++ SYS_OSF_GETFH = 164 ++ SYS_OSF_GETDOMAINNAME = 165 ++ SYS_SETDOMAINNAME = 166 ++ SYS_OSF_EXPORTFS = 169 ++ SYS_BPF = 170 ++ SYS_OSF_ALT_PLOCK = 181 ++ SYS_OSF_GETMNT = 184 ++ SYS_OSF_ALT_SIGPENDING = 187 ++ SYS_OSF_ALT_SETSID = 188 ++ SYS_OSF_SWAPON = 199 ++ SYS_MSGCTL = 200 ++ SYS_MSGGET = 201 ++ SYS_MSGRCV = 202 ++ SYS_MSGSND = 203 ++ SYS_SEMCTL = 204 ++ SYS_SEMGET = 205 ++ SYS_SEMOP = 206 ++ SYS_OSF_UTSNAME = 207 ++ SYS_LCHOWN = 208 ++ SYS_OSF_SHMAT = 209 ++ SYS_SHMCTL = 210 ++ SYS_SHMDT = 211 ++ SYS_SHMGET = 212 ++ SYS_OSF_MVALID = 213 ++ SYS_OSF_GETADDRESSCONF = 214 ++ SYS_OSF_MSLEEP = 215 ++ SYS_OSF_MWAKEUP = 216 ++ SYS_MSYNC = 217 ++ SYS_OSF_SIGNAL = 218 ++ SYS_OSF_UTC_GETTIME = 219 ++ SYS_OSF_UTC_ADJTIME = 220 ++ SYS_OSF_SECURITY = 222 ++ SYS_OSF_KLOADCALL = 223 ++ SYS_OSF_STAT = 224 ++ SYS_OSF_LSTAT = 225 ++ SYS_OSF_FSTAT = 226 ++ SYS_OSF_STATFS64 = 227 ++ SYS_OSF_FSTATFS64 = 228 ++ SYS_GETPGID = 233 ++ SYS_GETSID = 234 ++ SYS_SIGALTSTACK = 235 ++ SYS_OSF_WAITID = 236 ++ SYS_OSF_PRIOCNTLSET = 237 ++ SYS_OSF_SIGSENDSET = 238 ++ SYS_OSF_SET_SPECULATIVE = 239 ++ SYS_OSF_MSFS_SYSCALL = 240 ++ SYS_OSF_SYSINFO = 241 ++ SYS_OSF_UADMIN = 242 ++ SYS_OSF_FUSER = 243 ++ SYS_OSF_PROPLIST_SYSCALL = 244 ++ SYS_OSF_NTP_ADJTIME = 245 ++ SYS_OSF_NTP_GETTIME = 246 ++ SYS_OSF_PATHCONF = 247 ++ SYS_OSF_FPATHCONF = 248 ++ SYS_OSF_USWITCH = 250 ++ SYS_OSF_USLEEP_THREAD = 251 ++ SYS_OSF_AUDCNTL = 252 ++ SYS_OSF_AUDGEN = 253 ++ SYS_SYSFS = 254 ++ SYS_OSF_SUBSYS_INFO = 255 ++ SYS_OSF_GETSYSINFO = 256 ++ SYS_OSF_SETSYSINFO = 257 ++ SYS_OSF_AFS_SYSCALL = 258 ++ SYS_OSF_SWAPCTL = 259 ++ SYS_OSF_MEMCNTL = 260 ++ SYS_OSF_FDATASYNC = 261 ++ SYS_BDFLUSH = 300 ++ SYS_SETHAE = 301 ++ SYS_MOUNT = 302 ++ SYS_OLD_ADJTIMEX = 303 ++ SYS_SWAPOFF = 304 ++ SYS_GETDENTS = 305 ++ SYS_CREATE_MODULE = 306 ++ SYS_INIT_MODULE = 307 ++ SYS_DELETE_MODULE = 308 ++ SYS_GET_KERNEL_SYMS = 309 ++ SYS_SYSLOG = 310 ++ SYS_REBOOT = 311 ++ SYS_CLONE = 312 ++ SYS_USELIB = 313 ++ SYS_MLOCK = 314 ++ SYS_MUNLOCK = 315 ++ SYS_MLOCKALL = 316 ++ SYS_MUNLOCKALL = 317 ++ SYS_SYSINFO = 318 ++ SYS__SYSCTL = 319 ++ SYS_OLDUMOUNT = 321 ++ SYS_SWAPON = 322 ++ SYS_TIMES = 323 ++ SYS_PERSONALITY = 324 ++ SYS_SETFSUID = 325 ++ SYS_SETFSGID = 326 ++ SYS_USTAT = 327 ++ SYS_STATFS = 328 ++ SYS_FSTATFS = 329 ++ SYS_SCHED_SETPARAM = 330 ++ SYS_SCHED_GETPARAM = 331 ++ SYS_SCHED_SETSCHEDULER = 332 ++ SYS_SCHED_GETSCHEDULER = 333 ++ SYS_SCHED_YIELD = 334 ++ SYS_SCHED_GET_PRIORITY_MAX = 335 ++ SYS_SCHED_GET_PRIORITY_MIN = 336 ++ SYS_SCHED_RR_GET_INTERVAL = 337 ++ SYS_AFS_SYSCALL = 338 ++ SYS_UNAME = 339 ++ SYS_NANOSLEEP = 340 ++ SYS_MREMAP = 341 ++ SYS_NFSSERVCTL = 342 ++ SYS_SETRESUID = 343 ++ SYS_GETRESUID = 344 ++ SYS_PCICONFIG_READ = 345 ++ SYS_PCICONFIG_WRITE = 346 ++ SYS_QUERY_MODULE = 347 ++ SYS_PRCTL = 348 ++ SYS_PREAD64 = 349 ++ SYS_PWRITE64 = 350 ++ SYS_RT_SIGRETURN = 351 ++ SYS_RT_SIGACTION = 352 ++ SYS_RT_SIGPROCMASK = 353 ++ SYS_RT_SIGPENDING = 354 ++ SYS_RT_SIGTIMEDWAIT = 355 ++ SYS_RT_SIGQUEUEINFO = 356 ++ SYS_RT_SIGSUSPEND = 357 ++ SYS_SELECT = 358 ++ SYS_GETTIMEOFDAY = 359 ++ SYS_SETTIMEOFDAY = 360 ++ SYS_GETITIMER = 361 ++ SYS_SETITIMER = 362 ++ SYS_UTIMES = 363 ++ SYS_GETRUSAGE = 364 ++ SYS_WAIT4 = 365 ++ SYS_ADJTIMEX = 366 ++ SYS_GETCWD = 367 ++ SYS_CAPGET = 368 ++ SYS_CAPSET = 369 ++ SYS_SENDFILE = 370 ++ SYS_SETRESGID = 371 ++ SYS_GETRESGID = 372 ++ SYS_DIPC = 373 ++ SYS_PIVOT_ROOT = 374 ++ SYS_MINCORE = 375 ++ SYS_PCICONFIG_IOBASE = 376 ++ SYS_GETDENTS64 = 377 ++ SYS_GETTID = 378 ++ SYS_READAHEAD = 379 ++ SYS_TKILL = 381 ++ SYS_SETXATTR = 382 ++ SYS_LSETXATTR = 383 ++ SYS_FSETXATTR = 384 ++ SYS_GETXATTR = 385 ++ SYS_LGETXATTR = 386 ++ SYS_FGETXATTR = 387 ++ SYS_LISTXATTR = 388 ++ SYS_LLISTXATTR = 389 ++ SYS_FLISTXATTR = 390 ++ SYS_REMOVEXATTR = 391 ++ SYS_LREMOVEXATTR = 392 ++ SYS_FREMOVEXATTR = 393 ++ SYS_FUTEX = 394 ++ SYS_SCHED_SETAFFINITY = 395 ++ SYS_SCHED_GETAFFINITY = 396 ++ SYS_TUXCALL = 397 ++ SYS_IO_SETUP = 398 ++ SYS_IO_DESTROY = 399 ++ SYS_IO_GETEVENTS = 400 ++ SYS_IO_SUBMIT = 401 ++ SYS_IO_CANCEL = 402 ++ SYS_EXIT_GROUP = 405 ++ SYS_LOOKUP_DCOOKIE = 406 ++ SYS_EPOLL_CREATE = 407 ++ SYS_EPOLL_CTL = 408 ++ SYS_EPOLL_WAIT = 409 ++ SYS_REMAP_FILE_PAGES = 410 ++ SYS_SET_TID_ADDRESS = 411 ++ SYS_RESTART_SYSCALL = 412 ++ SYS_FADVISE64 = 413 ++ SYS_TIMER_CREATE = 414 ++ SYS_TIMER_SETTIME = 415 ++ SYS_TIMER_GETTIME = 416 ++ SYS_TIMER_GETOVERRUN = 417 ++ SYS_TIMER_DELETE = 418 ++ SYS_CLOCK_SETTIME = 419 ++ SYS_CLOCK_GETTIME = 420 ++ SYS_CLOCK_GETRES = 421 ++ SYS_CLOCK_NANOSLEEP = 422 ++ SYS_SEMTIMEDOP = 423 ++ SYS_TGKILL = 424 ++ SYS_STAT64 = 425 ++ SYS_LSTAT64 = 426 ++ SYS_FSTAT64 = 427 ++ SYS_VSERVER = 428 ++ SYS_MBIND = 429 ++ SYS_GET_MEMPOLICY = 430 ++ SYS_SET_MEMPOLICY = 431 ++ SYS_MQ_OPEN = 432 ++ SYS_MQ_UNLINK = 433 ++ SYS_MQ_TIMEDSEND = 434 ++ SYS_MQ_TIMEDRECEIVE = 435 ++ SYS_MQ_NOTIFY = 436 ++ SYS_MQ_GETSETATTR = 437 ++ SYS_WAITID = 438 ++ SYS_ADD_KEY = 439 ++ SYS_REQUEST_KEY = 440 ++ SYS_KEYCTL = 441 ++ SYS_IOPRIO_SET = 442 ++ SYS_IOPRIO_GET = 443 ++ SYS_INOTIFY_INIT = 444 ++ SYS_INOTIFY_ADD_WATCH = 445 ++ SYS_INOTIFY_RM_WATCH = 446 ++ SYS_FDATASYNC = 447 ++ SYS_KEXEC_LOAD = 448 ++ SYS_MIGRATE_PAGES = 449 ++ SYS_OPENAT = 450 ++ SYS_MKDIRAT = 451 ++ SYS_MKNODAT = 452 ++ SYS_FCHOWNAT = 453 ++ SYS_FUTIMESAT = 454 ++ SYS_FSTATAT64 = 455 ++ SYS_FSTATAT = 455 ++ SYS_UNLINKAT = 456 ++ SYS_RENAMEAT = 457 ++ SYS_LINKAT = 458 ++ SYS_SYMLINKAT = 459 ++ SYS_READLINKAT = 460 ++ SYS_FCHMODAT = 461 ++ SYS_FACCESSAT = 462 ++ SYS_PSELECT6 = 463 ++ SYS_PPOLL = 464 ++ SYS_UNSHARE = 465 ++ SYS_SET_ROBUST_LIST = 466 ++ SYS_GET_ROBUST_LIST = 467 ++ SYS_SPLICE = 468 ++ SYS_SYNC_FILE_RANGE = 469 ++ SYS_TEE = 470 ++ SYS_VMSPLICE = 471 ++ SYS_MOVE_PAGES = 472 ++ SYS_GETCPU = 473 ++ SYS_EPOLL_PWAIT = 474 ++ SYS_UTIMENSAT = 475 ++ SYS_SIGNALFD = 476 ++ SYS_TIMERFD = 477 ++ SYS_EVENTFD = 478 ++ SYS_RECVMMSG = 479 ++ SYS_FALLOCATE = 480 ++ SYS_TIMERFD_CREATE = 481 ++ SYS_TIMERFD_SETTIME = 482 ++ SYS_TIMERFD_GETTIME = 483 ++ SYS_SIGNALFD4 = 484 ++ SYS_EVENTFD2 = 485 ++ SYS_EPOLL_CREATE1 = 486 ++ SYS_DUP3 = 487 ++ SYS_PIPE2 = 488 ++ SYS_INOTIFY_INIT1 = 489 ++ SYS_PREADV = 490 ++ SYS_PWRITEV = 491 ++ SYS_RT_TGSIGQUEUEINFO = 492 ++ SYS_PERF_EVENT_OPEN = 493 ++ SYS_FANOTIFY_INIT = 494 ++ SYS_FANOTIFY_MARK = 495 ++ SYS_PRLIMIT64 = 496 ++ SYS_NAME_TO_HANDLE_AT = 497 ++ SYS_OPEN_BY_HANDLE_AT = 498 ++ SYS_CLOCK_ADJTIME = 499 ++ SYS_SYNCFS = 500 ++ SYS_SETNS = 501 ++ SYS_ACCEPT4 = 502 ++ SYS_SENDMMSG = 503 ++ SYS_PROCESS_VM_READV = 504 ++ SYS_PROCESS_VM_WRITEV = 505 ++ SYS_KCMP = 506 ++ SYS_FINIT_MODULE = 507 ++ SYS_SCHED_SETATTR = 508 ++ SYS_SCHED_GETATTR = 509 ++ SYS_RENAMEAT2 = 510 ++ SYS_GETRANDOM = 511 ++ SYS_MEMFD_CREATE = 512 ++ SYS_EXECVEAT = 513 ++ SYS_PREADV2 = 516 ++ SYS_PWRITEV2 = 517 ++ SYS_STATX = 518 ++) +diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sw64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sw64.go +new file mode 100644 +index 0000000..74e47fd +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sw64.go +@@ -0,0 +1,2001 @@ ++// cgo -godefs linux/types.go ++ ++// +build sw64,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 ++ 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 ++ Rdev uint64 ++ Size int64 ++ Blocks int64 ++ Mode uint32 ++ Uid uint32 ++ Gid uint32 ++ Blksize uint32 ++ Nlink uint32 ++ X__pad2 int32 ++ Atim Timespec ++ Mtim Timespec ++ Ctim Timespec ++ X__glibc_reserved [3]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 ++} ++ ++type FscryptPolicy struct{} ++ ++type FscryptKey struct { ++ Mode uint32 ++ Raw [64]uint8 ++ Size uint32 ++} ++ ++type KeyctlDHParams struct{} ++ ++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 ++ SizeofSockaddrXDP = 0x10 ++ SizeofSockaddrPPPoX = 0x1e ++ SizeofSockaddrTIPC = 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 ++ SizeofSockaddrL2 = 0xe ++ SizeofSockaddrRFCOMM = 0xa ++ SizeofCanFilter = 0x8 ++) ++ ++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_GSO_MAX_SEGS =0x28 ++ IFLA_GSO_MAX_SIZE =0x29 ++ 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 ++ IFLA_EXT_MASK = 0x1d ++ IFLA_AF_SPEC = 0x1a ++ IFLA_VFINFO_LIST = 0x16 ++ IFLA_NET_NS_FD = 0x1c ++ IFLA_NUM_TX_QUEUES = 0x1f ++ IFLA_STATS64 = 0x17 ++ IFLA_XDP = 0x2b ++ IFLA_LINK_NETNSID = 0x25 ++ IFLA_NUM_RX_QUEUES = 0x20 ++ 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{} ++ ++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]byte ++ Nodename [65]byte ++ Release [65]byte ++ Version [65]byte ++ Machine [65]byte ++ Domainname [65]byte ++} ++ ++type Ustat_t struct { ++ Tfree int32 ++ Tinode uint32 ++ Fname [6]int8 ++ Fpack [6]int8 ++} ++ ++type EpollEvent struct { ++ Events uint32 ++ _ uint32 ++ Fd int32 ++ Pad int32 ++} ++ ++const ( ++ AT_FDCWD = -0x64 ++ AT_REMOVEDIR = 0x200 ++ AT_SYMLINK_FOLLOW = 0x400 ++ AT_SYMLINK_NOFOLLOW = 0x100 ++ AT_EMPTY_PATH = 0x1000 ++ AT_NO_AUTOMOUNT = 0x800 ++ AT_STATX_SYNC_AS_STAT = 0x0 ++ AT_STATX_FORCE_SYNC = 0x2000 ++ AT_STATX_DONT_SYNC = 0x4000 ++ 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 { ++ X__val [16]uint64 ++} ++ ++const _C__NSIG = 0x41 ++ ++const RNDGETENTCNT = 0x40045200 ++ ++const PERF_IOC_FLAG_GROUP = 0x1 ++ ++const _SC_PAGESIZE = 0x1e ++ ++type Termios struct { ++ Iflag uint32 ++ Oflag uint32 ++ Cflag uint32 ++ Lflag uint32 ++ Cc [19]uint8 ++ Line 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]int8 ++ 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 = 0x8000000000000000 ++ CBitFieldMaskBit1 = 0x4000000000000000 ++ CBitFieldMaskBit2 = 0x2000000000000000 ++ CBitFieldMaskBit3 = 0x1000000000000000 ++ CBitFieldMaskBit4 = 0x800000000000000 ++ CBitFieldMaskBit5 = 0x400000000000000 ++ CBitFieldMaskBit6 = 0x200000000000000 ++ CBitFieldMaskBit7 = 0x100000000000000 ++ CBitFieldMaskBit8 = 0x80000000000000 ++ CBitFieldMaskBit9 = 0x40000000000000 ++ CBitFieldMaskBit10 = 0x20000000000000 ++ CBitFieldMaskBit11 = 0x10000000000000 ++ CBitFieldMaskBit12 = 0x8000000000000 ++ CBitFieldMaskBit13 = 0x4000000000000 ++ CBitFieldMaskBit14 = 0x2000000000000 ++ CBitFieldMaskBit15 = 0x1000000000000 ++ CBitFieldMaskBit16 = 0x800000000000 ++ CBitFieldMaskBit17 = 0x400000000000 ++ CBitFieldMaskBit18 = 0x200000000000 ++ CBitFieldMaskBit19 = 0x100000000000 ++ CBitFieldMaskBit20 = 0x80000000000 ++ CBitFieldMaskBit21 = 0x40000000000 ++ CBitFieldMaskBit22 = 0x20000000000 ++ CBitFieldMaskBit23 = 0x10000000000 ++ CBitFieldMaskBit24 = 0x8000000000 ++ CBitFieldMaskBit25 = 0x4000000000 ++ CBitFieldMaskBit26 = 0x2000000000 ++ CBitFieldMaskBit27 = 0x1000000000 ++ CBitFieldMaskBit28 = 0x800000000 ++ CBitFieldMaskBit29 = 0x400000000 ++ CBitFieldMaskBit30 = 0x200000000 ++ CBitFieldMaskBit31 = 0x100000000 ++ CBitFieldMaskBit32 = 0x80000000 ++ CBitFieldMaskBit33 = 0x40000000 ++ CBitFieldMaskBit34 = 0x20000000 ++ CBitFieldMaskBit35 = 0x10000000 ++ CBitFieldMaskBit36 = 0x8000000 ++ CBitFieldMaskBit37 = 0x4000000 ++ CBitFieldMaskBit38 = 0x2000000 ++ CBitFieldMaskBit39 = 0x1000000 ++ CBitFieldMaskBit40 = 0x800000 ++ CBitFieldMaskBit41 = 0x400000 ++ CBitFieldMaskBit42 = 0x200000 ++ CBitFieldMaskBit43 = 0x100000 ++ CBitFieldMaskBit44 = 0x80000 ++ CBitFieldMaskBit45 = 0x40000 ++ CBitFieldMaskBit46 = 0x20000 ++ CBitFieldMaskBit47 = 0x10000 ++ CBitFieldMaskBit48 = 0x8000 ++ CBitFieldMaskBit49 = 0x4000 ++ CBitFieldMaskBit50 = 0x2000 ++ CBitFieldMaskBit51 = 0x1000 ++ CBitFieldMaskBit52 = 0x800 ++ CBitFieldMaskBit53 = 0x400 ++ CBitFieldMaskBit54 = 0x200 ++ CBitFieldMaskBit55 = 0x100 ++ CBitFieldMaskBit56 = 0x80 ++ CBitFieldMaskBit57 = 0x40 ++ CBitFieldMaskBit58 = 0x20 ++ CBitFieldMaskBit59 = 0x10 ++ CBitFieldMaskBit60 = 0x8 ++ CBitFieldMaskBit61 = 0x4 ++ CBitFieldMaskBit62 = 0x2 ++ CBitFieldMaskBit63 = 0x1 ++) ++ ++type SockaddrStorage struct { ++ Family uint16 ++ _ [118]int8 ++ _ 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 ++ Frsize int64 ++ Blocks int64 ++ Bfree uint64 ++ Files uint64 ++ Ffree uint64 ++ Bavail uint64 ++ Fsid Fsid ++ Namelen int64 ++ Flags int64 ++ Spare [5]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 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 = 0x20001269 ++ 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 ++} ++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 RawSockaddrXDP struct { ++ Family uint16 ++ Flags uint16 ++ Ifindex uint32 ++ Queue_id uint32 ++ Shared_umem_fd uint32 ++} ++ ++type RawSockaddrPPPoX [0x1e]byte ++ ++type RawSockaddrTIPC struct { ++ Family uint16 ++ Addrtype uint8 ++ Scope int8 ++ Addr [12]byte ++} ++ ++type PacketMreq struct { ++ Ifindex int32 ++ Type uint16 ++ Alen uint16 ++ Address [8]uint8 ++} ++type CanFilter struct { ++ Id uint32 ++ Mask uint32 ++} ++ ++type TIPCSocketAddr struct { ++ Ref uint32 ++ Node uint32 ++} ++ ++type TIPCServiceRange struct { ++ Type uint32 ++ Lower uint32 ++ Upper uint32 ++} ++ ++type TIPCServiceName struct { ++ Type uint32 ++ Instance uint32 ++ Domain uint32 ++} +diff --git a/virtcontainers/factory/template/sw64-options.mk b/virtcontainers/factory/template/sw64-options.mk +new file mode 100644 +index 0000000..9dfc2d5 +--- /dev/null ++++ b/virtcontainers/factory/template/sw64-options.mk +@@ -0,0 +1,14 @@ ++# Copyright (c) 2023 ++# ++# SPDX-License-Identifier: Apache-2.0 ++# ++ ++# sw64 settings ++ ++MACHINETYPE := core3 ++KERNELPARAMS := ++MACHINEACCELERATORS := ++CPUFEATURES := pum=off ++ ++QEMUCMD := qemu-system-sw64 ++ +diff --git a/virtcontainers/factory/template/template_sw64.go b/virtcontainers/factory/template/template_sw64.go +new file mode 100644 +index 0000000..ea16a0e +--- /dev/null ++++ b/virtcontainers/factory/template/template_sw64.go +@@ -0,0 +1,16 @@ ++// +build sw64 ++ ++// Copyright (c) 2023 ++// ++// SPDX-License-Identifier: Apache-2.0 ++// ++// template implements base vm factory with vm templating. ++ ++package template ++ ++// templateDeviceStateSize denotes device state size when ++// mount tmpfs. ++// when bypass-shared-memory is not support like arm64, ++// creating template will occupy more space. That's why we ++// put it here. ++const templateDeviceStateSize = 8 +diff --git a/virtcontainers/hypervisor.go b/virtcontainers/hypervisor.go +index 3ca874e..d16118a 100644 +--- a/virtcontainers/hypervisor.go ++++ b/virtcontainers/hypervisor.go +@@ -702,7 +702,7 @@ func getHostMemorySizeKb(memInfoPath string) (uint64, error) { + + // RunningOnVMM checks if the system is running inside a VM. + func RunningOnVMM(cpuInfoPath string) (bool, error) { +- if runtime.GOARCH == "arm64" || runtime.GOARCH == "ppc64le" || runtime.GOARCH == "s390x" { ++ if runtime.GOARCH == "arm64" || runtime.GOARCH == "ppc64le" || runtime.GOARCH == "s390x" || runtime.GOARCH == "sw64" { + virtLog.Info("Unable to know if the system is running inside a VM") + return false, nil + } +diff --git a/virtcontainers/qemu_arch_base.go b/virtcontainers/qemu_arch_base.go +index cb04553..3874644 100644 +--- a/virtcontainers/qemu_arch_base.go ++++ b/virtcontainers/qemu_arch_base.go +@@ -187,6 +187,10 @@ const ( + // QemuCCWVirtio is a QEMU virt machine type for for s390x + QemuCCWVirtio = "s390-ccw-virtio" + ++ // QemuCore3 and QemuCore4 is the QEMU virt machine type for sw64 ++ QemuCore3 = "core3" ++ QemuCore4 = "core4" ++ + qmpCapMigrationIgnoreShared = "x-ignore-shared" + + qemuNvdimmOption = "nvdimm" +diff --git a/virtcontainers/qemu_sw64.go b/virtcontainers/qemu_sw64.go +new file mode 100644 +index 0000000..2de844b +--- /dev/null ++++ b/virtcontainers/qemu_sw64.go +@@ -0,0 +1,98 @@ ++// +build sw64 ++ ++// Copyright (c) 2018 IBM ++// ++// SPDX-License-Identifier: Apache-2.0 ++// ++ ++package virtcontainers ++ ++import ( ++ govmmQemu "github.com/intel/govmm/qemu" ++ "time" ++ "runtime" ++) ++ ++type qemuSw struct { ++ // inherit from qemuArchBase, overwrite methods if needed ++ qemuArchBase ++} ++ ++const defaultQemuPath = "/usr/bin/qemu-system-sw64" ++ ++const defaultQemuMachineType = QemuCore4 ++ ++const defaultQemuMachineOptions = "accel=kvm" ++ ++const qmpMigrationWaitTimeout = 1 * time.Second ++ ++var qemuPaths = map[string]string{ ++ QemuCore4: defaultQemuPath, ++} ++ ++var kernelParams = []Param{ ++ {"console", "hvc0"}, ++ {"console", "hvc1"}, ++} ++ ++var supportedQemuMachines = []govmmQemu.Machine{ ++ { ++ Type: "core3", ++ Options: defaultQemuMachineOptions, ++ }, ++ { ++ Type: "core4", ++ Options: defaultQemuMachineOptions, ++ }, ++} ++ ++// MaxQemuVCPUs returns the maximum number of vCPUs supported ++func MaxQemuVCPUs() uint32 { ++ ++ return uint32(runtime.NumCPU()) ++} ++ ++func newQemuArch(config HypervisorConfig) qemuArch { ++ machineType := config.HypervisorMachineType ++ if machineType == "" { ++ machineType = defaultQemuMachineType ++ } ++ ++ q := &qemuSw{ ++ qemuArchBase{ ++ machineType: machineType, ++ memoryOffset: config.MemOffset, ++ qemuPaths: qemuPaths, ++ supportedQemuMachines: supportedQemuMachines, ++ kernelParamsNonDebug: kernelParamsNonDebug, ++ kernelParamsDebug: kernelParamsDebug, ++ kernelParams: kernelParams, ++ disableNvdimm: config.DisableImageNvdimm, ++ }, ++ } ++ ++ if config.ImagePath != "" { ++ q.kernelParams = append(q.kernelParams, commonVirtioblkKernelRootParams...) ++ q.kernelParamsNonDebug = append(q.kernelParamsNonDebug, kernelParamsSystemdNonDebug...) ++ q.kernelParamsDebug = append(q.kernelParamsDebug, kernelParamsSystemdDebug...) ++ } ++ ++ return q ++} ++ ++func (q *qemuSw) bridges(number uint32) { ++ q.Bridges = genericBridges(number, q.machineType) ++} ++ ++// appendBridges appends to devices the given bridges ++func (q *qemuSw) appendBridges(devices []govmmQemu.Device) []govmmQemu.Device { ++ return genericAppendBridges(devices, q.Bridges, q.machineType) ++} ++ ++func (q *qemuSw) supportGuestMemoryHotplug() bool { ++ return false ++} ++ ++func (q *qemuSw) memoryTopology(memoryMb, hostMemoryMb uint64, slots uint8) govmmQemu.Memory { ++ return genericMemoryTopology(memoryMb, hostMemoryMb, slots, q.memoryOffset) ++} +diff --git a/virtcontainers/utils/utils_linux_generic.go b/virtcontainers/utils/utils_linux_generic.go +index bd99f53..e34c2cc 100644 +--- a/virtcontainers/utils/utils_linux_generic.go ++++ b/virtcontainers/utils/utils_linux_generic.go +@@ -1,4 +1,4 @@ +-// +build amd64 arm64 s390x !ppc64le ++// +build amd64 arm64 s390x !ppc64le,!sw64 + + // Copyright (c) 2019 IBM + // +diff --git a/virtcontainers/utils/utils_linux_sw64.go b/virtcontainers/utils/utils_linux_sw64.go +new file mode 100644 +index 0000000..86a3e80 +--- /dev/null ++++ b/virtcontainers/utils/utils_linux_sw64.go +@@ -0,0 +1,18 @@ ++// +build sw64 ++ ++// Copyright (c) 2023 WXIAT ++// ++// SPDX-License-Identifier: Apache-2.0 ++// ++ ++package utils ++ ++// from ++// VHOST_VSOCK_SET_GUEST_CID = _IOW(VHOST_VIRTIO, 0x60, __u64) ++ ++// _IOC_WRITE is 1 for arch generic and 4 for SW64 ++const ioctlVhostVsockSetGuestCid = 0x8008AF60 ++ ++func getIoctlVhostVsockGuestCid() uintptr { ++ return ioctlVhostVsockSetGuestCid ++} +-- +2.33.0 + diff --git a/runtime/series.conf b/runtime/series.conf index c54d65e..c6ffc21 100644 --- a/runtime/series.conf +++ b/runtime/series.conf @@ -96,3 +96,4 @@ 0096-kata-containers-Move-from-query-cpus-to-query-cpus-f.patch 0097-kata-runtime-add-timeout-for-all-qmp-commands.patch 0098-kata-runtime-remove-kernel_irqchip-option.patch +0099-kata-runtime-sw64-add-sw64-architecture-support.patch diff --git a/shim/patches/0004-kata-shim-sw64-add-sw64-architecture-support.patch b/shim/patches/0004-kata-shim-sw64-add-sw64-architecture-support.patch new file mode 100644 index 0000000..6d22609 --- /dev/null +++ b/shim/patches/0004-kata-shim-sw64-add-sw64-architecture-support.patch @@ -0,0 +1,7331 @@ +From 85f80c5cbf95ca9dd9fc7f792d81f02909f5963e Mon Sep 17 00:00:00 2001 +From: chenwang +Date: Tue, 11 Feb 2025 17:34:59 +0000 +Subject: [PATCH] kata-shim: sw64: add sw64 architecture support + +Signed-off-by: chenwang +--- + vendor/github.com/kr/pty/ztypes_sw64.go | 11 + + vendor/golang.org/x/sys/unix/asm_linux_sw64.s | 139 + + vendor/golang.org/x/sys/unix/endian_little.go | 2 +- + vendor/golang.org/x/sys/unix/linux/mkall.go | 7 + + .../x/sys/unix/syscall_linux_sw64.go | 215 ++ + .../x/sys/unix/zerrors_linux_sw64.go | 2176 ++++++++++++++++ + .../x/sys/unix/zsyscall_linux_sw64.go | 2241 +++++++++++++++++ + .../x/sys/unix/zsysnum_linux_sw64.go | 447 ++++ + .../x/sys/unix/ztypes_linux_sw64.go | 2001 +++++++++++++++ + 9 files changed, 7238 insertions(+), 1 deletion(-) + create mode 100644 vendor/github.com/kr/pty/ztypes_sw64.go + create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_sw64.s + create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_sw64.go + create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_sw64.go + create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_sw64.go + create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_sw64.go + create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_sw64.go + +diff --git a/vendor/github.com/kr/pty/ztypes_sw64.go b/vendor/github.com/kr/pty/ztypes_sw64.go +new file mode 100644 +index 0000000..5a343ff +--- /dev/null ++++ b/vendor/github.com/kr/pty/ztypes_sw64.go +@@ -0,0 +1,11 @@ ++// Created by cgo -godefs - DO NOT EDIT ++// cgo -godefs types.go ++ ++// +build sw64 ++ ++package pty ++ ++type ( ++ _C_int int32 ++ _C_uint uint32 ++) +diff --git a/vendor/golang.org/x/sys/unix/asm_linux_sw64.s b/vendor/golang.org/x/sys/unix/asm_linux_sw64.s +new file mode 100644 +index 0000000..2b127be +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/asm_linux_sw64.s +@@ -0,0 +1,139 @@ ++// 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 linux ++// +build sw64 ++ ++#include "textflag.h" ++ ++// ++// System calls for sw64, Linux ++// ++ ++#define SYSCALL SYS_CALL_B $131 ++ ++//func Syscall(trap int64, a1, a2, a3 int64) (r1, r2, err int64); ++TEXT ·Syscall(SB), NOSPLIT, $0-56 ++ CALL runtime·entersyscall(SB) ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDI R19, ZERO ++ LDI R20, ZERO ++ LDI R21, ZERO ++ LDL R0, trap+0(FP) ++ SYSCALL ++ BEQ R19, ok ++ ++ LDI R1, $-1 ++ STL R1, r1+32(FP) ++ STL ZERO, r2+40(FP) ++ STL R0, err+48(FP) ++ CALL runtime·exitsyscall(SB) ++ RET ++ok: ++ STL R0, r1+32(FP) ++ STL R20, r2+40(FP) ++ STL ZERO, err+48(FP) ++ CALL runtime·exitsyscall(SB) ++ RET ++ ++//func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err Errno) ++TEXT ·Syscall6(SB), NOSPLIT, $0-80 ++ CALL runtime·entersyscall(SB) ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDL R19, a4+32(FP) ++ LDL R20, a5+40(FP) ++ LDL R21, a6+48(FP) ++ LDL R0, trap+0(FP) ++ SYSCALL ++ BEQ R19, ok ++ ++ LDI R1, $-1 ++ STL R1, r1+56(FP) ++ STL ZERO, r2+64(FP) ++ STL R0, err+72(FP) ++ CALL runtime·exitsyscall(SB) ++ RET ++ok: ++ STL R0, r1+56(FP) ++ STL R20, r2+64(FP) ++ STL ZERO, err+72(FP) ++ CALL runtime·exitsyscall(SB) ++ RET ++ ++TEXT ·RawSyscall(SB), NOSPLIT, $0-56 ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDI R19, ZERO ++ LDI R20, ZERO ++ LDI R21, ZERO ++ LDL R0, trap+0(FP) ++ SYSCALL ++ BEQ R19, ok ++ ++ LDI R1, $-1 ++ STL R1, r1+32(FP) ++ STL ZERO, r2+40(FP) ++ STL R0, err+48(FP) ++ RET ++ok: ++ STL R0, r1+32(FP) ++ STL R20, r2+40(FP) ++ STL ZERO, err+48(FP) ++ RET ++ ++TEXT ·RawSyscall6(SB),NOSPLIT, $0-80 ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDL R19, a4+32(FP) ++ LDL R20, a5+40(FP) ++ LDL R21, a6+48(FP) ++ LDL R0, trap+0(FP) ++ SYSCALL ++ BEQ R19, ok ++ ++ LDI R1, $-1 ++ STL R1, r1+56(FP) ++ STL ZERO, r2+64(FP) ++ STL R0, err+72(FP) ++ RET ++ok: ++ STL R0, r1+56(FP) ++ STL R20, r2+64(FP) ++ STL ZERO, err+72(FP) ++ RET ++ ++TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 ++ CALL runtime·entersyscall(SB) ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDI R19,ZERO ++ LDI R20, ZERO ++ LDI R21, ZERO ++ LDL R0, trap+0(FP) ++ SYSCALL ++ STL R0, r1+32(FP) ++ STL R20, r1+40(FP) ++ CALL runtime·exitsyscall(SB) ++ RET ++ ++ ++TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 ++ LDL R16, a1+8(FP) ++ LDL R17, a2+16(FP) ++ LDL R18, a3+24(FP) ++ LDI R19, ZERO ++ LDI R20, ZERO ++ LDI R21, ZERO ++ LDL R0, trap+0(FP) ++ SYSCALL ++ STL R0, r1+32(FP) ++ STL R20, r1+40(FP) ++ RET +diff --git a/vendor/golang.org/x/sys/unix/endian_little.go b/vendor/golang.org/x/sys/unix/endian_little.go +index 085df2d..497d683 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 mipsle mips64le ++// +build 386 amd64 amd64p32 arm arm64 ppc64le mipsle mips64le sw64 + + package unix + +diff --git a/vendor/golang.org/x/sys/unix/linux/mkall.go b/vendor/golang.org/x/sys/unix/linux/mkall.go +index 89b2fe8..e0441e0 100644 +--- a/vendor/golang.org/x/sys/unix/linux/mkall.go ++++ b/vendor/golang.org/x/sys/unix/linux/mkall.go +@@ -124,6 +124,13 @@ var targets = []target{ + SignedChar: true, + Bits: 64, + }, ++ { ++ GoArch: "sw64", ++ LinuxArch: "sw64", ++ GNUArch: "sw64-linux-gnu", ++ SignedChar: true, ++ Bits: 64, ++ }, + // { + // GoArch: "sparc64", + // LinuxArch: "sparc", +diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_sw64.go b/vendor/golang.org/x/sys/unix/syscall_linux_sw64.go +new file mode 100644 +index 0000000..e04dc64 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/syscall_linux_sw64.go +@@ -0,0 +1,215 @@ ++// 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 sw64,linux ++ ++package unix ++ ++import ( ++ "syscall" ++) ++ ++const ( ++ //generate by handle ++ TIOCSWINSZ = 0x80087467 ++ TIOCGWINSZ = 0x40087468 ++ ++ //replace ztypes_linux_sw64.go with this ++// 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 ( ++ //ALL OF THIS constants are WORKAROUND, and should be removing ++ _SYS_dup = SYS_DUP2 ++ _SYS_setgroups = SYS_SETGROUPS ++ SYS_UMOUNT2 = SYS_UMOUNT ++ ++ SYS_GETPID = SYS_GETXPID ++ SYS_GETPPID = SYS_GETXPID ++ ++ SYS_COPY_FILE_RANGE = 0 ++ KEYCTL_DH_COMPUTE = -1 ++) ++ ++//sysnb getxpid() (pid int, ppid int) ++// currently manually remove the implements of Getpid and Getppid ++// in zsyscall_linux_sw64.go ++func Getpid() (pid int) { pid, _ = getxpid(); return } ++func Getppid() (ppid int) { _, ppid = getxpid(); return } ++ ++func Utime(path string, buf *Utimbuf) error { ++ tv := [2]Timeval{ ++ {Sec: buf.Actime}, ++ {Sec: buf.Modtime}, ++ } ++ return utimes(path, &tv) ++} ++ ++//sys Fstat64(fd int, st *Stat_t) (err error) ++//sys Lstat64(path string, st *Stat_t) (err error) ++//sys Stat64(path string, st *Stat_t) (err error) ++func Fstat(fd int, st *Stat_t) (err error) { return Fstat64(fd, st) } ++func Lstat(path string, st *Stat_t) (err error) { return Lstat64(path, st) } ++func Stat(path string, st *Stat_t) (err error) { return Stat64(path, st) } ++ ++//sys getxuid() (uid int, euid int) ++func Getuid() (uid int) { uid, _ = getxuid(); return } ++func Geteuid() (euid int) { _, euid = getxuid(); return } ++ ++//sys getxgid() (gid int, egid int) ++func Getgid() (gid int) { gid, _ = getxgid(); return } ++func Getegid() (egid int) { _, egid = getxgid(); return } ++ ++//sys Statfs(path string, buf *Statfs_t) (err error) ++//sys Fstatfs(fd int, buf *Statfs_t) (err error) ++//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) ++//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) ++//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 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 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 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) ++ ++type sigset_t struct { ++ X__val [16]uint64 ++} ++ ++//sys pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *sigset_t) (n int, err error) = SYS_PSELECT6 ++ ++func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) { ++ ts := Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000} ++ return pselect(nfd, r, w, e, &ts, nil) ++} ++ ++//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 ++} ++ ++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 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 ++} ++ ++// 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) ++} ++ ++func rawVforkSyscall(trap, a1 uintptr) (r1 uintptr, err syscall.Errno) { ++ panic("not implemented") ++} ++ ++//sys EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) ++ ++//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/zerrors_linux_sw64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sw64.go +new file mode 100644 +index 0000000..f03af03 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sw64.go +@@ -0,0 +1,2176 @@ ++// mkerrors.sh ++// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT ++ ++// Created by cgo -godefs - DO NOT EDIT ++// cgo -godefs -- /tmp/_const.go ++ ++// +build sw64,linux ++ ++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 ++ AF_XDP = 0x2c ++ 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 ++ BLKGETSIZE64 = 40081272 ++ BPF_A = 0x10 ++ BPF_ABS = 0x20 ++ BPF_ADD = 0x0 ++ BPF_ALU = 0x4 ++ BPF_AND = 0x50 ++ BPF_B = 0x10 ++ BPF_DEVCG_ACC_MKNOD = 0x1 ++ BPF_DEVCG_ACC_READ = 0x2 ++ BPF_DEVCG_ACC_WRITE = 0x4 ++ BPF_DEVCG_DEV_BLOCK = 0x1 ++ BPF_DEVCG_DEV_CHAR = 0x2 ++ BPF_DIV = 0x30 ++ BPF_F_ALLOW_MULTI = 0x2 ++ 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_OBJ_NAME_LEN = 0x10 ++ BPF_OR = 0x40 ++ BPF_TAG_SIZE = 0x8 ++ 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 ++ CGROUP2_SUPER_MAGIC = 0x63677270 ++ CLOCAL = 0x8000 ++ CLONE_CHILD_CLEARTID = 0x200000 ++ CLONE_CHILD_SETTID = 0x1000000 ++ CLONE_DETACHED = 0x400000 ++ CLONE_FILES = 0x400 ++ CLONE_FS = 0x200 ++ CLONE_IO = 0x80000000 ++ CLONE_NEWCGROUP = 0x0200000 ++ 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 = 0x800 ++ 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 ++ EFD_CLOEXEC = 0x200000 ++ EFD_NONBLOCK = 0x4 ++ EFD_SEMAPHORE = 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 ++ 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 = 0x200000 ++ 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 = 0x10000000 ++ FD_CLOEXEC = 0x1 ++ FD_SETSIZE = 0x400 ++ FLUSHO = 0x800000 ++ F_DUPFD = 0x0 ++ F_DUPFD_CLOEXEC = 0x406 ++ F_EXLCK = 0x10 ++ F_GETFD = 0x1 ++ F_GETFL = 0x3 ++ F_GETLEASE = 0x401 ++ F_GETLK = 0x7 ++ F_GETLK64 = 0x7 ++ F_GETOWN = 0x6 ++ 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 = 0x5 ++ F_SETOWN_EX = 0xf ++ F_SETPIPE_SZ = 0x407 ++ F_SETSIG = 0xa ++ F_SHLCK = 0x20 ++ F_TEST = 0x3 ++ F_TLOCK = 0x2 ++ F_ULOCK = 0x0 ++ F_UNLCK = 0x8 ++ F_WRLCK = 0x2 ++ GRND_NONBLOCK = 0x1 ++ GRND_RANDOM = 0x2 ++ HUPCL = 0x4000 ++ 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_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 = 0x200000 ++ 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 = 0x4 ++ IN_ONESHOT = 0x80000000 ++ IN_ONLYDIR = 0x1000000 ++ IN_OPEN = 0x20 ++ IN_Q_OVERFLOW = 0x4000 ++ IN_UNMOUNT = 0x2000 ++ IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x200007b9 ++ 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 = 0x80 ++ ISTRIP = 0x20 ++ IUTF8 = 0x4000 ++ IXANY = 0x800 ++ IXOFF = 0x400 ++ IXON = 0x200 ++ KEYCTL_ASSUME_AUTHORITY = 0x10 ++ KEYCTL_CHOWN = 0x4 ++ KEYCTL_CLEAR = 0x7 ++ KEYCTL_DESCRIBE = 0x6 ++ 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_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_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 = 0x6 ++ 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 = 0x10 ++ MAP_ANONYMOUS = 0x10 ++ MAP_DENYWRITE = 0x2000 ++ MAP_EXECUTABLE = 0x4000 ++ MAP_FILE = 0x0 ++ MAP_FIXED = 0x100 ++ MAP_GROWSDOWN = 0x1000 ++ MAP_HUGETLB = 0x100000 ++ MAP_HUGE_MASK = 0x3f ++ MAP_HUGE_SHIFT = 0x1a ++ MAP_LOCKED = 0x8000 ++ MAP_NONBLOCK = 0x40000 ++ MAP_NORESERVE = 0x10000 ++ MAP_POPULATE = 0x20000 ++ MAP_PRIVATE = 0x2 ++ MAP_SHARED = 0x1 ++ MAP_STACK = 0x80000 ++ MAP_TYPE = 0xf ++ MCL_CURRENT = 0x2000 ++ MCL_FUTURE = 0x4000 ++ MCL_ONFAULT = 0x8000 ++ 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_BORN = 0x20000000 ++ MS_DIRSYNC = 0x80 ++ MS_INVALIDATE = 0x4 ++ 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_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_SYNC = 0x2 ++ MS_SYNCHRONOUS = 0x10 ++ MS_UNBINDABLE = 0x20000 ++ MS_VERBOSE = 0x8000 ++ 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 ++ NFDBITS = 0x40 ++ 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 = 0x80000000 ++ OCRNL = 0x8 ++ OFDEL = 0x80 ++ OFILL = 0x40 ++ ONLCR = 0x2 ++ ONLRET = 0x20 ++ ONOCR = 0x10 ++ OPOST = 0x1 ++ O_ACCMODE = 0x3 ++ O_APPEND = 0x8 ++ O_ASYNC = 0x2000 ++ O_CLOEXEC = 0x200000 ++ O_CREAT = 0x200 ++ O_DIRECT = 0x80000 ++ O_DIRECTORY = 0x8000 ++ O_DSYNC = 0x4000 ++ O_EXCL = 0x800 ++ O_FSYNC = 0x404000 ++ O_LARGEFILE = 0x0 ++ O_NDELAY = 0x4 ++ O_NOATIME = 0x100000 ++ O_NOCTTY = 0x1000 ++ O_NOFOLLOW = 0x10000 ++ O_NONBLOCK = 0x4 ++ O_PATH = 0x800000 ++ O_RDONLY = 0x0 ++ O_RDWR = 0x2 ++ O_RSYNC = 0x404000 ++ O_SYNC = 0x404000 ++ O_TMPFILE = 0x1008000 ++ 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 = 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 ++ RLIMIT_MEMLOCK = 0x9 ++ 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_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_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_SEIZE = 0x4206 ++ PTRACE_SETFPREGS = 0xf ++ 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 = 0x7 ++ RLIMIT_CORE = 0x4 ++ RLIMIT_CPU = 0x0 ++ RLIMIT_DATA = 0x2 ++ RLIMIT_FSIZE = 0x1 ++ RLIMIT_NOFILE = 0x6 ++ RLIMIT_STACK = 0x3 ++ RLIM_INFINITY = 0x7fffffffffffffff ++ 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 ++ RTC_SET_TIME = 0x8024700a ++ RTC_RD_TIME = 0x40247009 ++ 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 = 0x40047307 ++ 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 = 0x40047309 ++ 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 = 0x80047308 ++ SIOCSRARP = 0x8962 ++ SIOCWANDEV = 0x894a ++ SOCK_CLOEXEC = 0x200000 ++ SOCK_DCCP = 0x6 ++ SOCK_DGRAM = 0x2 ++ SOCK_NONBLOCK = 0x40000000 ++ SOCK_PACKET = 0xa ++ SOCK_RAW = 0x3 ++ SOCK_RDM = 0x4 ++ SOCK_SEQPACKET = 0x5 ++ SOCK_STREAM = 0x1 ++ 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 = 0x1014 ++ 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 = 0x100b ++ SO_RCVLOWAT = 0x1010 ++ SO_RCVTIMEO = 0x1012 ++ SO_REUSEADDR = 0x4 ++ SO_REUSEPORT = 0x200 ++ SO_RXQ_OVFL = 0x28 ++ SO_SECURITY_AUTHENTICATION = 0x13 ++ SO_SECURITY_ENCRYPTION_NETWORK = 0x15 ++ SO_SECURITY_ENCRYPTION_TRANSPORT = 0x14 ++ SO_SELECT_ERR_QUEUE = 0x2d ++ SO_SNDBUF = 0x1001 ++ SO_SNDBUFFORCE = 0x100a ++ SO_SNDLOWAT = 0x1011 ++ SO_SNDTIMEO = 0x1013 ++ 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 ++ 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 = 0x2000741f ++ TCGETA = 0x40127417 ++ TCGETS = 0x402c7413 ++ TCIFLUSH = 0x0 ++ TCIOFLUSH = 0x2 ++ TCOFLUSH = 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 ++ TCSETA = 0x80127418 ++ TCSETAF = 0x8012741c ++ TCSETAW = 0x80127419 ++ TCSETS = 0x802c7414 ++ TCSETSF = 0x802c7416 ++ TCSETSW = 0x802c7415 ++ TIOCCBRK = 0x5428 ++ TIOCCONS = 0x541d ++ TIOCEXCL = 0x540c ++ TIOCGDEV = 0x40045432 ++ TIOCGETD = 0x5424 ++ TIOCGEXCL = 0x40045440 ++ TIOCGICOUNT = 0x545d ++ TIOCGLCKTRMIOS = 0x5456 ++ TIOCGPGRP = 0x40047477 ++ TIOCGPKT = 0x40045438 ++ TIOCGPTLCK = 0x40045439 ++ TIOCGPTN = 0x40045430 ++ TIOCGSERIAL = 0x541e ++ TIOCGSID = 0x5429 ++ TIOCGSOFTCAR = 0x5419 ++ 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 ++ TIOCSETD = 0x5423 ++ TIOCSIG = 0x80045436 ++ TIOCSLCKTRMIOS = 0x5457 ++ TIOCSPGRP = 0x80047476 ++ TIOCSPTLCK = 0x80045431 ++ TIOCSSERIAL = 0x541f ++ TIOCSSOFTCAR = 0x541a ++ TIOCSTART = 0x2000746e ++ TIOCSTI = 0x5412 ++ TIOCSTOP = 0x2000746f ++ TIOCVHANGUP = 0x5437 ++ TIPC_SERVICE_ADDR = 0x2 ++ TIPC_SERVICE_RANGE = 0x1 ++ TIPC_SOCKET_ADDR = 0x3 ++ TOSTOP = 0x400000 ++ 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 = 0xf ++ VEOF = 0x0 ++ VEOL = 0x1 ++ VEOL2 = 0x2 ++ VERASE = 0x3 ++ VINTR = 0x8 ++ VKILL = 0x5 ++ VLNEXT = 0xe ++ VMADDR_PORT_ANY = 0xffffffff ++ VMIN = 0x10 ++ VQUIT = 0x9 ++ VREPRINT = 0x6 ++ VSTART = 0xc ++ VSTOP = 0xd ++ VSUSP = 0xa ++ VSWTC = 0x7 ++ VT0 = 0x0 ++ VT1 = 0x10000 ++ VTDLY = 0x10000 ++ VTIME = 0x11 ++ VWERASE = 0x4 ++ 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(0x30) ++ EADDRNOTAVAIL = syscall.Errno(0x31) ++ EADV = syscall.Errno(0x6b) ++ EAFNOSUPPORT = syscall.Errno(0x2f) ++ EAGAIN = syscall.Errno(0x23) ++ EALREADY = syscall.Errno(0x25) ++ EBADE = syscall.Errno(0x61) ++ EBADF = syscall.Errno(0x9) ++ EBADFD = syscall.Errno(0x72) ++ EBADMSG = syscall.Errno(0x54) ++ EBADR = syscall.Errno(0x62) ++ EBADRQC = syscall.Errno(0x65) ++ EBADSLT = syscall.Errno(0x66) ++ EBFONT = syscall.Errno(0x68) ++ EBUSY = syscall.Errno(0x10) ++ ECANCELED = syscall.Errno(0x83) ++ ECHILD = syscall.Errno(0xa) ++ ECHRNG = syscall.Errno(0x58) ++ ECOMM = syscall.Errno(0x6d) ++ ECONNABORTED = syscall.Errno(0x35) ++ ECONNREFUSED = syscall.Errno(0x3d) ++ ECONNRESET = syscall.Errno(0x36) ++ EDEADLK = syscall.Errno(0xb) ++ EDEADLOCK = syscall.Errno(0xb) ++ EDESTADDRREQ = syscall.Errno(0x27) ++ EDOM = syscall.Errno(0x21) ++ EDOTDOT = syscall.Errno(0x6f) ++ 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(0x8b) ++ EIDRM = syscall.Errno(0x51) ++ EILSEQ = syscall.Errno(0x74) ++ 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(0x85) ++ EKEYREJECTED = syscall.Errno(0x87) ++ EKEYREVOKED = syscall.Errno(0x86) ++ EL2HLT = syscall.Errno(0x60) ++ EL2NSYNC = syscall.Errno(0x59) ++ EL3HLT = syscall.Errno(0x5a) ++ EL3RST = syscall.Errno(0x5b) ++ ELIBACC = syscall.Errno(0x7a) ++ ELIBBAD = syscall.Errno(0x7b) ++ ELIBEXEC = syscall.Errno(0x7e) ++ ELIBMAX = syscall.Errno(0x7d) ++ ELIBSCN = syscall.Errno(0x7c) ++ ELNRNG = syscall.Errno(0x5d) ++ ELOOP = syscall.Errno(0x3e) ++ EMEDIUMTYPE = syscall.Errno(0x82) ++ EMFILE = syscall.Errno(0x18) ++ EMLINK = syscall.Errno(0x1f) ++ EMSGSIZE = syscall.Errno(0x28) ++ EMULTIHOP = syscall.Errno(0x6e) ++ 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(0x64) ++ ENOBUFS = syscall.Errno(0x37) ++ ENOCSI = syscall.Errno(0x5f) ++ ENODATA = syscall.Errno(0x56) ++ ENODEV = syscall.Errno(0x13) ++ ENOENT = syscall.Errno(0x2) ++ ENOEXEC = syscall.Errno(0x8) ++ ENOKEY = syscall.Errno(0x84) ++ ENOLCK = syscall.Errno(0x4d) ++ ENOLINK = syscall.Errno(0x6a) ++ ENOMEDIUM = syscall.Errno(0x81) ++ ENOMEM = syscall.Errno(0xc) ++ ENOMSG = syscall.Errno(0x50) ++ ENONET = syscall.Errno(0x69) ++ ENOPKG = syscall.Errno(0x5c) ++ ENOPROTOOPT = syscall.Errno(0x2a) ++ ENOSPC = syscall.Errno(0x1c) ++ ENOSR = syscall.Errno(0x52) ++ ENOSTR = syscall.Errno(0x57) ++ ENOSYS = syscall.Errno(0x4e) ++ ENOTBLK = syscall.Errno(0xf) ++ ENOTCONN = syscall.Errno(0x39) ++ ENOTDIR = syscall.Errno(0x14) ++ ENOTEMPTY = syscall.Errno(0x42) ++ ENOTNAM = syscall.Errno(0x76) ++ ENOTRECOVERABLE = syscall.Errno(0x89) ++ ENOTSOCK = syscall.Errno(0x26) ++ ENOTSUP = syscall.Errno(0x2d) ++ ENOTTY = syscall.Errno(0x19) ++ ENOTUNIQ = syscall.Errno(0x71) ++ ENXIO = syscall.Errno(0x6) ++ EOPNOTSUPP = syscall.Errno(0x2d) ++ EOVERFLOW = syscall.Errno(0x70) ++ EOWNERDEAD = syscall.Errno(0x88) ++ EPERM = syscall.Errno(0x1) ++ EPFNOSUPPORT = syscall.Errno(0x2e) ++ EPIPE = syscall.Errno(0x20) ++ EPROTO = syscall.Errno(0x55) ++ EPROTONOSUPPORT = syscall.Errno(0x2b) ++ EPROTOTYPE = syscall.Errno(0x29) ++ ERANGE = syscall.Errno(0x22) ++ EREMCHG = syscall.Errno(0x73) ++ EREMOTE = syscall.Errno(0x47) ++ EREMOTEIO = syscall.Errno(0x79) ++ ERESTART = syscall.Errno(0x7f) ++ ERFKILL = syscall.Errno(0x8a) ++ EROFS = syscall.Errno(0x1e) ++ ESHUTDOWN = syscall.Errno(0x3a) ++ ESOCKTNOSUPPORT = syscall.Errno(0x2c) ++ ESPIPE = syscall.Errno(0x1d) ++ ESRCH = syscall.Errno(0x3) ++ ESRMNT = syscall.Errno(0x6c) ++ ESTALE = syscall.Errno(0x46) ++ ESTRPIPE = syscall.Errno(0x80) ++ ETIME = syscall.Errno(0x53) ++ ETIMEDOUT = syscall.Errno(0x3c) ++ ETOOMANYREFS = syscall.Errno(0x3b) ++ ETXTBSY = syscall.Errno(0x1a) ++ EUCLEAN = syscall.Errno(0x75) ++ EUNATCH = syscall.Errno(0x5e) ++ EUSERS = syscall.Errno(0x44) ++ EWOULDBLOCK = syscall.Errno(0x23) ++ EXDEV = syscall.Errno(0x12) ++ EXFULL = syscall.Errno(0x63) ++) ++ ++// 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) ++ SIGINFO = syscall.Signal(0x1d) ++ SIGINT = syscall.Signal(0x2) ++ SIGIO = syscall.Signal(0x17) ++ SIGIOT = syscall.Signal(0x6) ++ SIGKILL = syscall.Signal(0x9) ++ 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 deadlock avoided", ++ 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 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", ++ 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", ++ 68: "too many users", ++ 69: "disk quota exceeded", ++ 70: "stale file handle", ++ 71: "object is remote", ++ 77: "no locks available", ++ 78: "function not implemented", ++ 80: "no message of desired type", ++ 81: "identifier removed", ++ 82: "out of streams resources", ++ 83: "timer expired", ++ 84: "bad message", ++ 85: "protocol error", ++ 86: "no data available", ++ 87: "device not a stream", ++ 88: "channel number out of range", ++ 89: "level 2 not synchronized", ++ 90: "level 3 halted", ++ 91: "level 3 reset", ++ 92: "package not installed", ++ 93: "link number out of range", ++ 94: "protocol driver not attached", ++ 95: "no CSI structure available", ++ 96: "level 2 halted", ++ 97: "invalid exchange", ++ 98: "invalid request descriptor", ++ 99: "exchange full", ++ 100: "no anode", ++ 101: "invalid request code", ++ 102: "invalid slot", ++ 104: "bad font file format", ++ 105: "machine is not on the network", ++ 106: "link has been severed", ++ 107: "advertise error", ++ 108: "srmount error", ++ 109: "communication error on send", ++ 110: "multihop attempted", ++ 111: "RFS specific error", ++ 112: "value too large for defined data type", ++ 113: "name not unique on network", ++ 114: "file descriptor in bad state", ++ 115: "remote address changed", ++ 116: "invalid or incomplete multibyte or wide character", ++ 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: "can not access a needed shared library", ++ 123: "accessing a corrupted shared library", ++ 124: ".lib section in a.out corrupted", ++ 125: "attempting to link in too many shared libraries", ++ 126: "cannot exec a shared library directly", ++ 127: "interrupted system call should be restarted", ++ 128: "streams pipe error", ++ 129: "no medium found", ++ 130: "wrong medium type", ++ 131: "operation canceled", ++ 132: "required key not available", ++ 133: "key has expired", ++ 134: "key has been revoked", ++ 135: "key was rejected by service", ++ 136: "owner died", ++ 137: "state not recoverable", ++ 138: "operation not possible due to RF-kill", ++ 139: "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: "information request", ++ 30: "user defined signal 1", ++ 31: "user defined signal 2", ++} ++// 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, "ENOMSG", "no message of desired type"}, ++ {36, "EIDRM", "identifier removed"}, ++ {37, "ECHRNG", "channel number out of range"}, ++ {38, "EL2NSYNC", "level 2 not synchronized"}, ++ {39, "EL3HLT", "level 3 halted"}, ++ {40, "EL3RST", "level 3 reset"}, ++ {41, "ELNRNG", "link number out of range"}, ++ {42, "EUNATCH", "protocol driver not attached"}, ++ {43, "ENOCSI", "no CSI structure available"}, ++ {44, "EL2HLT", "level 2 halted"}, ++ {45, "EDEADLK", "resource deadlock avoided"}, ++ {46, "ENOLCK", "no locks available"}, ++ {50, "EBADE", "invalid exchange"}, ++ {51, "EBADR", "invalid request descriptor"}, ++ {52, "EXFULL", "exchange full"}, ++ {53, "ENOANO", "no anode"}, ++ {54, "EBADRQC", "invalid request code"}, ++ {55, "EBADSLT", "invalid slot"}, ++ {56, "EDEADLOCK", "file locking deadlock error"}, ++ {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"}, ++ {73, "EDOTDOT", "RFS specific error"}, ++ {74, "EMULTIHOP", "multihop attempted"}, ++ {77, "EBADMSG", "bad message"}, ++ {78, "ENAMETOOLONG", "file name too long"}, ++ {79, "EOVERFLOW", "value too large for defined data type"}, ++ {80, "ENOTUNIQ", "name not unique on network"}, ++ {81, "EBADFD", "file descriptor in bad state"}, ++ {82, "EREMCHG", "remote address changed"}, ++ {83, "ELIBACC", "can not access a needed shared library"}, ++ {84, "ELIBBAD", "accessing a corrupted shared library"}, ++ {85, "ELIBSCN", ".lib section in a.out corrupted"}, ++ {86, "ELIBMAX", "attempting to link in too many shared libraries"}, ++ {87, "ELIBEXEC", "cannot exec a shared library directly"}, ++ {88, "EILSEQ", "invalid or incomplete multibyte or wide character"}, ++ {89, "ENOSYS", "function not implemented"}, ++ {90, "ELOOP", "too many levels of symbolic links"}, ++ {91, "ERESTART", "interrupted system call should be restarted"}, ++ {92, "ESTRPIPE", "streams pipe error"}, ++ {93, "ENOTEMPTY", "directory not empty"}, ++ {94, "EUSERS", "too many users"}, ++ {95, "ENOTSOCK", "socket operation on non-socket"}, ++ {96, "EDESTADDRREQ", "destination address required"}, ++ {97, "EMSGSIZE", "message too long"}, ++ {98, "EPROTOTYPE", "protocol wrong type for socket"}, ++ {99, "ENOPROTOOPT", "protocol not available"}, ++ {120, "EPROTONOSUPPORT", "protocol not supported"}, ++ {121, "ESOCKTNOSUPPORT", "socket type not supported"}, ++ {122, "ENOTSUP", "operation not supported"}, ++ {123, "EPFNOSUPPORT", "protocol family not supported"}, ++ {124, "EAFNOSUPPORT", "address family not supported by protocol"}, ++ {125, "EADDRINUSE", "address already in use"}, ++ {126, "EADDRNOTAVAIL", "cannot assign requested address"}, ++ {127, "ENETDOWN", "network is down"}, ++ {128, "ENETUNREACH", "network is unreachable"}, ++ {129, "ENETRESET", "network dropped connection on reset"}, ++ {130, "ECONNABORTED", "software caused connection abort"}, ++ {131, "ECONNRESET", "connection reset by peer"}, ++ {132, "ENOBUFS", "no buffer space available"}, ++ {133, "EISCONN", "transport endpoint is already connected"}, ++ {134, "ENOTCONN", "transport endpoint is not connected"}, ++ {135, "EUCLEAN", "structure needs cleaning"}, ++ {137, "ENOTNAM", "not a XENIX named type file"}, ++ {138, "ENAVAIL", "no XENIX semaphores available"}, ++ {139, "EISNAM", "is a named type file"}, ++ {140, "EREMOTEIO", "remote I/O error"}, ++ {141, "EINIT", "unknown error 141"}, ++ {142, "EREMDEV", "unknown error 142"}, ++ {143, "ESHUTDOWN", "cannot send after transport endpoint shutdown"}, ++ {144, "ETOOMANYREFS", "too many references: cannot splice"}, ++ {145, "ETIMEDOUT", "connection timed out"}, ++ {146, "ECONNREFUSED", "connection refused"}, ++ {147, "EHOSTDOWN", "host is down"}, ++ {148, "EHOSTUNREACH", "no route to host"}, ++ {149, "EALREADY", "operation already in progress"}, ++ {150, "EINPROGRESS", "operation now in progress"}, ++ {151, "ESTALE", "stale file handle"}, ++ {158, "ECANCELED", "operation canceled"}, ++ {159, "ENOMEDIUM", "no medium found"}, ++ {160, "EMEDIUMTYPE", "wrong medium type"}, ++ {161, "ENOKEY", "required key not available"}, ++ {162, "EKEYEXPIRED", "key has expired"}, ++ {163, "EKEYREVOKED", "key has been revoked"}, ++ {164, "EKEYREJECTED", "key was rejected by service"}, ++ {165, "EOWNERDEAD", "owner died"}, ++ {166, "ENOTRECOVERABLE", "state not recoverable"}, ++ {167, "ERFKILL", "operation not possible due to RF-kill"}, ++ {168, "EHWPOISON", "memory page has hardware error"}, ++ {1133, "EDQUOT", "disk quota exceeded"}, ++} ++ ++// 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, "SIGEMT", "EMT trap"}, ++ {8, "SIGFPE", "floating point exception"}, ++ {9, "SIGKILL", "killed"}, ++ {10, "SIGBUS", "bus error"}, ++ {11, "SIGSEGV", "segmentation fault"}, ++ {12, "SIGSYS", "bad system call"}, ++ {13, "SIGPIPE", "broken pipe"}, ++ {14, "SIGALRM", "alarm clock"}, ++ {15, "SIGTERM", "terminated"}, ++ {16, "SIGURG", "urgent I/O condition"}, ++ {17, "SIGSTOP", "stopped (signal)"}, ++ {18, "SIGTSTP", "stopped"}, ++ {19, "SIGCONT", "continued"}, ++ {20, "SIGCHLD", "child exited"}, ++ {21, "SIGTTIN", "stopped (tty input)"}, ++ {22, "SIGTTOU", "stopped (tty output)"}, ++ {23, "SIGIO", "I/O possible"}, ++ {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, "SIGINFO", "power failure"}, ++ {30, "SIGUSR1", "user defined signal 1"}, ++ {31, "SIGUSR2", "user defined signal 2"}, ++} +diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_sw64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sw64.go +new file mode 100644 +index 0000000..3416863 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sw64.go +@@ -0,0 +1,2241 @@ ++// mksyscall.pl -tags linux,sw64 syscall_linux.go syscall_linux_sw64.go ++// Code generated by the command above; see README.md. DO NOT EDIT. ++ ++// +build linux,sw64 ++ ++package unix ++ ++import ( ++ "syscall" ++ "unsafe" ++) ++ ++var _ syscall.Errno ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func fchmodat(dirfd int, path string, mode uint32) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_FCHMODAT, 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 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 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 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 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 keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(keyType) ++ if err != nil { ++ return ++ } ++ var _p1 *byte ++ _p1, err = BytePtrFromString(restriction) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall6(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), uintptr(unsafe.Pointer(_p0)), 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 keyctlRestrictKeyring(cmd int, arg2 int) (err error) { ++ _, _, e1 := Syscall(SYS_KEYCTL, uintptr(cmd), uintptr(arg2), 0) ++ 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 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 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 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 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 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 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 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 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 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 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 signalfd(fd int, sigmask *Sigset_t, maskSize uintptr, flags int) (newfd int, err error) { ++ r0, _, e1 := Syscall6(SYS_SIGNALFD4, uintptr(fd), uintptr(unsafe.Pointer(sigmask)), uintptr(maskSize), uintptr(flags), 0, 0) ++ newfd = int(r0) ++ 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 readv(fd int, iovs []Iovec) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall(SYS_READV, uintptr(fd), uintptr(_p0), uintptr(len(iovs))) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func writev(fd int, iovs []Iovec) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall(SYS_WRITEV, uintptr(fd), uintptr(_p0), uintptr(len(iovs))) ++ n = int(r0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func preadv(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PREADV, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 pwritev(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PWRITEV, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 preadv2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PREADV2, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 pwritev2(fd int, iovs []Iovec, offs_l uintptr, offs_h uintptr, flags int) (n int, err error) { ++ var _p0 unsafe.Pointer ++ if len(iovs) > 0 { ++ _p0 = unsafe.Pointer(&iovs[0]) ++ } else { ++ _p0 = unsafe.Pointer(&_zero) ++ } ++ r0, _, e1 := Syscall6(SYS_PWRITEV2, uintptr(fd), uintptr(_p0), uintptr(len(iovs)), uintptr(offs_l), uintptr(offs_h), 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 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 faccessat(dirfd int, path string, mode uint32) (err error) { ++ var _p0 *byte ++ _p0, err = BytePtrFromString(path) ++ if err != nil { ++ return ++ } ++ _, _, e1 := Syscall(SYS_FACCESSAT, 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 getxpid() (pid int, ppid int) { ++ r0, r1, _ := RawSyscall(SYS_GETXPID, 0, 0, 0) ++ pid = int(r0) ++ ppid = int(r1) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Fstat64(fd int, st *Stat_t) (err error) { ++ _, _, e1 := Syscall(SYS_FSTAT64, 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 Lstat64(path string, st *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(st)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func Stat64(path string, st *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(st)), 0) ++ if e1 != 0 { ++ err = errnoErr(e1) ++ } ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getxuid() (uid int, euid int) { ++ r0, r1, _ := Syscall(SYS_GETXUID, 0, 0, 0) ++ uid = int(r0) ++ euid = int(r1) ++ return ++} ++ ++// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT ++ ++func getxgid() (gid int, egid int) { ++ r0, r1, _ := Syscall(SYS_GETXGID, 0, 0, 0) ++ gid = int(r0) ++ egid = int(r1) ++ 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 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 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 := 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 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 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 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 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 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 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 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 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 ++} ++ ++// 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 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 ++} ++ +diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sw64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sw64.go +new file mode 100644 +index 0000000..ae66436 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sw64.go +@@ -0,0 +1,447 @@ ++// mksysnum_linux.pl /usr/sw/swgcc530-sw6-cross/usr/include/asm/unistd.h ++// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT ++ ++// +build sw64,linux ++ ++package unix ++ ++const ( ++ SYS_OSF_SYSCALL = 0 ++ SYS_EXIT = 1 ++ SYS_FORK = 2 ++ SYS_READ = 3 ++ SYS_WRITE = 4 ++ SYS_OSF_OLD_OPEN = 5 ++ SYS_CLOSE = 6 ++ SYS_OSF_WAIT4 = 7 ++ SYS_OSF_OLD_CREAT = 8 ++ SYS_LINK = 9 ++ SYS_UNLINK = 10 ++ SYS_OSF_EXECVE = 11 ++ SYS_CHDIR = 12 ++ SYS_FCHDIR = 13 ++ SYS_MKNOD = 14 ++ SYS_CHMOD = 15 ++ SYS_CHOWN = 16 ++ SYS_BRK = 17 ++ SYS_OSF_GETFSSTAT = 18 ++ SYS_LSEEK = 19 ++ SYS_GETXPID = 20 ++ SYS_OSF_MOUNT = 21 ++ SYS_UMOUNT = 22 ++ SYS_SETUID = 23 ++ SYS_GETXUID = 24 ++ SYS_EXEC_WITH_LOADER = 25 ++ SYS_PTRACE = 26 ++ SYS_OSF_NRECVMSG = 27 ++ SYS_OSF_NSENDMSG = 28 ++ SYS_OSF_NRECVFROM = 29 ++ SYS_OSF_NACCEPT = 30 ++ SYS_OSF_NGETPEERNAME = 31 ++ SYS_OSF_NGETSOCKNAME = 32 ++ SYS_ACCESS = 33 ++ SYS_OSF_CHFLAGS = 34 ++ SYS_OSF_FCHFLAGS = 35 ++ SYS_SYNC = 36 ++ SYS_KILL = 37 ++ SYS_OSF_OLD_STAT = 38 ++ SYS_SETPGID = 39 ++ SYS_OSF_OLD_LSTAT = 40 ++ SYS_DUP = 41 ++ SYS_PIPE = 42 ++ SYS_OSF_SET_PROGRAM_ATTRIBUTES = 43 ++ SYS_OSF_PROFIL = 44 ++ SYS_OPEN = 45 ++ SYS_OSF_OLD_SIGACTION = 46 ++ SYS_GETXGID = 47 ++ SYS_OSF_SIGPROCMASK = 48 ++ SYS_OSF_GETLOGIN = 49 ++ SYS_OSF_SETLOGIN = 50 ++ SYS_ACCT = 51 ++ SYS_SIGPENDING = 52 ++ SYS_IOCTL = 54 ++ SYS_OSF_REBOOT = 55 ++ SYS_OSF_REVOKE = 56 ++ SYS_SYMLINK = 57 ++ SYS_READLINK = 58 ++ SYS_EXECVE = 59 ++ SYS_UMASK = 60 ++ SYS_CHROOT = 61 ++ SYS_OSF_OLD_FSTAT = 62 ++ SYS_GETPGRP = 63 ++ SYS_GETPAGESIZE = 64 ++ SYS_OSF_MREMAP = 65 ++ SYS_VFORK = 66 ++ SYS_STAT = 67 ++ SYS_LSTAT = 68 ++ SYS_OSF_SBRK = 69 ++ SYS_OSF_SSTK = 70 ++ SYS_MMAP = 71 ++ SYS_OSF_OLD_VADVISE = 72 ++ SYS_MUNMAP = 73 ++ SYS_MPROTECT = 74 ++ SYS_MADVISE = 75 ++ SYS_VHANGUP = 76 ++ SYS_OSF_KMODCALL = 77 ++ SYS_OSF_MINCORE = 78 ++ SYS_GETGROUPS = 79 ++ SYS_SETGROUPS = 80 ++ SYS_OSF_OLD_GETPGRP = 81 ++ SYS_SETPGRP = 82 ++ SYS_OSF_SETITIMER = 83 ++ SYS_OSF_OLD_WAIT = 84 ++ SYS_OSF_TABLE = 85 ++ SYS_OSF_GETITIMER = 86 ++ SYS_GETHOSTNAME = 87 ++ SYS_SETHOSTNAME = 88 ++ SYS_GETDTABLESIZE = 89 ++ SYS_DUP2 = 90 ++ SYS_FSTAT = 91 ++ SYS_FCNTL = 92 ++ SYS_OSF_SELECT = 93 ++ SYS_POLL = 94 ++ SYS_FSYNC = 95 ++ SYS_SETPRIORITY = 96 ++ SYS_SOCKET = 97 ++ SYS_CONNECT = 98 ++ SYS_ACCEPT = 99 ++ SYS_GETPRIORITY = 100 ++ SYS_SEND = 101 ++ SYS_RECV = 102 ++ SYS_SIGRETURN = 103 ++ SYS_BIND = 104 ++ SYS_SETSOCKOPT = 105 ++ SYS_LISTEN = 106 ++ SYS_OSF_PLOCK = 107 ++ SYS_OSF_OLD_SIGVEC = 108 ++ SYS_OSF_OLD_SIGBLOCK = 109 ++ SYS_OSF_OLD_SIGSETMASK = 110 ++ SYS_SIGSUSPEND = 111 ++ SYS_OSF_SIGSTACK = 112 ++ SYS_RECVMSG = 113 ++ SYS_SENDMSG = 114 ++ SYS_OSF_OLD_VTRACE = 115 ++ SYS_OSF_GETTIMEOFDAY = 116 ++ SYS_OSF_GETRUSAGE = 117 ++ SYS_GETSOCKOPT = 118 ++ SYS_READV = 120 ++ SYS_WRITEV = 121 ++ SYS_OSF_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_SETGID = 132 ++ SYS_SENDTO = 133 ++ SYS_SHUTDOWN = 134 ++ SYS_SOCKETPAIR = 135 ++ SYS_MKDIR = 136 ++ SYS_RMDIR = 137 ++ SYS_OSF_UTIMES = 138 ++ SYS_OSF_OLD_SIGRETURN = 139 ++ SYS_OSF_ADJTIME = 140 ++ SYS_GETPEERNAME = 141 ++ SYS_OSF_GETHOSTID = 142 ++ SYS_OSF_SETHOSTID = 143 ++ SYS_GETRLIMIT = 144 ++ SYS_SETRLIMIT = 145 ++ SYS_OSF_OLD_KILLPG = 146 ++ SYS_SETSID = 147 ++ SYS_QUOTACTL = 148 ++ SYS_OSF_OLDQUOTA = 149 ++ SYS_GETSOCKNAME = 150 ++ SYS_OSF_PID_BLOCK = 153 ++ SYS_OSF_PID_UNBLOCK = 154 ++ SYS_SIGACTION = 156 ++ SYS_OSF_SIGWAITPRIM = 157 ++ SYS_OSF_NFSSVC = 158 ++ SYS_OSF_GETDIRENTRIES = 159 ++ SYS_OSF_STATFS = 160 ++ SYS_OSF_FSTATFS = 161 ++ SYS_OSF_ASYNCH_DAEMON = 163 ++ SYS_OSF_GETFH = 164 ++ SYS_OSF_GETDOMAINNAME = 165 ++ SYS_SETDOMAINNAME = 166 ++ SYS_OSF_EXPORTFS = 169 ++ SYS_BPF = 170 ++ SYS_OSF_ALT_PLOCK = 181 ++ SYS_OSF_GETMNT = 184 ++ SYS_OSF_ALT_SIGPENDING = 187 ++ SYS_OSF_ALT_SETSID = 188 ++ SYS_OSF_SWAPON = 199 ++ SYS_MSGCTL = 200 ++ SYS_MSGGET = 201 ++ SYS_MSGRCV = 202 ++ SYS_MSGSND = 203 ++ SYS_SEMCTL = 204 ++ SYS_SEMGET = 205 ++ SYS_SEMOP = 206 ++ SYS_OSF_UTSNAME = 207 ++ SYS_LCHOWN = 208 ++ SYS_OSF_SHMAT = 209 ++ SYS_SHMCTL = 210 ++ SYS_SHMDT = 211 ++ SYS_SHMGET = 212 ++ SYS_OSF_MVALID = 213 ++ SYS_OSF_GETADDRESSCONF = 214 ++ SYS_OSF_MSLEEP = 215 ++ SYS_OSF_MWAKEUP = 216 ++ SYS_MSYNC = 217 ++ SYS_OSF_SIGNAL = 218 ++ SYS_OSF_UTC_GETTIME = 219 ++ SYS_OSF_UTC_ADJTIME = 220 ++ SYS_OSF_SECURITY = 222 ++ SYS_OSF_KLOADCALL = 223 ++ SYS_OSF_STAT = 224 ++ SYS_OSF_LSTAT = 225 ++ SYS_OSF_FSTAT = 226 ++ SYS_OSF_STATFS64 = 227 ++ SYS_OSF_FSTATFS64 = 228 ++ SYS_GETPGID = 233 ++ SYS_GETSID = 234 ++ SYS_SIGALTSTACK = 235 ++ SYS_OSF_WAITID = 236 ++ SYS_OSF_PRIOCNTLSET = 237 ++ SYS_OSF_SIGSENDSET = 238 ++ SYS_OSF_SET_SPECULATIVE = 239 ++ SYS_OSF_MSFS_SYSCALL = 240 ++ SYS_OSF_SYSINFO = 241 ++ SYS_OSF_UADMIN = 242 ++ SYS_OSF_FUSER = 243 ++ SYS_OSF_PROPLIST_SYSCALL = 244 ++ SYS_OSF_NTP_ADJTIME = 245 ++ SYS_OSF_NTP_GETTIME = 246 ++ SYS_OSF_PATHCONF = 247 ++ SYS_OSF_FPATHCONF = 248 ++ SYS_OSF_USWITCH = 250 ++ SYS_OSF_USLEEP_THREAD = 251 ++ SYS_OSF_AUDCNTL = 252 ++ SYS_OSF_AUDGEN = 253 ++ SYS_SYSFS = 254 ++ SYS_OSF_SUBSYS_INFO = 255 ++ SYS_OSF_GETSYSINFO = 256 ++ SYS_OSF_SETSYSINFO = 257 ++ SYS_OSF_AFS_SYSCALL = 258 ++ SYS_OSF_SWAPCTL = 259 ++ SYS_OSF_MEMCNTL = 260 ++ SYS_OSF_FDATASYNC = 261 ++ SYS_BDFLUSH = 300 ++ SYS_SETHAE = 301 ++ SYS_MOUNT = 302 ++ SYS_OLD_ADJTIMEX = 303 ++ SYS_SWAPOFF = 304 ++ SYS_GETDENTS = 305 ++ SYS_CREATE_MODULE = 306 ++ SYS_INIT_MODULE = 307 ++ SYS_DELETE_MODULE = 308 ++ SYS_GET_KERNEL_SYMS = 309 ++ SYS_SYSLOG = 310 ++ SYS_REBOOT = 311 ++ SYS_CLONE = 312 ++ SYS_USELIB = 313 ++ SYS_MLOCK = 314 ++ SYS_MUNLOCK = 315 ++ SYS_MLOCKALL = 316 ++ SYS_MUNLOCKALL = 317 ++ SYS_SYSINFO = 318 ++ SYS__SYSCTL = 319 ++ SYS_OLDUMOUNT = 321 ++ SYS_SWAPON = 322 ++ SYS_TIMES = 323 ++ SYS_PERSONALITY = 324 ++ SYS_SETFSUID = 325 ++ SYS_SETFSGID = 326 ++ SYS_USTAT = 327 ++ SYS_STATFS = 328 ++ SYS_FSTATFS = 329 ++ SYS_SCHED_SETPARAM = 330 ++ SYS_SCHED_GETPARAM = 331 ++ SYS_SCHED_SETSCHEDULER = 332 ++ SYS_SCHED_GETSCHEDULER = 333 ++ SYS_SCHED_YIELD = 334 ++ SYS_SCHED_GET_PRIORITY_MAX = 335 ++ SYS_SCHED_GET_PRIORITY_MIN = 336 ++ SYS_SCHED_RR_GET_INTERVAL = 337 ++ SYS_AFS_SYSCALL = 338 ++ SYS_UNAME = 339 ++ SYS_NANOSLEEP = 340 ++ SYS_MREMAP = 341 ++ SYS_NFSSERVCTL = 342 ++ SYS_SETRESUID = 343 ++ SYS_GETRESUID = 344 ++ SYS_PCICONFIG_READ = 345 ++ SYS_PCICONFIG_WRITE = 346 ++ SYS_QUERY_MODULE = 347 ++ SYS_PRCTL = 348 ++ SYS_PREAD64 = 349 ++ SYS_PWRITE64 = 350 ++ SYS_RT_SIGRETURN = 351 ++ SYS_RT_SIGACTION = 352 ++ SYS_RT_SIGPROCMASK = 353 ++ SYS_RT_SIGPENDING = 354 ++ SYS_RT_SIGTIMEDWAIT = 355 ++ SYS_RT_SIGQUEUEINFO = 356 ++ SYS_RT_SIGSUSPEND = 357 ++ SYS_SELECT = 358 ++ SYS_GETTIMEOFDAY = 359 ++ SYS_SETTIMEOFDAY = 360 ++ SYS_GETITIMER = 361 ++ SYS_SETITIMER = 362 ++ SYS_UTIMES = 363 ++ SYS_GETRUSAGE = 364 ++ SYS_WAIT4 = 365 ++ SYS_ADJTIMEX = 366 ++ SYS_GETCWD = 367 ++ SYS_CAPGET = 368 ++ SYS_CAPSET = 369 ++ SYS_SENDFILE = 370 ++ SYS_SETRESGID = 371 ++ SYS_GETRESGID = 372 ++ SYS_DIPC = 373 ++ SYS_PIVOT_ROOT = 374 ++ SYS_MINCORE = 375 ++ SYS_PCICONFIG_IOBASE = 376 ++ SYS_GETDENTS64 = 377 ++ SYS_GETTID = 378 ++ SYS_READAHEAD = 379 ++ SYS_TKILL = 381 ++ SYS_SETXATTR = 382 ++ SYS_LSETXATTR = 383 ++ SYS_FSETXATTR = 384 ++ SYS_GETXATTR = 385 ++ SYS_LGETXATTR = 386 ++ SYS_FGETXATTR = 387 ++ SYS_LISTXATTR = 388 ++ SYS_LLISTXATTR = 389 ++ SYS_FLISTXATTR = 390 ++ SYS_REMOVEXATTR = 391 ++ SYS_LREMOVEXATTR = 392 ++ SYS_FREMOVEXATTR = 393 ++ SYS_FUTEX = 394 ++ SYS_SCHED_SETAFFINITY = 395 ++ SYS_SCHED_GETAFFINITY = 396 ++ SYS_TUXCALL = 397 ++ SYS_IO_SETUP = 398 ++ SYS_IO_DESTROY = 399 ++ SYS_IO_GETEVENTS = 400 ++ SYS_IO_SUBMIT = 401 ++ SYS_IO_CANCEL = 402 ++ SYS_EXIT_GROUP = 405 ++ SYS_LOOKUP_DCOOKIE = 406 ++ SYS_EPOLL_CREATE = 407 ++ SYS_EPOLL_CTL = 408 ++ SYS_EPOLL_WAIT = 409 ++ SYS_REMAP_FILE_PAGES = 410 ++ SYS_SET_TID_ADDRESS = 411 ++ SYS_RESTART_SYSCALL = 412 ++ SYS_FADVISE64 = 413 ++ SYS_TIMER_CREATE = 414 ++ SYS_TIMER_SETTIME = 415 ++ SYS_TIMER_GETTIME = 416 ++ SYS_TIMER_GETOVERRUN = 417 ++ SYS_TIMER_DELETE = 418 ++ SYS_CLOCK_SETTIME = 419 ++ SYS_CLOCK_GETTIME = 420 ++ SYS_CLOCK_GETRES = 421 ++ SYS_CLOCK_NANOSLEEP = 422 ++ SYS_SEMTIMEDOP = 423 ++ SYS_TGKILL = 424 ++ SYS_STAT64 = 425 ++ SYS_LSTAT64 = 426 ++ SYS_FSTAT64 = 427 ++ SYS_VSERVER = 428 ++ SYS_MBIND = 429 ++ SYS_GET_MEMPOLICY = 430 ++ SYS_SET_MEMPOLICY = 431 ++ SYS_MQ_OPEN = 432 ++ SYS_MQ_UNLINK = 433 ++ SYS_MQ_TIMEDSEND = 434 ++ SYS_MQ_TIMEDRECEIVE = 435 ++ SYS_MQ_NOTIFY = 436 ++ SYS_MQ_GETSETATTR = 437 ++ SYS_WAITID = 438 ++ SYS_ADD_KEY = 439 ++ SYS_REQUEST_KEY = 440 ++ SYS_KEYCTL = 441 ++ SYS_IOPRIO_SET = 442 ++ SYS_IOPRIO_GET = 443 ++ SYS_INOTIFY_INIT = 444 ++ SYS_INOTIFY_ADD_WATCH = 445 ++ SYS_INOTIFY_RM_WATCH = 446 ++ SYS_FDATASYNC = 447 ++ SYS_KEXEC_LOAD = 448 ++ SYS_MIGRATE_PAGES = 449 ++ SYS_OPENAT = 450 ++ SYS_MKDIRAT = 451 ++ SYS_MKNODAT = 452 ++ SYS_FCHOWNAT = 453 ++ SYS_FUTIMESAT = 454 ++ SYS_FSTATAT64 = 455 ++ SYS_FSTATAT = 455 ++ SYS_UNLINKAT = 456 ++ SYS_RENAMEAT = 457 ++ SYS_LINKAT = 458 ++ SYS_SYMLINKAT = 459 ++ SYS_READLINKAT = 460 ++ SYS_FCHMODAT = 461 ++ SYS_FACCESSAT = 462 ++ SYS_PSELECT6 = 463 ++ SYS_PPOLL = 464 ++ SYS_UNSHARE = 465 ++ SYS_SET_ROBUST_LIST = 466 ++ SYS_GET_ROBUST_LIST = 467 ++ SYS_SPLICE = 468 ++ SYS_SYNC_FILE_RANGE = 469 ++ SYS_TEE = 470 ++ SYS_VMSPLICE = 471 ++ SYS_MOVE_PAGES = 472 ++ SYS_GETCPU = 473 ++ SYS_EPOLL_PWAIT = 474 ++ SYS_UTIMENSAT = 475 ++ SYS_SIGNALFD = 476 ++ SYS_TIMERFD = 477 ++ SYS_EVENTFD = 478 ++ SYS_RECVMMSG = 479 ++ SYS_FALLOCATE = 480 ++ SYS_TIMERFD_CREATE = 481 ++ SYS_TIMERFD_SETTIME = 482 ++ SYS_TIMERFD_GETTIME = 483 ++ SYS_SIGNALFD4 = 484 ++ SYS_EVENTFD2 = 485 ++ SYS_EPOLL_CREATE1 = 486 ++ SYS_DUP3 = 487 ++ SYS_PIPE2 = 488 ++ SYS_INOTIFY_INIT1 = 489 ++ SYS_PREADV = 490 ++ SYS_PWRITEV = 491 ++ SYS_RT_TGSIGQUEUEINFO = 492 ++ SYS_PERF_EVENT_OPEN = 493 ++ SYS_FANOTIFY_INIT = 494 ++ SYS_FANOTIFY_MARK = 495 ++ SYS_PRLIMIT64 = 496 ++ SYS_NAME_TO_HANDLE_AT = 497 ++ SYS_OPEN_BY_HANDLE_AT = 498 ++ SYS_CLOCK_ADJTIME = 499 ++ SYS_SYNCFS = 500 ++ SYS_SETNS = 501 ++ SYS_ACCEPT4 = 502 ++ SYS_SENDMMSG = 503 ++ SYS_PROCESS_VM_READV = 504 ++ SYS_PROCESS_VM_WRITEV = 505 ++ SYS_KCMP = 506 ++ SYS_FINIT_MODULE = 507 ++ SYS_SCHED_SETATTR = 508 ++ SYS_SCHED_GETATTR = 509 ++ SYS_RENAMEAT2 = 510 ++ SYS_GETRANDOM = 511 ++ SYS_MEMFD_CREATE = 512 ++ SYS_EXECVEAT = 513 ++ SYS_PREADV2 = 516 ++ SYS_PWRITEV2 = 517 ++ SYS_STATX = 518 ++) +diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sw64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sw64.go +new file mode 100644 +index 0000000..f678270 +--- /dev/null ++++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sw64.go +@@ -0,0 +1,2001 @@ ++// cgo -godefs linux/types.go ++ ++// +build sw64,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 ++ 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 ++ Rdev uint64 ++ Size int64 ++ Blocks int64 ++ Mode uint32 ++ Uid uint32 ++ Gid uint32 ++ Blksize uint32 ++ Nlink uint32 ++ X__pad2 int32 ++ Atim Timespec ++ Mtim Timespec ++ Ctim Timespec ++ X__glibc_reserved [3]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 ++} ++ ++type FscryptPolicy struct{} ++ ++type FscryptKey struct { ++ Mode uint32 ++ Raw [64]uint8 ++ Size uint32 ++} ++ ++type KeyctlDHParams struct{} ++ ++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 ++ SizeofSockaddrXDP = 0x10 ++ SizeofSockaddrPPPoX = 0x1e ++ SizeofSockaddrTIPC = 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 ++ SizeofSockaddrL2 = 0xe ++ SizeofSockaddrRFCOMM = 0xa ++ SizeofCanFilter = 0x8 ++) ++ ++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_GSO_MAX_SEGS =0x28 ++ IFLA_GSO_MAX_SIZE =0x29 ++ 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 ++ IFLA_EXT_MASK = 0x1d ++ IFLA_AF_SPEC = 0x1a ++ IFLA_VFINFO_LIST = 0x16 ++ IFLA_NET_NS_FD = 0x1c ++ IFLA_NUM_TX_QUEUES = 0x1f ++ IFLA_STATS64 = 0x17 ++ IFLA_XDP = 0x2b ++ IFLA_LINK_NETNSID = 0x25 ++ IFLA_NUM_RX_QUEUES = 0x20 ++ 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{} ++ ++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]byte ++ Nodename [65]byte ++ Release [65]byte ++ Version [65]byte ++ Machine [65]byte ++ Domainname [65]byte ++} ++ ++type Ustat_t struct { ++ Tfree int32 ++ Tinode uint32 ++ Fname [6]int8 ++ Fpack [6]int8 ++} ++ ++type EpollEvent struct { ++ Events uint32 ++ _ uint32 ++ Fd int32 ++ Pad int32 ++} ++ ++const ( ++ AT_FDCWD = -0x64 ++ AT_REMOVEDIR = 0x200 ++ AT_SYMLINK_FOLLOW = 0x400 ++ AT_SYMLINK_NOFOLLOW = 0x100 ++ AT_EMPTY_PATH = 0x1000 ++ AT_NO_AUTOMOUNT = 0x800 ++ AT_STATX_SYNC_AS_STAT = 0x0 ++ AT_STATX_FORCE_SYNC = 0x2000 ++ AT_STATX_DONT_SYNC = 0x4000 ++ 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 { ++ X__val [16]uint64 ++} ++ ++const _C__NSIG = 0x41 ++ ++const RNDGETENTCNT = 0x40045200 ++ ++const PERF_IOC_FLAG_GROUP = 0x1 ++ ++const _SC_PAGESIZE = 0x1e ++ ++type Termios struct { ++ Iflag uint32 ++ Oflag uint32 ++ Cflag uint32 ++ Lflag uint32 ++ Cc [19]uint8 ++ Line 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]int8 ++ 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 = 0x8000000000000000 ++ CBitFieldMaskBit1 = 0x4000000000000000 ++ CBitFieldMaskBit2 = 0x2000000000000000 ++ CBitFieldMaskBit3 = 0x1000000000000000 ++ CBitFieldMaskBit4 = 0x800000000000000 ++ CBitFieldMaskBit5 = 0x400000000000000 ++ CBitFieldMaskBit6 = 0x200000000000000 ++ CBitFieldMaskBit7 = 0x100000000000000 ++ CBitFieldMaskBit8 = 0x80000000000000 ++ CBitFieldMaskBit9 = 0x40000000000000 ++ CBitFieldMaskBit10 = 0x20000000000000 ++ CBitFieldMaskBit11 = 0x10000000000000 ++ CBitFieldMaskBit12 = 0x8000000000000 ++ CBitFieldMaskBit13 = 0x4000000000000 ++ CBitFieldMaskBit14 = 0x2000000000000 ++ CBitFieldMaskBit15 = 0x1000000000000 ++ CBitFieldMaskBit16 = 0x800000000000 ++ CBitFieldMaskBit17 = 0x400000000000 ++ CBitFieldMaskBit18 = 0x200000000000 ++ CBitFieldMaskBit19 = 0x100000000000 ++ CBitFieldMaskBit20 = 0x80000000000 ++ CBitFieldMaskBit21 = 0x40000000000 ++ CBitFieldMaskBit22 = 0x20000000000 ++ CBitFieldMaskBit23 = 0x10000000000 ++ CBitFieldMaskBit24 = 0x8000000000 ++ CBitFieldMaskBit25 = 0x4000000000 ++ CBitFieldMaskBit26 = 0x2000000000 ++ CBitFieldMaskBit27 = 0x1000000000 ++ CBitFieldMaskBit28 = 0x800000000 ++ CBitFieldMaskBit29 = 0x400000000 ++ CBitFieldMaskBit30 = 0x200000000 ++ CBitFieldMaskBit31 = 0x100000000 ++ CBitFieldMaskBit32 = 0x80000000 ++ CBitFieldMaskBit33 = 0x40000000 ++ CBitFieldMaskBit34 = 0x20000000 ++ CBitFieldMaskBit35 = 0x10000000 ++ CBitFieldMaskBit36 = 0x8000000 ++ CBitFieldMaskBit37 = 0x4000000 ++ CBitFieldMaskBit38 = 0x2000000 ++ CBitFieldMaskBit39 = 0x1000000 ++ CBitFieldMaskBit40 = 0x800000 ++ CBitFieldMaskBit41 = 0x400000 ++ CBitFieldMaskBit42 = 0x200000 ++ CBitFieldMaskBit43 = 0x100000 ++ CBitFieldMaskBit44 = 0x80000 ++ CBitFieldMaskBit45 = 0x40000 ++ CBitFieldMaskBit46 = 0x20000 ++ CBitFieldMaskBit47 = 0x10000 ++ CBitFieldMaskBit48 = 0x8000 ++ CBitFieldMaskBit49 = 0x4000 ++ CBitFieldMaskBit50 = 0x2000 ++ CBitFieldMaskBit51 = 0x1000 ++ CBitFieldMaskBit52 = 0x800 ++ CBitFieldMaskBit53 = 0x400 ++ CBitFieldMaskBit54 = 0x200 ++ CBitFieldMaskBit55 = 0x100 ++ CBitFieldMaskBit56 = 0x80 ++ CBitFieldMaskBit57 = 0x40 ++ CBitFieldMaskBit58 = 0x20 ++ CBitFieldMaskBit59 = 0x10 ++ CBitFieldMaskBit60 = 0x8 ++ CBitFieldMaskBit61 = 0x4 ++ CBitFieldMaskBit62 = 0x2 ++ CBitFieldMaskBit63 = 0x1 ++) ++ ++type SockaddrStorage struct { ++ Family uint16 ++ _ [118]int8 ++ _ 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 ++ Frsize int64 ++ Blocks int64 ++ Bfree uint64 ++ Files uint64 ++ Ffree uint64 ++ Bavail uint64 ++ Fsid Fsid ++ Namelen int64 ++ Flags int64 ++ Spare [5]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 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 = 0x20001269 ++ 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 ++} ++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 RawSockaddrXDP struct { ++ Family uint16 ++ Flags uint16 ++ Ifindex uint32 ++ Queue_id uint32 ++ Shared_umem_fd uint32 ++} ++ ++type RawSockaddrPPPoX [0x1e]byte ++ ++type RawSockaddrTIPC struct { ++ Family uint16 ++ Addrtype uint8 ++ Scope int8 ++ Addr [12]byte ++} ++ ++type PacketMreq struct { ++ Ifindex int32 ++ Type uint16 ++ Alen uint16 ++ Address [8]uint8 ++} ++type CanFilter struct { ++ Id uint32 ++ Mask uint32 ++} ++ ++type TIPCSocketAddr struct { ++ Ref uint32 ++ Node uint32 ++} ++ ++type TIPCServiceRange struct { ++ Type uint32 ++ Lower uint32 ++ Upper uint32 ++} ++ ++type TIPCServiceName struct { ++ Type uint32 ++ Instance uint32 ++ Domain uint32 ++} +-- +2.33.0 + diff --git a/shim/series.conf b/shim/series.conf index 3508352..6b26fb1 100644 --- a/shim/series.conf +++ b/shim/series.conf @@ -1,3 +1,4 @@ 0001-kata-shim-fix-kata-shim-process-wait-long-tim.patch 0002-kata-shim-modify-make-flags.patch 0003-kata-shim-add-linkmode-to-resolve-build-error.patch +0004-kata-shim-sw64-add-sw64-architecture-support.patch -- Gitee